15 #include "cxResourceFilterExport.h" 24 #define FilterService_iid "cx::Filter" 30 typedef boost::shared_ptr<class Filter>
FilterPtr;
50 class cxResourceFilter_EXPORT
Filter :
public QObject
61 virtual QString getUid()
const = 0;
69 virtual void initialize(QDomElement root, QString uid =
"") = 0;
73 virtual QString getType()
const = 0;
77 virtual QString getName()
const = 0;
81 virtual QString getHelp()
const = 0;
86 virtual std::vector<PropertyPtr> getOptions() = 0;
90 virtual std::vector<SelectDataStringPropertyBasePtr> getInputTypes() = 0;
94 virtual std::vector<SelectDataStringPropertyBasePtr> getOutputTypes() = 0;
99 virtual bool hasPresets() = 0;
108 virtual QDomElement generatePresetFromCurrentlySetOptions(QString name) = 0;
116 virtual void setActive(
bool on) = 0;
125 virtual bool preProcess() = 0;
133 virtual bool execute() = 0;
144 virtual bool postProcess() = 0;
150 virtual void requestSetPresetSlot(QString name) = 0;
#define FilterService_iid
boost::shared_ptr< class Filter > FilterPtr
boost::shared_ptr< class SelectDataStringPropertyBase > SelectDataStringPropertyBasePtr
boost::shared_ptr< class Presets > PresetsPtr
Namespace for all CustusX production code.