Engauge Digitizer 2
Loading...
Searching...
No Matches
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
14class QCheckBox;
15class QComboBox;
16class QDoubleValidator;
17class QGraphicsScene;
18class QGridLayout;
19class QGroupBox;
20class QHBoxLayout;
21class QLabel;
22class QLineEdit;
23class ViewPreview;
24
27{
29
30public:
34
36 virtual QWidget *createSubPanel ();
37 virtual void load (CmdMediator &cmdMediator);
38 virtual void setSmallDialogs (bool smallDialogs);
39
40private 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
56protected:
57 virtual void handleOk ();
58
59private:
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
const int INNER_RADIUS_MIN
Command queue stack.
Definition CmdMediator.h:24
Abstract base class for all Settings dialogs.
CmdMediator & cmdMediator()
Provide access to Document information wrapped inside CmdMediator.
MainWindow & mainWindow()
Get method for MainWindow.
Dialog for editing grid display settings.
virtual void setSmallDialogs(bool smallDialogs)
If false then dialogs have a minimum size so all controls are visible.
virtual QWidget * createSubPanel()
Create dialog-specific panel to which base class will add Ok and Cancel buttons.
virtual void load(CmdMediator &cmdMediator)
Load settings from Document.
DlgSettingsGridDisplay(MainWindow &mainWindow)
Single constructor.
virtual void handleOk()
Process slotOk.
virtual void createOptionalSaveDefault(QHBoxLayout *layout)
Let subclass define an optional Save As Default button.
Model for DlgSettingsGridDisplay and CmdSettingsGridDisplay.
Container class for GridLine objects.
Definition GridLines.h:19
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition MainWindow.h:92
Class that modifies QGraphicsView to automatically expand/shrink the view to fit the window,...
Definition ViewPreview.h:15