1 /***************************************************************************
2  *                                                                         *
3  *   copyright : (C) 2007 The University of Toronto                        *
4  *                   netterfield@astro.utoronto.ca                         *
5  *   copyright : (C) 2005  University of British Columbia                  *
6  *                   dscott@phas.ubc.ca                                    *
7  *                                                                         *
8  *   This program is free software; you can redistribute it and/or modify  *
9  *   it under the terms of the GNU General Public License as published by  *
10  *   the Free Software Foundation; either version 2 of the License, or     *
11  *   (at your option) any later version.                                   *
12  *                                                                         *
13  ***************************************************************************/
14 
15 #ifndef AUTOCORRELATIONPLUGIN_H
16 #define AUTOCORRELATIONPLUGIN_H
17 
18 #include <QFile>
19 
20 #include <basicplugin.h>
21 #include <dataobjectplugin.h>
22 
23 class AutoCorrelationSource : public Kst::BasicPlugin {
24   Q_OBJECT
25 
26   public:
27     virtual QString _automaticDescriptiveName() const;
28 
29     Kst::VectorPtr vector() const;
30 
31     virtual void change(Kst::DataObjectConfigWidget *configWidget);
32 
33     void setupOutputs();
34     virtual bool algorithm();
35 
36     virtual QStringList inputVectorList() const;
37     virtual QStringList inputScalarList() const;
38     virtual QStringList inputStringList() const;
39     virtual QStringList outputVectorList() const;
40     virtual QStringList outputScalarList() const;
41     virtual QStringList outputStringList() const;
42 
43     virtual void saveProperties(QXmlStreamWriter &s);
44 
45   protected:
46     AutoCorrelationSource(Kst::ObjectStore *store);
47     ~AutoCorrelationSource();
48 
49   friend class Kst::ObjectStore;
50 
51 
52 };
53 
54 
55 class AutoCorrelationPlugin : public QObject, public Kst::DataObjectPluginInterface {
56     Q_OBJECT
Q_INTERFACES(Kst::DataObjectPluginInterface)57     Q_INTERFACES(Kst::DataObjectPluginInterface)
58     Q_PLUGIN_METADATA(IID "com.kst.DataObjectPluginInterface/2.0")
59   public:
60     virtual ~AutoCorrelationPlugin() {}
61 
62     virtual QString pluginName() const;
63     virtual QString pluginDescription() const;
64 
pluginType()65     virtual DataObjectPluginInterface::PluginTypeID pluginType() const { return Generic; }
66 
hasConfigWidget()67     virtual bool hasConfigWidget() const { return true; }
68 
69     virtual Kst::DataObject *create(Kst::ObjectStore *store, Kst::DataObjectConfigWidget *configWidget, bool setupInputsOutputs = true) const;
70 
71     virtual Kst::DataObjectConfigWidget *configWidget(QSettings *settingsObject) const;
72 };
73 
74 #endif
75 // vim: ts=2 sw=2 et
76