#ifndef CREATESTEPDIALOG_H #define CREATESTEPDIALOG_H #include "model/stepcreator.h" #include "model/step/parameterscreator.h" #include "model/step/inmodelcreator.h" #include "model/step/outmodelcreator.h" #include "model/step/models/abstractinmodel.h" #include "view/step/parameters/abstractparameterwidget.h" #include "view/step/models/abstractinwidget.h" #include "view/step/models/abstractoutwidget.h" #include #include #include #include namespace Ui { class CreateStepDialog; } class CreateStepDialog : public QDialog { Q_OBJECT public: explicit CreateStepDialog(QString pluginDirectory, QString pluginCode, QWidget *parent = 0); ~CreateStepDialog(); inline QString getLogmessage() { return _logMessage; } private slots: // Global void accept(); void reject(); void closeEvent(QCloseEvent *event); void tabChanged(int tabNumber); void setFirstStep(bool isFirst); // Tab 1 void fullNameChanged(const QString name); // Tab 2 void on_treeView_2_clicked(const QModelIndex &index); void on_pb_add_2_clicked(); void on_pb_up_2_clicked(); void on_pb_down_2_clicked(); void on_pb_delete_2_clicked(); void on_pb_clear_2_clicked(); // Tab 3 void on_treeView_3_clicked(const QModelIndex &index); void on_pb_addResult_3_clicked(); void on_pb_addGroup_3_clicked(); void on_pb_addItem_3_clicked(); void on_pb_delete_3_clicked(); void on_pb_clear_3_clicked(); // Tab 4 void on_treeView_5_clicked(const QModelIndex &index); void on_pb_addResult_5_clicked(); void on_pb_addGroup_5_clicked(); void on_pb_addItem_5_clicked(); void on_pb_delete_5_clicked(); void on_pb_clear_5_clicked(); void on_pb_remove_5_clicked(); void on_pb_cancelRemove_5_clicked(); private: Ui::CreateStepDialog* ui; QString _logMessage; QString _pluginDirectory; QString _pluginCode; ParametersCreator *_parameterCreator; InModelCreator *_inModelCreator; OutModelCreator *_outModelCreator; QStandardItemModel *_modelParameter; QStandardItemModel *_modelIN; QStandardItemModel *_modelOUT; QVBoxLayout *_layoutParameter; QVBoxLayout *_layoutIN; QVBoxLayout *_layoutOUT; AbstractParameterWidget *_activeWidgetParameter; AbstractInWidget *_activeWidgetIN; AbstractOutWidget *_activeWidgetOUT; bool _modelINmodified; bool _modelOUTmodified; void buttonState(); bool checkInformation(); bool checkParameters(QStandardItemModel *_param, QString name); template bool checkModels(QStandardItemModel *_model, QString name); void moveItem(bool up); void initCopy(); template int getCopyResults(QStandardItemModel* model); template static void treeViewSelect(const QModelIndex &index, QStandardItemModel* model, AbstractWidget* &activewidget, QVBoxLayout* &layout); void addParameter(QStandardItem *item); template static void addResult(QTreeView* &treeview, QStandardItemModel* model, AbstractWidget* &activewidget, QVBoxLayout* &layout); template static void addGroup(QTreeView* &treeview, QStandardItemModel* model, AbstractWidget* &activewidget, QVBoxLayout* &layout); template static void addItem(QTreeView* &treeview, QStandardItemModel* model, AbstractWidget* &activewidget, QVBoxLayout* &layout); static QList getItemsToBeDeleted(QStandardItem* item); template static void deleteItem(QTreeView* &treeview, QStandardItemModel* model, AbstractWidget* &activewidget); template static void deleteAllItems(QTreeView* &treeview, QStandardItemModel* model, AbstractWidget* &activewidget); static void deleteItemCopy(AbstractOutModel *item, QStandardItemModel *model, AbstractOutWidget *&activeWidget); static void cancelDeleteCopy(AbstractOutModel *item); }; #endif // CREATESTEPDIALOG_H