1 #ifndef BINDPARAMSDIALOG_H 2 #define BINDPARAMSDIALOG_H 3 4 #include <QDialog> 5 6 namespace Ui { 7 class BindParamsDialog; 8 } 9 10 struct BindParam; 11 class MultiEditor; 12 13 class BindParamsDialog : public QDialog 14 { 15 Q_OBJECT 16 17 public: 18 explicit BindParamsDialog(QWidget *parent = nullptr); 19 ~BindParamsDialog(); 20 21 void setBindParams(const QVector<BindParam*>& params); 22 23 private: 24 void init(); 25 void initEditors(); 26 MultiEditor* initEditor(BindParam* param, const QVariant& cachedValue); 27 28 static const int margins = 2; 29 static const int spacing = 2; 30 static const int minimumFieldHeight = 80; 31 32 Ui::BindParamsDialog *ui; 33 QVector<BindParam*> bindParams; 34 QHash<BindParam*, MultiEditor*> editors; 35 QWidget* contents = nullptr; 36 37 public slots: 38 void accept(); 39 }; 40 41 #endif // BINDPARAMSDIALOG_H 42