Engauge Digitizer  2
DlgSettingsDigitizeCurve.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_DIGITIZE_CURVE_H
8 #define DLG_SETTINGS_DIGITIZE_CURVE_H
9 
11 
13 class QCheckBox;
14 class QComboBox;
15 class QGridLayout;
16 class QGraphicsPixmapItem;
17 class QGraphicsScene;
18 class QGroupBox;
19 class QRadioButton;
20 class QSpinBox;
21 class ViewPreview;
22 
27 {
28  Q_OBJECT;
29 
30 public:
33  virtual ~DlgSettingsDigitizeCurve();
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  void slotCursorCustom (bool);
42  void slotCursorInnerRadius (const QString &);
43  void slotCursorLineWidth (const QString &);
44  void slotCursorSize (const QString &);
45  void slotCursorStandard (bool);
46 
47 protected:
48  virtual void handleOk ();
49 
50 private:
51 
52  void createControls (QGridLayout *layout, int &row);
53  void createPreview (QGridLayout *layout, int &row);
54  void updateControls();
55  void updatePreview();
56 
57  QGroupBox *m_boxCursor;
58  QRadioButton *m_btnStandard;
59  QRadioButton *m_btnCustom;
60  QComboBox *m_cmbSize;
61  QSpinBox *m_spinInnerRadius;
62  QSpinBox *m_spinLineWidth;
63 
64  QGraphicsScene *m_scenePreview;
65  ViewPreview *m_viewPreview;
66 
67  DocumentModelDigitizeCurve *m_modelDigitizeCurveBefore;
68  DocumentModelDigitizeCurve *m_modelDigitizeCurveAfter;
69 };
70 
71 #endif // DLG_SETTINGS_DIGITIZE_CURVE_H
DlgSettingsAbstractBase::mainWindow
MainWindow & mainWindow()
Get method for MainWindow.
Definition: DlgSettingsAbstractBase.cpp:122
DlgSettingsAbstractBase
Abstract base class for all Settings dialogs.
Definition: DlgSettingsAbstractBase.h:19
DlgSettingsDigitizeCurve::~DlgSettingsDigitizeCurve
virtual ~DlgSettingsDigitizeCurve()
Definition: DlgSettingsDigitizeCurve.cpp:55
DlgSettingsDigitizeCurve::load
virtual void load(CmdMediator &cmdMediator)
Load settings from Document.
Definition: DlgSettingsDigitizeCurve.cpp:181
DlgSettingsDigitizeCurve::createOptionalSaveDefault
virtual void createOptionalSaveDefault(QHBoxLayout *layout)
Let subclass define an optional Save As Default button.
Definition: DlgSettingsDigitizeCurve.cpp:118
MainWindow
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:90
DlgSettingsDigitizeCurve::DlgSettingsDigitizeCurve
DlgSettingsDigitizeCurve(MainWindow &mainWindow)
Single constructor.
Definition: DlgSettingsDigitizeCurve.cpp:40
DlgSettingsDigitizeCurve::setSmallDialogs
virtual void setSmallDialogs(bool smallDialogs)
If false then dialogs have a minimum size so all controls are visible.
Definition: DlgSettingsDigitizeCurve.cpp:214
DlgSettingsDigitizeCurve::handleOk
virtual void handleOk()
Process slotOk.
Definition: DlgSettingsDigitizeCurve.cpp:168
DlgSettingsDigitizeCurve
Dialog for editing DigitizeStateCurve settings.
Definition: DlgSettingsDigitizeCurve.h:25
DocumentModelDigitizeCurve
Model for DlgSettingsDigitizeCurve and CmdSettingsDigitizeCurve.
Definition: DocumentModelDigitizeCurve.h:17
CmdMediator
Command queue stack.
Definition: CmdMediator.h:22
DlgSettingsAbstractBase::cmdMediator
CmdMediator & cmdMediator()
Provide access to Document information wrapped inside CmdMediator.
Definition: DlgSettingsAbstractBase.cpp:45
DlgSettingsAbstractBase.h
DlgSettingsDigitizeCurve::createSubPanel
virtual QWidget * createSubPanel()
Create dialog-specific panel to which base class will add Ok and Cancel buttons.
Definition: DlgSettingsDigitizeCurve.cpp:148
ViewPreview
Class that modifies QGraphicsView to automatically expand/shrink the view to fit the window,...
Definition: ViewPreview.h:13