Engauge Digitizer  2
DlgSettingsGridRemoval.h
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #ifndef DLG_SETTINGS_GRID_REMOVAL_H
8 #define DLG_SETTINGS_GRID_REMOVAL_H
9 
10 #include "DlgSettingsAbstractBase.h"
11 
13 class QCheckBox;
14 class QComboBox;
15 class QDoubleValidator;
16 class QGraphicsScene;
17 class QGridLayout;
18 class QHBoxLayout;
19 class QLineEdit;
20 class ViewPreview;
21 
24 {
25  Q_OBJECT;
26 
27 public:
30  virtual ~DlgSettingsGridRemoval();
31 
32  virtual void createOptionalSaveDefault (QHBoxLayout *layout);
33  virtual QWidget *createSubPanel ();
34  virtual void load (CmdMediator &cmdMediator);
35  virtual void setSmallDialogs (bool smallDialogs);
36 
37 private slots:
38  void slotRemoveGridLines (int);
39  void slotCloseDistance(const QString &);
40 
41  void slotDisableX(const QString &);
42  void slotCountX(const QString &);
43  void slotStartX(const QString &);
44  void slotStepX(const QString &);
45  void slotStopX(const QString &);
46 
47  void slotDisableY(const QString &);
48  void slotCountY(const QString &);
49  void slotStartY(const QString &);
50  void slotStepY(const QString &);
51  void slotStopY(const QString &);
52 
53 protected:
54  virtual void handleOk ();
55 
56 private:
57 
58  void createRemoveGridLines (QGridLayout *layout, int &row);
59  void createRemoveGridLinesX (QGridLayout *layoutGridLines, int &row);
60  void createRemoveGridLinesY (QGridLayout *layoutGridLines, int &row);
61  void createPreview (QGridLayout *layout, int &row);
62  void updateControls ();
63  void updatePreview();
64 
65  QCheckBox *m_chkRemoveGridLines;
66  QLineEdit *m_editCloseDistance;
67  QDoubleValidator *m_validatorCloseDistance;
68 
69  QComboBox *m_cmbDisableX;
70  QLineEdit *m_editCountX;
71  QLineEdit *m_editStartX;
72  QLineEdit *m_editStepX;
73  QLineEdit *m_editStopX;
74  QDoubleValidator *m_validatorCountX;
75  QDoubleValidator *m_validatorStartX;
76  QDoubleValidator *m_validatorStepX;
77  QDoubleValidator *m_validatorStopX;
78 
79  QComboBox *m_cmbDisableY;
80  QLineEdit *m_editCountY;
81  QLineEdit *m_editStartY;
82  QLineEdit *m_editStepY;
83  QLineEdit *m_editStopY;
84  QDoubleValidator *m_validatorCountY;
85  QDoubleValidator *m_validatorStartY;
86  QDoubleValidator *m_validatorStepY;
87  QDoubleValidator *m_validatorStopY;
88 
89  QGraphicsScene *m_scenePreview;
90  ViewPreview *m_viewPreview;
91 
92  DocumentModelGridRemoval *m_modelGridRemovalBefore;
93  DocumentModelGridRemoval *m_modelGridRemovalAfter;
94 };
95 
96 #endif // DLG_SETTINGS_GRID_REMOVAL_H
virtual void load(CmdMediator &cmdMediator)
Load settings from Document.
Dialog for editing grid removal settings.
virtual void handleOk()
Process slotOk.
virtual void createOptionalSaveDefault(QHBoxLayout *layout)
Let subclass define an optional Save As Default button.
DlgSettingsGridRemoval(MainWindow &mainWindow)
Single constructor.
Class that modifies QGraphicsView to automatically expand/shrink the view to fit the window...
Definition: ViewPreview.h:14
virtual void setSmallDialogs(bool smallDialogs)
If false then dialogs have a minimum size so all controls are visible.
Command queue stack.
Definition: CmdMediator.h:23
Abstract base class for all Settings dialogs.
virtual QWidget * createSubPanel()
Create dialog-specific panel to which base class will add Ok and Cancel buttons.
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user...
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:89
CmdMediator & cmdMediator()
Provide access to Document information wrapped inside CmdMediator.