Engauge Digitizer  2
 All Classes Files Functions Variables Enumerations Enumerator Friends Pages
DlgSettingsCurveProperties.h
1 #ifndef DLG_SETTINGS_CURVE_PROPERTIES_H
2 #define DLG_SETTINGS_CURVE_PROPERTIES_H
3 
4 #include "CurveStyles.h"
5 #include "DlgSettingsAbstractBase.h"
6 
7 class GraphicsPoint;
8 class QComboBox;
9 class QGraphicsScene;
10 class QGridLayout;
11 class QGroupBox;
12 class QSpinBox;
13 class ViewPreview;
14 
17 {
18  Q_OBJECT;
19 
20 public:
23  virtual ~DlgSettingsCurveProperties();
24 
25  virtual void createOptionalSaveDefault (QHBoxLayout *layout);
26  virtual QWidget *createSubPanel ();
27  virtual void load (CmdMediator &cmdMediator);
28 
30  void setCurveName (const QString &curveName);
31 
32 private slots:
33  void slotCurveName(const QString &);
34  void slotLineColor(const QString &);
35  void slotLineType(const QString &);
36  void slotLineWidth(int);
37  void slotPointColor(const QString &);
38  void slotPointLineWidth (int);
39  void slotPointRadius(int);
40  void slotPointShape(const QString &);
41  void slotSaveDefault();
42 
43 protected:
44  virtual void handleOk ();
45 
46 private:
47 
48  void createCurveName (QGridLayout *layout, int &row);
49  void createLine (QGridLayout *layout, int &row);
50  void createPoint (QGridLayout *layout, int &row);
51  void createPreview (QGridLayout *layout, int &row);
52  void drawLine (bool isRelation,
53  const LineStyle &lineStyle);
54  void drawPoints (const PointStyle &pointStyle);
55  void loadForCurveName(const QString &curveName);
56  void resetSceneRectangle();
57  void updateControls();
58  void updatePreview();
59 
60  QComboBox *m_cmbCurveName;
61 
62  QGroupBox *m_groupPoint;
63  QComboBox *m_cmbPointShape;
64  QSpinBox *m_spinPointRadius;
65  QSpinBox *m_spinPointLineWidth;
66  QComboBox *m_cmbPointColor;
67 
68  QGroupBox *m_groupLine;
69  QSpinBox *m_spinLineWidth;
70  QComboBox *m_cmbLineColor;
71  QComboBox *m_cmbLineType;
72 
73  QPushButton *m_btnSaveDefault;
74 
75  QGraphicsScene *m_scenePreview;
76  ViewPreview *m_viewPreview;
77 
78  CurveStyles *m_modelCurveStylesBefore;
79  CurveStyles *m_modelCurveStylesAfter;
80 
81  bool m_isDirty;
82 };
83 
84 #endif // DLG_SETTINGS_CURVE_PROPERTIES_H
void setCurveName(const QString &curveName)
Load information for the specified curve name. When called externally, the load method must have been...
Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties.
Definition: CurveStyles.h:16
virtual void load(CmdMediator &cmdMediator)
Load settings from Document.
DlgSettingsCurveProperties(MainWindow &mainWindow)
Single constructor.
virtual void handleOk()
Process slotOk.
Class that modifies QGraphicsView to automatically expand/shrink the view to fit the window...
Definition: ViewPreview.h:8
Details for a specific Point.
Definition: PointStyle.h:14
virtual QWidget * createSubPanel()
Create dialog-specific panel to which base class will add Ok and Cancel buttons.
virtual void createOptionalSaveDefault(QHBoxLayout *layout)
Let subclass define an optional Save As Default button.
Details for a specific Line.
Definition: LineStyle.h:13
Graphics item for drawing a circular or polygonal Point.
Definition: GraphicsPoint.h:33
Dialog for editing curve properties settings.
Command queue stack.
Definition: CmdMediator.h:16
Abstract base class for all Settings dialogs.
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:66
CmdMediator & cmdMediator()
Provide access to Document information wrapped inside CmdMediator.