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

Dialog for editing grid display settings. More...

#include <DlgSettingsGridDisplay.h>

Inheritance diagram for DlgSettingsGridDisplay:
Inheritance graph
Collaboration diagram for DlgSettingsGridDisplay:
Collaboration graph

Public Member Functions

 DlgSettingsGridDisplay (MainWindow &mainWindow)
 Single constructor.
 
virtual ~DlgSettingsGridDisplay ()
 
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 grid display settings.

Definition at line 26 of file DlgSettingsGridDisplay.h.

Constructor & Destructor Documentation

◆ DlgSettingsGridDisplay()

DlgSettingsGridDisplay::DlgSettingsGridDisplay ( MainWindow & mainWindow)

Single constructor.

Definition at line 30 of file DlgSettingsGridDisplay.cpp.

30 :
31 DlgSettingsAbstractBase (tr ("Grid Display"),
32 "DlgSettingsGridDisplay",
34 m_validatorCountX (nullptr),
35 m_validatorStartX (nullptr),
36 m_validatorStepX (nullptr),
37 m_validatorStopX (nullptr),
38 m_validatorCountY (nullptr),
39 m_validatorStartY (nullptr),
40 m_validatorStepY (nullptr),
41 m_validatorStopY (nullptr),
42 m_scenePreview (nullptr),
43 m_viewPreview (nullptr),
44 m_modelGridDisplayBefore (nullptr),
45 m_modelGridDisplayAfter (nullptr)
46{
47 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsGridDisplay::DlgSettingsGridDisplay";
48
51}
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

◆ ~DlgSettingsGridDisplay()

DlgSettingsGridDisplay::~DlgSettingsGridDisplay ( )
virtual

Definition at line 53 of file DlgSettingsGridDisplay.cpp.

54{
55 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsGridDisplay::~DlgSettingsGridDisplay";
56
57 delete m_validatorCountX;
58 delete m_validatorStartX;
59 delete m_validatorStepX;
60 delete m_validatorStopX;
61 delete m_validatorCountY;
62 delete m_validatorStartY;
63 delete m_validatorStepY;
64 delete m_validatorStopY;
65}

Member Function Documentation

◆ createOptionalSaveDefault()

void DlgSettingsGridDisplay::createOptionalSaveDefault ( QHBoxLayout * layout)
virtual

Let subclass define an optional Save As Default button.

Implements DlgSettingsAbstractBase.

Definition at line 250 of file DlgSettingsGridDisplay.cpp.

251{
252}

◆ createSubPanel()

QWidget * DlgSettingsGridDisplay::createSubPanel ( )
virtual

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

Implements DlgSettingsAbstractBase.

Definition at line 272 of file DlgSettingsGridDisplay.cpp.

273{
274 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsGridDisplay::createSubPanel";
275
276 QWidget *subPanel = new QWidget ();
278 subPanel->setLayout (layout);
279
280 layout->setColumnStretch(0, 1); // Empty first column
281 layout->setColumnStretch(1, 0); // Checkbox part of "section" checkboxes. In other rows this has empty space as indentation
282 layout->setColumnStretch(2, 0); // X
283 layout->setColumnStretch(3, 0); // Y
284 layout->setColumnStretch(4, 1); // Empty last column
285
286 int row = 0;
287 createDisplayGridLinesX (layout, row);
288 createDisplayGridLinesY (layout, row);
289 createDisplayCommon (layout, row);
290 createPreview (layout, row);
291
292 return subPanel;
293}

◆ handleOk()

void DlgSettingsGridDisplay::handleOk ( )
protectedvirtual

Process slotOk.

Implements DlgSettingsAbstractBase.

Definition at line 295 of file DlgSettingsGridDisplay.cpp.

296{
297 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsGridDisplay::handleOk";
298
299 // Set the stable flag
300 m_modelGridDisplayAfter->setStable (true);
301
303 cmdMediator ().document(),
304 *m_modelGridDisplayBefore,
305 *m_modelGridDisplayAfter);
306 cmdMediator ().push (cmd);
307
308 hide ();
309}
Command for DlgSettingsGridDisplay.
CmdMediator & cmdMediator()
Provide access to Document information wrapped inside CmdMediator.
void setStable(bool stable)
Set method for stable flag.

◆ load()

void DlgSettingsGridDisplay::load ( CmdMediator & cmdMediator)
virtual

Load settings from Document.

Implements DlgSettingsAbstractBase.

Definition at line 311 of file DlgSettingsGridDisplay.cpp.

312{
313 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsGridDisplay::load";
314
316
317 // Flush old data
318 delete m_modelGridDisplayBefore;
319 delete m_modelGridDisplayAfter;
320
321 // Display cartesian or polar headers as appropriate
322 QString titleX = tr ("X Grid Lines");
324 titleX = QString (QChar (0x98, 0x03)) + QString (" %1").arg (tr ("Grid Lines"));
325 }
326 m_groupX->setTitle (titleX);
327
328 QString titleY = tr ("Y Grid Lines");
330 titleY = QString (tr ("Radius Grid Lines"));
331 }
332 m_groupY->setTitle (titleY);
333
334 // Save new data
335 m_modelGridDisplayBefore = new DocumentModelGridDisplay (cmdMediator.document());
336 m_modelGridDisplayAfter = new DocumentModelGridDisplay (cmdMediator.document());
337
338 // Populate controls
339 int indexDisableX = m_cmbDisableX->findData (QVariant (m_modelGridDisplayAfter->disableX()));
340 m_cmbDisableX->setCurrentIndex (indexDisableX);
341
342 m_editCountX->setText(QString::number(m_modelGridDisplayAfter->countX()));
343 m_editStartX->setText(QString::number(m_modelGridDisplayAfter->startX()));
344 m_editStepX->setText(QString::number(m_modelGridDisplayAfter->stepX()));
345 m_editStopX->setText(QString::number(m_modelGridDisplayAfter->stopX()));
346
347 int indexDisableY = m_cmbDisableY->findData (QVariant (m_modelGridDisplayAfter->disableY()));
348 m_cmbDisableY->setCurrentIndex (indexDisableY);
349
350 m_editCountY->setText(QString::number(m_modelGridDisplayAfter->countY()));
351 m_editStartY->setText(QString::number(m_modelGridDisplayAfter->startY()));
352 m_editStepY->setText(QString::number(m_modelGridDisplayAfter->stepY()));
353 m_editStopY->setText(QString::number(m_modelGridDisplayAfter->stopY()));
354
355 int indexColor = m_cmbColor->findData(QVariant(m_modelGridDisplayAfter->paletteColor()));
357 m_cmbColor->setCurrentIndex(indexColor);
358
359 m_scenePreview->addPixmap (cmdMediator.document().pixmap());
360
361 updateControls ();
362 enableOk (false); // Disable Ok button since there not yet any changes
363 updatePreview();
364}
@ COORDS_TYPE_POLAR
Definition CoordsType.h:14
#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.
CoordsType coordsType() const
Get method for coordinates type.
Model for DlgSettingsGridDisplay and CmdSettingsGridDisplay.
GridCoordDisable disableY() const
Get method for y grid line disabled variable.
unsigned int countX() const
Get method for x grid line count.
double startX() const
Get method for x grid line lower bound (inclusive).
GridCoordDisable disableX() const
Get method for x grid line disabled variable.
unsigned int countY() const
Get method for y grid line count.
double stepX() const
Get method for x grid line increment.
double stopX() const
Get method for x grid line upper bound (inclusive).
double stopY() const
Get method for y grid line upper bound (inclusive).
ColorPalette paletteColor() const
Get method for color.
double stepY() const
Get method for y grid line increment.
double startY() const
Get method for y grid line lower bound (inclusive).
QPixmap pixmap() const
Return the image that is being digitized.
Definition Document.cpp:817
DocumentModelCoords modelCoords() const
Get method for DocumentModelCoords.
Definition Document.cpp:695

◆ setSmallDialogs()

void DlgSettingsGridDisplay::setSmallDialogs ( bool smallDialogs)
virtual

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

Implements DlgSettingsAbstractBase.

Definition at line 366 of file DlgSettingsGridDisplay.cpp.

367{
368 if (!smallDialogs) {
370 }
371}
const int MINIMUM_HEIGHT

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