Engauge Digitizer
2
Toggle main menu visibility
Loading...
Searching...
No Matches
Dlg
DlgSettingsCoords.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_COORDS_H
8
#define DLG_SETTINGS_COORDS_H
9
10
#include "
CoordUnitsNonPolarTheta.h
"
11
#include "
CoordUnitsPolarTheta.h
"
12
#include "
DlgSettingsAbstractBase.h
"
13
14
class
ButtonWhatsThis
;
15
class
DlgValidatorAbstract
;
16
class
DocumentModelCoords
;
17
class
QComboBox;
18
class
QDoubleValidator;
19
class
QGridLayout;
20
class
QGroupBox;
21
class
QGraphicsScene;
22
class
QGraphicsView;
23
class
QLineEdit;
24
class
QRadioButton;
25
class
ViewPreview
;
26
28
class
DlgSettingsCoords
:
public
DlgSettingsAbstractBase
29
{
30
Q_OBJECT;
31
32
public
:
34
DlgSettingsCoords
(
MainWindow
&
mainWindow
);
35
virtual
~DlgSettingsCoords
();
36
37
virtual
void
createOptionalSaveDefault
(QHBoxLayout *layout);
38
virtual
QWidget *
createSubPanel
();
39
virtual
void
load
(
CmdMediator
&
cmdMediator
);
40
virtual
void
setSmallDialogs
(
bool
smallDialogs);
41
42
private
slots:
43
void
slotCartesianPolar (
bool
);
44
void
slotDate (
const
QString &);
45
void
slotPolarOriginRadius(
const
QString &);
46
void
slotTime (
const
QString &);
47
void
slotUnitsXTheta(
const
QString &);
48
void
slotUnitsYRadius(
const
QString &);
49
void
slotWhatsThis();
50
void
slotXThetaLinear();
51
void
slotXThetaLog();
52
void
slotYRadiusLinear();
53
void
slotYRadiusLog();
54
55
protected
:
56
virtual
void
handleOk
();
57
58
private
:
59
60
void
annotateAngles(
const
QFont &defaultFont);
61
void
annotateRadiusAtOrigin(
const
QFont &defaultFont);
62
void
boundingRectGraph (
CmdMediator
&
cmdMediator
,
63
bool
&isEmpty,
64
QPointF &boundingRectGraphMin,
65
QPointF &boundingRectGraphMax)
const
;
66
void
createDateTime(QGridLayout *layout,
67
int
&row);
68
void
createGroupCoordsType(QGridLayout *layout,
69
int
&row);
70
void
createGroupXTheta(QGridLayout *layout,
71
int
&row);
72
void
createGroupYRadius(QGridLayout *layout,
73
int
&row);
74
void
createPreview(QGridLayout *layout,
75
int
&row);
76
void
drawCartesianLinearX();
77
void
drawCartesianLinearY();
78
void
drawCartesianLogX();
79
void
drawCartesianLogY();
80
void
drawPolarLinearRadius();
81
void
drawPolarLogRadius();
82
void
drawPolarTheta();
83
void
loadComboBoxDate();
84
void
loadComboBoxTime();
85
void
loadComboBoxUnitsNonPolar (QComboBox &cmb,
86
CoordUnitsNonPolarTheta
coordUnits);
87
void
loadComboBoxUnitsPolar (QComboBox &cmb,
88
CoordUnitsPolarTheta
coordUnits);
89
void
resetSceneRectangle();
90
void
updateControls();
91
void
updateCoordUnits();
92
void
updatePreview();
93
94
ButtonWhatsThis
*m_btnWhatsThis;
95
96
QGroupBox *m_boxCoordsType;
97
QRadioButton *m_btnCartesian;
98
QRadioButton *m_btnPolar;
99
100
QGroupBox *m_boxXTheta;
101
QRadioButton *m_xThetaLinear;
102
QRadioButton *m_xThetaLog;
103
QComboBox *m_cmbXThetaUnits;
104
105
QGroupBox *m_boxYRadius;
106
QRadioButton *m_yRadiusLinear;
107
QRadioButton *m_yRadiusLog;
108
QComboBox *m_cmbYRadiusUnits;
109
QLineEdit *m_editOriginRadius;
110
DlgValidatorAbstract
*m_validatorOriginRadius;
111
112
QComboBox *m_cmbDate;
113
QComboBox *m_cmbTime;
114
115
QGraphicsScene *m_scenePreview;
116
ViewPreview
*m_viewPreview;
117
118
DocumentModelCoords
*m_modelCoordsBefore;
119
DocumentModelCoords
*m_modelCoordsAfter;
120
};
121
122
#endif
// DLG_SETTINGS_COORDS_H
CoordUnitsNonPolarTheta.h
CoordUnitsNonPolarTheta
CoordUnitsNonPolarTheta
Definition
CoordUnitsNonPolarTheta.h:14
CoordUnitsPolarTheta.h
CoordUnitsPolarTheta
CoordUnitsPolarTheta
Definition
CoordUnitsPolarTheta.h:14
DlgSettingsAbstractBase.h
ButtonWhatsThis
Unobtrusive button to trigger QWhatsThis since some operating systems (Linux Mint) do not show WhatsT...
Definition
ButtonWhatsThis.h:16
CmdMediator
Command queue stack.
Definition
CmdMediator.h:24
DlgSettingsAbstractBase::DlgSettingsAbstractBase
DlgSettingsAbstractBase(const QString &title, const QString &dialogName, MainWindow &mainWindow)
Single constructor.
Definition
DlgSettingsAbstractBase.cpp:27
DlgSettingsAbstractBase::cmdMediator
CmdMediator & cmdMediator()
Provide access to Document information wrapped inside CmdMediator.
Definition
DlgSettingsAbstractBase.cpp:67
DlgSettingsAbstractBase::mainWindow
MainWindow & mainWindow()
Get method for MainWindow.
Definition
DlgSettingsAbstractBase.cpp:157
DlgSettingsCoords::~DlgSettingsCoords
virtual ~DlgSettingsCoords()
Definition
DlgSettingsCoords.cpp:95
DlgSettingsCoords::createSubPanel
virtual QWidget * createSubPanel()
Create dialog-specific panel to which base class will add Ok and Cancel buttons.
Definition
DlgSettingsCoords.cpp:377
DlgSettingsCoords::DlgSettingsCoords
DlgSettingsCoords(MainWindow &mainWindow)
Single constructor.
Definition
DlgSettingsCoords.cpp:74
DlgSettingsCoords::setSmallDialogs
virtual void setSmallDialogs(bool smallDialogs)
If false then dialogs have a minimum size so all controls are visible.
Definition
DlgSettingsCoords.cpp:737
DlgSettingsCoords::createOptionalSaveDefault
virtual void createOptionalSaveDefault(QHBoxLayout *layout)
Let subclass define an optional Save As Default button.
Definition
DlgSettingsCoords.cpp:353
DlgSettingsCoords::load
virtual void load(CmdMediator &cmdMediator)
Load settings from Document.
Definition
DlgSettingsCoords.cpp:561
DlgSettingsCoords::handleOk
virtual void handleOk()
Process slotOk.
Definition
DlgSettingsCoords.cpp:548
DlgValidatorAbstract
Abstract validator for all numeric formats.
Definition
DlgValidatorAbstract.h:15
DocumentModelCoords
Model for DlgSettingsCoords and CmdSettingsCoords.
Definition
DocumentModelCoords.h:21
MainWindow
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition
MainWindow.h:95
ViewPreview
Class that modifies QGraphicsView to automatically expand/shrink the view to fit the window,...
Definition
ViewPreview.h:15
Generated on
for Engauge Digitizer by
1.17.0