scidavis  2.3.0
About: SciDAVis is a free application for Scientific Data Analysis and Visualization (a fork off of QtiPlot).
  Fossies Dox: scidavis-2.3.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

interfaces.h
Go to the documentation of this file.
1 
11 
29 #ifndef INTERFACES_H
30 #define INTERFACES_H
31 
32 #include "lib/ConfigPageWidget.h"
33 #include "core/AbstractAspect.h"
34 #include "lib/XmlStreamReader.h"
35 
36 #include <QtPlugin>
37 
38 class AbstractPart;
39 class QAction;
40 class QMenu;
41 class ProjectWindow;
42 class AbstractFilter;
44 class AbstractExportFilter;
45 class ActionManager;
46 
48 class PartMaker
49 {
50  public:
51  virtual ~PartMaker() {}
53  virtual AbstractPart *makePart() = 0;
55 
60  virtual QAction *makeAction(QObject *parent) = 0;
61 };
62 
63 Q_DECLARE_INTERFACE(PartMaker, "net.sf.scidavis.partmaker/0.1")
64 
65 
70 {
71  public:
72  virtual ~FilterMaker() {}
73  virtual AbstractFilter * makeFilter(int id=0) = 0;
74  virtual int filterCount() const { return 1; }
75  virtual QAction *makeAction(QObject *parent, int id=0) = 0;
76 };
77 
78 Q_DECLARE_INTERFACE(FilterMaker, "net.sf.scidavis.filtermaker/0.1")
79 
80 class FileFormat
82 {
83  public:
84  virtual ~FileFormat() {}
86  virtual AbstractExportFilter * makeExportFilter() = 0;
87 };
88 
89 Q_DECLARE_INTERFACE(FileFormat, "net.sf.scidavis.fileformat/0.1")
90 
93 {
94  public:
96  virtual ActionManager * actionManager() = 0;
98  virtual void initActionManager() {}
99 };
100 
101 Q_DECLARE_INTERFACE(ActionManagerOwner, "net.sf.scidavis.actionmanagerowner/0.1")
102 
103 class ConfigPageMaker {
105  public:
107  virtual QString configPageLabel() = 0;
108  virtual void loadSettings() = 0;
109  virtual void saveSettings() = 0;
110  // TODO (maybe): icons instead of tabs to select the pages
111  // virtual QIcon icon() = 0;
112 };
113 
114 Q_DECLARE_INTERFACE(ConfigPageMaker, "net.sf.scidavis.configpagemaker/0.1")
115 
118 {
119  public:
122  virtual bool canCreate(const QString & element_name) = 0;
125 };
126 
127 Q_DECLARE_INTERFACE(XmlElementAspectMaker, "net.sf.scidavis.xmlelementaspectmaker/0.1")
128 
129 #endif // ifndef INTERFACES_H
ActionManagerOwner::actionManager
virtual ActionManager * actionManager()=0
Return the action manager of the module.
ActionManagerOwner::initActionManager
virtual void initActionManager()
Method that contains initialization that has to be done after loading the plugin.
Definition: interfaces.h:98
FilterMaker::~FilterMaker
virtual ~FilterMaker()
Definition: interfaces.h:72
ConfigPageWidget
Widget for configuration pages that has an apply slot.
Definition: ConfigPageWidget.h:37
AbstractFilter
Base class for all analysis operations.
Definition: AbstractFilter.h:77
ConfigPageMaker::saveSettings
virtual void saveSettings()=0
ConfigPageMaker::loadSettings
virtual void loadSettings()=0
XmlStreamReader
XML stream parser that supports errors as well as warnings.
Definition: XmlStreamReader.h:42
FileFormat
Factory for import/export filters.
Definition: interfaces.h:82
FilterMaker::makeFilter
virtual AbstractFilter * makeFilter(int id=0)=0
XmlElementAspectMaker::canCreate
virtual bool canCreate(const QString &element_name)=0
Determine whether the loader can handle the given element.
ActionManagerOwner
A module (typically a PartMaker) that has an ActionManager.
Definition: interfaces.h:93
FileFormat::makeExportFilter
virtual AbstractExportFilter * makeExportFilter()=0
XmlElementAspectMaker::~XmlElementAspectMaker
virtual ~XmlElementAspectMaker()
Definition: interfaces.h:120
ConfigPageMaker::makeConfigPage
virtual ConfigPageWidget * makeConfigPage()=0
ConfigPageMaker::configPageLabel
virtual QString configPageLabel()=0
FilterMaker
Factory for filters.
Definition: interfaces.h:70
XmlElementAspectMaker
Factory that creates an aspect out of an XML element.
Definition: interfaces.h:118
AbstractImportFilter
Interface for import operations.
Definition: AbstractImportFilter.h:77
XmlElementAspectMaker::createAspectFromXml
virtual AbstractAspect * createAspectFromXml(XmlStreamReader *reader)=0
The factory method.
FilterMaker::makeAction
virtual QAction * makeAction(QObject *parent, int id=0)=0
PartMaker
Factory for AbstractPart objects.
Definition: interfaces.h:49
XmlStreamReader.h
PartMaker::makePart
virtual AbstractPart * makePart()=0
The factory method.
PartMaker::~PartMaker
virtual ~PartMaker()
Definition: interfaces.h:51
ConfigPageWidget.h
PartMaker::makeAction
virtual QAction * makeAction(QObject *parent)=0
The action to be used for making new parts.
ActionManager
Manages QActions and their shortcuts.
Definition: ActionManager.h:84
FilterMaker::filterCount
virtual int filterCount() const
Definition: interfaces.h:74
FileFormat::~FileFormat
virtual ~FileFormat()
Definition: interfaces.h:84
AbstractAspect.h
FileFormat::makeImportFilter
virtual AbstractImportFilter * makeImportFilter()=0
AbstractAspect
Base class of all persistent objects in a Project.
Definition: AbstractAspect.h:86
ConfigPageMaker
A module with application-wide settings.
Definition: interfaces.h:104
AbstractPart
Base class of Aspects with MDI windows as views.
Definition: AbstractPart.h:44