00001
00002
00003
00004
00005
00006
00007 #ifndef DLG_SETTINGS_CURVE_ADD_REMOVE_H
00008 #define DLG_SETTINGS_CURVE_ADD_REMOVE_H
00009
00010 #include "DlgSettingsAbstractBase.h"
00011 #include <QItemSelection>
00012 #include <QModelIndex>
00013
00014 class CurveNameList;
00015 class QGridLayout;
00016 class QListView;
00017 class QPushButton;
00018
00020 class DlgSettingsCurveAddRemove : public DlgSettingsAbstractBase
00021 {
00022 Q_OBJECT;
00023
00024 public:
00026 DlgSettingsCurveAddRemove(MainWindow &mainWindow);
00027 virtual ~DlgSettingsCurveAddRemove();
00028
00029 virtual void createOptionalSaveDefault (QHBoxLayout *layout);
00030 virtual QWidget *createSubPanel ();
00031 void load (CmdMediator &cmdMediator);
00032
00033 private slots:
00034 void slotDataChanged (const QModelIndex &topLeft,
00035 const QModelIndex &bottomRight,
00036 const QVector<int> &roles);
00037 void slotNew ();
00038 void slotRemove ();
00039 void slotSaveDefault();
00040 void slotSelectionChanged (QItemSelection, QItemSelection);
00041
00042 protected:
00043 virtual void handleOk ();
00044
00045 private:
00046
00047 void appendCurveName (const QString &curveNameNew,
00048 const QString &curveNameOriginal,
00049 int numPoints);
00050 void createButtons (QGridLayout *layout, int &row);
00051 void createListCurves (QGridLayout *layout, int &row);
00052 bool endsWithNumber (const QString &str) const;
00053 void insertCurveName (int row,
00054 const QString &curveNameNew,
00055 const QString &curveNameOriginal,
00056 int numPoints);
00057 QString nextCurveName () const;
00058 int numberAtEnd (const QString &str) const;
00059 void removeSelectedCurves();
00060 void updateControls ();
00061
00062 CurveNameList *m_curveNameList;
00063 QListView *m_listCurves;
00064
00065 QPushButton *m_btnAdd;
00066 QPushButton *m_btnRemove;
00067 QPushButton *m_btnRename;
00068
00069 QPushButton *m_btnSaveDefault;
00070 };
00071
00072 #endif // DLG_SETTINGS_CURVE_ADD_REMOVE_H