Engauge Digitizer  2
 All Classes Files Functions Variables Enumerations Enumerator Friends Pages
DlgSettingsCurveAddRemove.h
1 #ifndef DLG_SETTINGS_CURVE_ADD_REMOVE_H
2 #define DLG_SETTINGS_CURVE_ADD_REMOVE_H
3 
4 #include "DlgSettingsAbstractBase.h"
5 #include <QItemSelection>
6 #include <QModelIndex>
7 
8 class CurveNameList;
9 class QGridLayout;
10 class QListView;
11 class QPushButton;
12 
15 {
16  Q_OBJECT;
17 
18 public:
21  virtual ~DlgSettingsCurveAddRemove();
22 
23  virtual QWidget *createSubPanel ();
25 
26 private slots:
27  void slotDataChanged (const QModelIndex &topLeft,
28  const QModelIndex &bottomRight,
29  const QVector<int> &roles);
30  void slotNew ();
31  void slotRemove ();
32  void slotSelectionChanged (QItemSelection, QItemSelection);
33 
34 protected:
35  virtual void handleOk ();
36 
37 private:
38 
39  void appendCurveName (const QString &curveNameNew,
40  const QString &curveNameOriginal,
41  int numPoints);
42  void createButtons (QGridLayout *layout, int &row);
43  void createListCurves (QGridLayout *layout, int &row);
44  bool endsWithNumber (const QString &str) const;
45  void insertCurveName (int row,
46  const QString &curveNameNew,
47  const QString &curveNameOriginal,
48  int numPoints);
49  QString nextCurveName () const; // Pick good curve name to go at currentRow()
50  int numberAtEnd (const QString &str) const;
51  void removeSelectedCurves();
52  void updateControls ();
53 
54  QPushButton *m_btnAdd;
55  QPushButton *m_btnRemove;
56  QPushButton *m_btnRename;
57 
58  CurveNameList *m_curveNameList; // Model for m_listCurves
59  QListView *m_listCurves; // Use QListView instead of QListWidget so validators can be used
60 };
61 
62 #endif // DLG_SETTINGS_CURVE_ADD_REMOVE_H
virtual QWidget * createSubPanel()
Create dialog-specific panel to which base class will add Ok and Cancel buttons.
Dialog for editing curve names settings.
void load(CmdMediator &cmdMediator)
Load settings from Document.
Command queue stack.
Definition: CmdMediator.h:16
Abstract base class for all Settings dialogs.
Model for DlgSettingsCurveAddRemove and CmdSettingsCurveAddRemove.
Definition: CurveNameList.h:10
MainWindow & mainWindow()
Get method for MainWindow.
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:60
DlgSettingsCurveAddRemove(MainWindow &mainWindow)
Single constructor.
CmdMediator & cmdMediator()
Provide access to Document information wrapped inside CmdMediator.
virtual void handleOk()
Process slotOk.