Engauge Digitizer 2
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
DlgSettingsDigitizeCurve Class Reference

Dialog for editing DigitizeStateCurve settings. More...

#include <DlgSettingsDigitizeCurve.h>

Inheritance diagram for DlgSettingsDigitizeCurve:
Inheritance graph
Collaboration diagram for DlgSettingsDigitizeCurve:
Collaboration graph

Public Member Functions

 DlgSettingsDigitizeCurve (MainWindow &mainWindow)
 Single constructor.
 
virtual ~DlgSettingsDigitizeCurve ()
 
virtual void createOptionalSaveDefault (QHBoxLayout *layout)
 Let subclass define an optional Save As Default button.
 
virtual QWidgetcreateSubPanel ()
 Create dialog-specific panel to which base class will add Ok and Cancel buttons.
 
virtual void load (CmdMediator &cmdMediator)
 Load settings from Document.
 
virtual void setSmallDialogs (bool smallDialogs)
 If false then dialogs have a minimum size so all controls are visible.
 
- Public Member Functions inherited from DlgSettingsAbstractBase
 DlgSettingsAbstractBase (const QString &title, const QString &dialogName, MainWindow &mainWindow)
 Single constructor.
 
virtual ~DlgSettingsAbstractBase ()
 

Protected Member Functions

virtual void handleOk ()
 Process slotOk.
 
- Protected Member Functions inherited from DlgSettingsAbstractBase
CmdMediatorcmdMediator ()
 Provide access to Document information wrapped inside CmdMediator.
 
void enableOk (bool enable)
 Let leaf subclass control the Ok button.
 
void finishPanel (QWidget *subPanel, int minimumWidth=MINIMUM_DIALOG_WIDTH, int minimumHeightOrZero=0)
 Add Ok and Cancel buttons to subpanel to get the whole dialog.
 
MainWindowmainWindow ()
 Get method for MainWindow.
 
const MainWindowmainWindow () const
 Const get method for MainWindow.
 
void populateColorComboWithoutTransparent (QComboBox &combo)
 Add colors in color palette to combobox, without transparent entry at end.
 
void populateColorComboWithTransparent (QComboBox &combo)
 Add colors in color palette to combobox, with transparent entry at end.
 
void setCmdMediator (CmdMediator &cmdMediator)
 Store CmdMediator for easy access by the leaf class.
 
void setDisableOkAtStartup (bool disableOkAtStartup)
 Override the default Ok button behavior applied in showEvent.
 

Additional Inherited Members

- Static Protected Attributes inherited from DlgSettingsAbstractBase
static int MINIMUM_DIALOG_WIDTH = 380
 Dialog layout constant that guarantees every widget has sufficient room. Can be increased by finishPanel.
 
static int MINIMUM_PREVIEW_HEIGHT = 100
 Dialog layout constant that guarantees preview has sufficent room.
 

Detailed Description

Dialog for editing DigitizeStateCurve settings.

The preview window would should the selected cursor in the center, but there is no way to access the image of Qt::CrossCursor (QCursor::pixmap only works for custom cursors that were defined by a QPixmap)

Definition at line 26 of file DlgSettingsDigitizeCurve.h.

Constructor & Destructor Documentation

◆ DlgSettingsDigitizeCurve()

DlgSettingsDigitizeCurve::DlgSettingsDigitizeCurve ( MainWindow & mainWindow)

Single constructor.

Definition at line 40 of file DlgSettingsDigitizeCurve.cpp.

40 :
41 DlgSettingsAbstractBase (tr ("Digitize Curve"),
42 "DlgSettingsDigitizeCurve",
44 m_scenePreview (nullptr),
45 m_viewPreview (nullptr),
46 m_modelDigitizeCurveBefore (nullptr),
47 m_modelDigitizeCurveAfter (nullptr)
48{
49 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsDigitizeCurve::DlgSettingsDigitizeCurve";
50
53}
const int INNER_RADIUS_MIN
log4cpp::Category * mainCat
Definition Logger.cpp:14
Abstract base class for all Settings dialogs.
void finishPanel(QWidget *subPanel, int minimumWidth=MINIMUM_DIALOG_WIDTH, int minimumHeightOrZero=0)
Add Ok and Cancel buttons to subpanel to get the whole dialog.
MainWindow & mainWindow()
Get method for MainWindow.
virtual QWidget * createSubPanel()
Create dialog-specific panel to which base class will add Ok and Cancel buttons.
#define LOG4CPP_INFO_S(logger)
Definition convenience.h:18

◆ ~DlgSettingsDigitizeCurve()

DlgSettingsDigitizeCurve::~DlgSettingsDigitizeCurve ( )
virtual

Definition at line 55 of file DlgSettingsDigitizeCurve.cpp.

56{
57 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsDigitizeCurve::~DlgSettingsDigitizeCurve";
58}

Member Function Documentation

◆ createOptionalSaveDefault()

void DlgSettingsDigitizeCurve::createOptionalSaveDefault ( QHBoxLayout * layout)
virtual

Let subclass define an optional Save As Default button.

Implements DlgSettingsAbstractBase.

Definition at line 118 of file DlgSettingsDigitizeCurve.cpp.

119{
120}

◆ createSubPanel()

QWidget * DlgSettingsDigitizeCurve::createSubPanel ( )
virtual

Create dialog-specific panel to which base class will add Ok and Cancel buttons.

Implements DlgSettingsAbstractBase.

Definition at line 148 of file DlgSettingsDigitizeCurve.cpp.

149{
150 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsDigitizeCurve::createSubPanel";
151
152 QWidget *subPanel = new QWidget ();
154 subPanel->setLayout (layout);
155
156 layout->setColumnStretch (0, 1); // Empty first column
157 layout->setColumnStretch (1, 0); // Labels
158 layout->setColumnStretch (2, 0); // User controls
159 layout->setColumnStretch (3, 1); // Empty last column
160
161 int row = 0;
162 createControls(layout, row);
163 createPreview (layout, row);
164
165 return subPanel;
166}

◆ handleOk()

void DlgSettingsDigitizeCurve::handleOk ( )
protectedvirtual

Process slotOk.

Implements DlgSettingsAbstractBase.

Definition at line 168 of file DlgSettingsDigitizeCurve.cpp.

169{
170 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsDigitizeCurve::handleOk";
171
173 cmdMediator ().document(),
174 *m_modelDigitizeCurveBefore,
175 *m_modelDigitizeCurveAfter);
176 cmdMediator ().push (cmd);
177
178 hide ();
179}
Command for DlgSettingsDigitizeCurve.
CmdMediator & cmdMediator()
Provide access to Document information wrapped inside CmdMediator.

◆ load()

void DlgSettingsDigitizeCurve::load ( CmdMediator & cmdMediator)
virtual

Load settings from Document.

Implements DlgSettingsAbstractBase.

Definition at line 181 of file DlgSettingsDigitizeCurve.cpp.

182{
183 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsDigitizeCurve::load";
184
186
187 // Flush old data
188 delete m_modelDigitizeCurveBefore;
189 delete m_modelDigitizeCurveAfter;
190
191 // Save new data
192 m_modelDigitizeCurveBefore = new DocumentModelDigitizeCurve (cmdMediator.document());
193 m_modelDigitizeCurveAfter = new DocumentModelDigitizeCurve (cmdMediator.document());
194
195 // Sanity checks. Incoming defaults must be acceptable to the local limits
197 ENGAUGE_ASSERT (INNER_RADIUS_MAX >= m_modelDigitizeCurveAfter->cursorInnerRadius ());
199 ENGAUGE_ASSERT (LINE_WIDTH_MAX >= m_modelDigitizeCurveAfter->cursorLineWidth ());
200
201 // Populate controls
202 m_btnStandard->setChecked (m_modelDigitizeCurveAfter->cursorStandardCross());
203 m_btnCustom->setChecked (!m_modelDigitizeCurveAfter->cursorStandardCross());
204 m_spinInnerRadius->setValue (m_modelDigitizeCurveAfter->cursorInnerRadius());
205 int index = m_cmbSize->findData (QVariant (m_modelDigitizeCurveAfter->cursorSize()));
206 m_cmbSize->setCurrentIndex (index);
207 m_spinLineWidth->setValue (m_modelDigitizeCurveAfter->cursorLineWidth());
208
209 updateControls();
210 enableOk (false); // Disable Ok button since there not yet any changes
211 updatePreview();
212}
const int LINE_WIDTH_MAX
const int INNER_RADIUS_MAX
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS) define ENGAUGE...
Document & document()
Provide the Document to commands, primarily for undo/redo processing.
void setCmdMediator(CmdMediator &cmdMediator)
Store CmdMediator for easy access by the leaf class.
void enableOk(bool enable)
Let leaf subclass control the Ok button.
Model for DlgSettingsDigitizeCurve and CmdSettingsDigitizeCurve.
CursorSize cursorSize() const
Get method for cursor size.
int cursorInnerRadius() const
Get method for cursor inner radius.
bool cursorStandardCross() const
Get method for cursor type.
int cursorLineWidth() const
Get method for cursor line width.

◆ setSmallDialogs()

void DlgSettingsDigitizeCurve::setSmallDialogs ( bool smallDialogs)
virtual

If false then dialogs have a minimum size so all controls are visible.

Implements DlgSettingsAbstractBase.

Definition at line 214 of file DlgSettingsDigitizeCurve.cpp.

215{
216 if (!smallDialogs) {
218 }
219}
const int MINIMUM_HEIGHT

The documentation for this class was generated from the following files: