Engauge Digitizer 2
Loading...
Searching...
No Matches
DlgSettingsGuideline Class Reference

Dialog for editing guideline settings. More...

#include <DlgSettingsGuideline.h>

Inheritance diagram for DlgSettingsGuideline:
Inheritance graph
Collaboration diagram for DlgSettingsGuideline:
Collaboration graph

Public Member Functions

 DlgSettingsGuideline (MainWindow &mainWindow)
 Single constructor.
virtual ~DlgSettingsGuideline ()
virtual void createOptionalSaveDefault (QHBoxLayout *layout)
 Let subclass define an optional Save As Default button.
virtual QWidget * createSubPanel ()
 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 addPixmap (QGraphicsScene &scene, const QPixmap &pixmap)
 Adds pixmap to the scene.
void createWhatsThis (QGridLayout *layout, ButtonWhatsThis *button, int row, int column)
 Create a WhatsThis button in a grid layout.
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 guideline settings.

Definition at line 28 of file DlgSettingsGuideline.h.

Constructor & Destructor Documentation

◆ DlgSettingsGuideline()

DlgSettingsGuideline::DlgSettingsGuideline ( MainWindow & mainWindow)

Single constructor.

Definition at line 52 of file DlgSettingsGuideline.cpp.

52 :
53 DlgSettingsAbstractBase (tr ("Guidelines"),
54 "DlgSettingsGuideline",
56 m_scenePreviewActive (nullptr),
57 m_viewPreviewActive (nullptr),
58 m_scenePreviewInactive (nullptr),
59 m_viewPreviewInactive (nullptr),
60 m_itemGuidelineXTActive (nullptr),
61 m_itemGuidelineYActive (nullptr),
62 m_itemGuidelineRActive (nullptr),
63 m_itemCentipedeXTActive (nullptr),
64 m_itemCentipedeYActive (nullptr),
65 m_itemCentipedeRActive (nullptr),
66 m_itemCentipedeCircleActive (nullptr),
67 m_itemGuidelineXTInactive (nullptr),
68 m_itemGuidelineYInactive (nullptr),
69 m_itemGuidelineRInactive (nullptr),
70 m_modelGuidelineBefore (nullptr),
71 m_modelGuidelineAfter (nullptr)
72{
73 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsGuideline::DlgSettingsGuideline";
74
75 QWidget *subPanel = createSubPanel ();
76 finishPanel (subPanel,
78}
const int MINIMUM_DIALOG_WIDTH_GUIDELINES
log4cpp::Category * mainCat
Definition Logger.cpp:14
DlgSettingsAbstractBase(const QString &title, const QString &dialogName, MainWindow &mainWindow)
Single constructor.
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

◆ ~DlgSettingsGuideline()

DlgSettingsGuideline::~DlgSettingsGuideline ( )
virtual

Definition at line 80 of file DlgSettingsGuideline.cpp.

81{
82 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsGuideline::~DlgSettingsGuideline";
83}

Member Function Documentation

◆ createOptionalSaveDefault()

void DlgSettingsGuideline::createOptionalSaveDefault ( QHBoxLayout * layout)
virtual

Let subclass define an optional Save As Default button.

Implements DlgSettingsAbstractBase.

Definition at line 194 of file DlgSettingsGuideline.cpp.

195{
196 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsGuideline::createOptionalSaveDefault";
197}

◆ createSubPanel()

QWidget * DlgSettingsGuideline::createSubPanel ( )
virtual

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

Implements DlgSettingsAbstractBase.

Definition at line 246 of file DlgSettingsGuideline.cpp.

247{
248 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsGuideline::createSubPanel";
249
250 QWidget *subPanel = new QWidget ();
251 QGridLayout *layout = new QGridLayout (subPanel);
252 subPanel->setLayout (layout);
253
254 layout->setColumnStretch(0, 1); // Empty first column
255 layout->setColumnStretch(1, 0); // Labels
256 layout->setColumnStretch(2, 0); // Values
257 layout->setColumnStretch(3, 1); // Empty first column
258
259 int row = 0;
260 createControls (layout, row);
261 createPreview (layout, row);
262
263 return subPanel;
264}

◆ handleOk()

void DlgSettingsGuideline::handleOk ( )
protectedvirtual

Process slotOk.

Implements DlgSettingsAbstractBase.

Definition at line 266 of file DlgSettingsGuideline.cpp.

267{
268 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsGuideline::handleOk";
269
270 CmdSettingsGuideline *cmd = new CmdSettingsGuideline (mainWindow (),
271 cmdMediator().document(),
272 *m_modelGuidelineBefore,
273 *m_modelGuidelineAfter);
274 cmdMediator ().push (cmd);
275
276 hide ();
277}
CmdMediator & cmdMediator()
Provide access to Document information wrapped inside CmdMediator.

◆ load()

void DlgSettingsGuideline::load ( CmdMediator & cmdMediator)
virtual

Load settings from Document.

Implements DlgSettingsAbstractBase.

Definition at line 279 of file DlgSettingsGuideline.cpp.

280{
281 LOG4CPP_INFO_S ((*mainCat)) << "DlgSettingsGuideline::load";
282
284
285 // Flush old data
286 delete m_modelGuidelineBefore;
287 delete m_modelGuidelineAfter;
288
289 // Save new data
290 m_modelGuidelineBefore = new DocumentModelGuideline (cmdMediator.document());
291 m_modelGuidelineAfter = new DocumentModelGuideline (cmdMediator.document());
292
293 // Populate controls
294 m_spinCreationCircleRadius->setValue (qFloor (m_modelGuidelineAfter->creationCircleRadius ()));
295 int indexColor = m_lineColor->findData(QVariant(m_modelGuidelineAfter->lineColor()));
296 ENGAUGE_ASSERT (indexColor >= 0);
297 m_lineColor->setCurrentIndex(indexColor);
298 m_spinLineWidthActive->setValue (qFloor (m_modelGuidelineAfter->lineWidthActive ()));
299 m_spinLineWidthInactive->setValue (qFloor (m_modelGuidelineAfter->lineWidthInactive ()));
300
301 removeOldWidgetsActive();
302 removeOldWidgetsInactive();
303 loadImages (cmdMediator);
304 createLines();
305 updatePreview();
306 updateControls ();
307 enableOk (false); // Disable Ok button since there not yet any changes
308}
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT.
void setCmdMediator(CmdMediator &cmdMediator)
Store CmdMediator for easy access by the leaf class.
void enableOk(bool enable)
Let leaf subclass control the Ok button.

◆ setSmallDialogs()

void DlgSettingsGuideline::setSmallDialogs ( bool smallDialogs)
virtual

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

Implements DlgSettingsAbstractBase.

Definition at line 376 of file DlgSettingsGuideline.cpp.

377{
378 if (!smallDialogs) {
379 setMinimumHeight (MINIMUM_HEIGHT);
380 }
381}
const int MINIMUM_HEIGHT

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