Engauge Digitizer
2
Dlg
DlgSettingsCurveProperties.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_CURVE_PROPERTIES_H
8
#define DLG_SETTINGS_CURVE_PROPERTIES_H
9
10
#include "
CurveStyles.h
"
11
#include "
DlgSettingsAbstractBase.h
"
12
#include "
MainWindowModel.h
"
13
14
class
GraphicsPoint
;
15
class
QComboBox;
16
class
QGraphicsScene;
17
class
QGridLayout;
18
class
QGroupBox;
19
class
QSpinBox;
20
class
ViewPreview
;
21
23
class
DlgSettingsCurveProperties
:
public
DlgSettingsAbstractBase
24
{
25
Q_OBJECT;
26
27
public
:
29
DlgSettingsCurveProperties
(
MainWindow
&
mainWindow
);
30
virtual
~DlgSettingsCurveProperties
();
31
32
virtual
void
createOptionalSaveDefault
(QHBoxLayout *layout);
33
virtual
QWidget *
createSubPanel
();
34
virtual
void
load
(
CmdMediator
&
cmdMediator
);
35
37
void
setCurveName
(
const
QString &curveName);
38
virtual
void
setSmallDialogs
(
bool
smallDialogs);
39
40
private
slots:
41
void
slotCurveName(
const
QString &);
42
void
slotLineColor(
const
QString &);
43
void
slotLineType(
const
QString &);
44
void
slotLineWidth(
int
);
45
void
slotPointColor(
const
QString &);
46
void
slotPointLineWidth (
int
);
47
void
slotPointRadius(
int
);
48
void
slotPointShape(
const
QString &);
49
void
slotSaveDefault();
50
51
protected
:
52
virtual
void
handleOk
();
53
54
private
:
55
56
void
createCurveName (QGridLayout *layout,
int
&row);
57
void
createLine (QGridLayout *layout,
int
&row);
58
void
createPoint (QGridLayout *layout,
int
&row);
59
void
createPreview (QGridLayout *layout,
int
&row);
60
void
drawLine (
bool
isRelation,
61
const
LineStyle
&lineStyle);
62
void
drawPoints (
const
PointStyle
&pointStyle);
63
void
loadForCurveName(
const
QString &curveName);
64
void
resetSceneRectangle();
65
void
updateControls();
66
void
updatePreview();
67
68
MainWindowModel
m_modelMainWindow;
69
70
QComboBox *m_cmbCurveName;
71
72
QGroupBox *m_groupPoint;
73
QComboBox *m_cmbPointShape;
74
QSpinBox *m_spinPointRadius;
75
QSpinBox *m_spinPointLineWidth;
76
QComboBox *m_cmbPointColor;
77
78
QGroupBox *m_groupLine;
79
QSpinBox *m_spinLineWidth;
80
QComboBox *m_cmbLineColor;
81
QComboBox *m_cmbLineType;
82
83
QPushButton *m_btnSaveDefault;
84
85
QGraphicsScene *m_scenePreview;
86
ViewPreview
*m_viewPreview;
87
88
CurveStyles
*m_modelCurveStylesBefore;
89
CurveStyles
*m_modelCurveStylesAfter;
90
91
bool
m_isDirty;
92
};
93
94
#endif // DLG_SETTINGS_CURVE_PROPERTIES_H
DlgSettingsCurveProperties::setSmallDialogs
virtual void setSmallDialogs(bool smallDialogs)
If false then dialogs have a minimum size so all controls are visible.
Definition:
DlgSettingsCurveProperties.cpp:472
DlgSettingsAbstractBase::mainWindow
MainWindow & mainWindow()
Get method for MainWindow.
Definition:
DlgSettingsAbstractBase.cpp:122
DlgSettingsAbstractBase
Abstract base class for all Settings dialogs.
Definition:
DlgSettingsAbstractBase.h:19
MainWindowModel.h
DlgSettingsCurveProperties::createSubPanel
virtual QWidget * createSubPanel()
Create dialog-specific panel to which base class will add Ok and Cancel buttons.
Definition:
DlgSettingsCurveProperties.cpp:257
DlgSettingsCurveProperties
Dialog for editing curve properties settings.
Definition:
DlgSettingsCurveProperties.h:22
DlgSettingsCurveProperties::handleOk
virtual void handleOk()
Process slotOk.
Definition:
DlgSettingsCurveProperties.cpp:367
CurveStyles.h
MainWindowModel
Model for DlgSettingsMainWindow.
Definition:
MainWindowModel.h:29
MainWindow
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition:
MainWindow.h:90
LineStyle
Details for a specific Line.
Definition:
LineStyle.h:18
DlgSettingsCurveProperties::~DlgSettingsCurveProperties
virtual ~DlgSettingsCurveProperties()
Definition:
DlgSettingsCurveProperties.cpp:79
DlgSettingsCurveProperties::DlgSettingsCurveProperties
DlgSettingsCurveProperties(MainWindow &mainWindow)
Single constructor.
Definition:
DlgSettingsCurveProperties.cpp:61
DlgSettingsCurveProperties::createOptionalSaveDefault
virtual void createOptionalSaveDefault(QHBoxLayout *layout)
Let subclass define an optional Save As Default button.
Definition:
DlgSettingsCurveProperties.cpp:219
DlgSettingsCurveProperties::load
virtual void load(CmdMediator &cmdMediator)
Load settings from Document.
Definition:
DlgSettingsCurveProperties.cpp:383
CmdMediator
Command queue stack.
Definition:
CmdMediator.h:22
PointStyle
Details for a specific Point.
Definition:
PointStyle.h:19
GraphicsPoint
Graphics item for drawing a circular or polygonal Point.
Definition:
GraphicsPoint.h:42
CurveStyles
Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties.
Definition:
CurveStyles.h:21
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
DlgSettingsCurveProperties::setCurveName
void setCurveName(const QString &curveName)
Load information for the specified curve name. When called externally, the load method must have been...
Definition:
DlgSettingsCurveProperties.cpp:466
Generated on Sat Jan 4 2020 12:00:00 for Engauge Digitizer by
1.8.16