Engauge Digitizer  2
DlgSettingsGridDisplay.h
Go to the documentation of this file.
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_DISPLAY_H
8 #define DLG_SETTINGS_GRID_DISPLAY_H
9 
11 #include "GridLines.h"
12 
14 class QCheckBox;
15 class QComboBox;
16 class QDoubleValidator;
17 class QGraphicsScene;
18 class QGridLayout;
19 class QGroupBox;
20 class QHBoxLayout;
21 class QLabel;
22 class QLineEdit;
23 class ViewPreview;
24 
27 {
28  Q_OBJECT;
29 
30 public:
33  virtual ~DlgSettingsGridDisplay();
34 
35  virtual void createOptionalSaveDefault (QHBoxLayout *layout);
36  virtual QWidget *createSubPanel ();
37  virtual void load (CmdMediator &cmdMediator);
38  virtual void setSmallDialogs (bool smallDialogs);
39 
40 private slots:
41 
42  void slotColor (const QString &);
43 
44  void slotDisableX(const QString &);
45  void slotCountX(const QString &);
46  void slotStartX(const QString &);
47  void slotStepX(const QString &);
48  void slotStopX(const QString &);
49 
50  void slotDisableY(const QString &);
51  void slotCountY(const QString &);
52  void slotStartY(const QString &);
53  void slotStepY(const QString &);
54  void slotStopY(const QString &);
55 
56 protected:
57  virtual void handleOk ();
58 
59 private:
60 
61  void createDisplayCommon (QGridLayout *layout, int &row);
62  void createDisplayGridLinesX (QGridLayout *layoutGridLines, int &row);
63  void createDisplayGridLinesY (QGridLayout *layoutGridLines, int &row);
64  void createPreview (QGridLayout *layout, int &row);
65  bool textItemsAreValid () const;
66  bool textItemsDoNotBreakLineCountLimit ();
67  void updateControls ();
68  void updateDisplayedVariableX ();
69  void updateDisplayedVariableY ();
70  void updatePreview();
71 
72  QGroupBox *m_groupX;
73  QComboBox *m_cmbDisableX;
74  QLineEdit *m_editCountX;
75  QLineEdit *m_editStartX;
76  QLineEdit *m_editStepX;
77  QLineEdit *m_editStopX;
78  QDoubleValidator *m_validatorCountX;
79  QDoubleValidator *m_validatorStartX;
80  QDoubleValidator *m_validatorStepX;
81  QDoubleValidator *m_validatorStopX;
82 
83  QGroupBox *m_groupY;
84  QComboBox *m_cmbDisableY;
85  QLineEdit *m_editCountY;
86  QLineEdit *m_editStartY;
87  QLineEdit *m_editStepY;
88  QLineEdit *m_editStopY;
89  QDoubleValidator *m_validatorCountY;
90  QDoubleValidator *m_validatorStartY;
91  QDoubleValidator *m_validatorStepY;
92  QDoubleValidator *m_validatorStopY;
93 
94  QLabel *m_labelLimitWarning;
95 
96  QComboBox *m_cmbColor;
97 
98  GridLines m_gridLines;
99 
100  QGraphicsScene *m_scenePreview;
101  ViewPreview *m_viewPreview;
102 
103  DocumentModelGridDisplay *m_modelGridDisplayBefore;
104  DocumentModelGridDisplay *m_modelGridDisplayAfter;
105 };
106 
107 #endif // DLG_SETTINGS_GRID_DISPLAY_H
DlgSettingsGridDisplay::createSubPanel
virtual QWidget * createSubPanel()
Create dialog-specific panel to which base class will add Ok and Cancel buttons.
Definition: DlgSettingsGridDisplay.cpp:272
DlgSettingsAbstractBase::mainWindow
MainWindow & mainWindow()
Get method for MainWindow.
Definition: DlgSettingsAbstractBase.cpp:122
DlgSettingsAbstractBase
Abstract base class for all Settings dialogs.
Definition: DlgSettingsAbstractBase.h:19
DlgSettingsGridDisplay::handleOk
virtual void handleOk()
Process slotOk.
Definition: DlgSettingsGridDisplay.cpp:295
DocumentModelGridDisplay
Model for DlgSettingsGridDisplay and CmdSettingsGridDisplay.
Definition: DocumentModelGridDisplay.h:17
DlgSettingsGridDisplay
Dialog for editing grid display settings.
Definition: DlgSettingsGridDisplay.h:25
DlgSettingsGridDisplay::setSmallDialogs
virtual void setSmallDialogs(bool smallDialogs)
If false then dialogs have a minimum size so all controls are visible.
Definition: DlgSettingsGridDisplay.cpp:366
DlgSettingsGridDisplay::~DlgSettingsGridDisplay
virtual ~DlgSettingsGridDisplay()
Definition: DlgSettingsGridDisplay.cpp:53
MainWindow
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:90
DlgSettingsGridDisplay::createOptionalSaveDefault
virtual void createOptionalSaveDefault(QHBoxLayout *layout)
Let subclass define an optional Save As Default button.
Definition: DlgSettingsGridDisplay.cpp:250
DlgSettingsGridDisplay::load
virtual void load(CmdMediator &cmdMediator)
Load settings from Document.
Definition: DlgSettingsGridDisplay.cpp:311
GridLines
Container class for GridLine objects.
Definition: GridLines.h:17
CmdMediator
Command queue stack.
Definition: CmdMediator.h:22
GridLines.h
DlgSettingsGridDisplay::DlgSettingsGridDisplay
DlgSettingsGridDisplay(MainWindow &mainWindow)
Single constructor.
Definition: DlgSettingsGridDisplay.cpp:30
DlgSettingsAbstractBase::cmdMediator
CmdMediator & cmdMediator()
Provide access to Document information wrapped inside CmdMediator.
Definition: DlgSettingsAbstractBase.cpp:45
DlgSettingsAbstractBase.h
ViewPreview
Class that modifies QGraphicsView to automatically expand/shrink the view to fit the window,...
Definition: ViewPreview.h:13