SpikeStream Application Library
0.2
|
00001 #ifndef ABSTRACTPARAMETERSEDITDIALOG_H 00002 #define ABSTRACTPARAMETERSEDITDIALOG_H 00003 00004 //SpikeStream includes 00005 #include "ParameterInfo.h" 00006 00007 //Qt includes 00008 #include <QCheckBox> 00009 #include <QComboBox> 00010 #include <QDialog> 00011 #include <QHash> 00012 #include <QLayout> 00013 #include <QLineEdit> 00014 00015 namespace spikestream { 00016 00018 class AbstractParametersEditDialog : public QDialog { 00019 Q_OBJECT 00020 00021 public: 00022 AbstractParametersEditDialog(const QList<ParameterInfo>& paramInfoList, QWidget* parent = 0); 00023 virtual ~AbstractParametersEditDialog(); 00024 00025 00026 protected slots: 00028 virtual void defaultButtonClicked() = 0; 00029 00031 virtual void okButtonClicked() = 0; 00032 00033 00034 protected: 00035 //=================== VARIABLES ==================== 00037 QList<ParameterInfo> parameterInfoList; 00038 00039 //==================== METHODS ===================== 00040 void addButtons(QVBoxLayout* mainVLayout); 00041 void addParameters(QVBoxLayout* mainVLayout); 00042 QHash<QString, double> getParameterValues(); 00043 void setParameterValues(const QHash<QString, double>& paramMap); 00044 00045 private: 00046 //=================== VARIABLES ==================== 00049 QHash<QString, QLineEdit*> lineEditMap; 00050 00053 QHash<QString, QCheckBox*> checkBoxMap; 00054 00056 QHash<QString, QComboBox*> comboMap; 00057 }; 00058 00059 } 00060 00061 #endif//ABSTRACTPARAMETERSEDITDIALOG_H