#ifndef STEPCREATOR_H #define STEPCREATOR_H #include #include "model/step/inmodelcreator.h" #include "model/step/outmodelcreator.h" #include "model/step/parameterscreator.h" class StepCreator : public QObject { Q_OBJECT public: explicit StepCreator(QString directory, QString name, QString code, bool exampleMode = false); void setInformation(const QString &shortDescription, const QString &detailledDescription, const bool &canBeAddedFirst, const bool &hasAction); void setCreator(ParametersCreator* model1, InModelCreator* model2, OutModelCreator* model3); static QString getFullName(const QString code, const QString name); QString createStepFiles(); private: QString _pluginDirectory; QString _stepName; QString _pluginCode; bool _exampleMode; QString _shortDescription; QString _detailledDescription; bool _canBeAddedFirst; bool _hasAction; InModelCreator* _inModelCreator; OutModelCreator* _outModelCreator; ParametersCreator* _parametersCreator; bool createStepFile_h(); bool createStepFile_cpp(); bool modifyPluginManager_cpp(); QString getIncludesHeader(); QString getIncludesSource(); }; #endif // STEPCREATOR_H