7 #include "CmdMediator.h" 8 #include "CmdSettingsGridRemoval.h" 9 #include "DlgSettingsGridRemoval.h" 10 #include "EngaugeAssert.h" 12 #include "MainWindow.h" 15 #include <QDoubleValidator> 16 #include <QGraphicsScene> 17 #include <QGridLayout> 19 #include <QHBoxLayout> 22 #include "ViewPreview.h" 24 const double CLOSE_DISTANCE_MAX = 64;
25 const double CLOSE_DISTANCE_MIN = 0;
26 const int CLOSE_DECIMALS = 1;
27 const int COUNT_MIN = 1;
28 const int COUNT_MAX = 100;
29 const int COUNT_DECIMALS = 0;
30 const int MINIMUM_HEIGHT = 480;
34 "DlgSettingsGridRemoval",
38 m_modelGridRemovalBefore (0),
39 m_modelGridRemovalAfter (0)
41 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::DlgSettingsGridRemoval";
47 DlgSettingsGridRemoval::~DlgSettingsGridRemoval()
49 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::~DlgSettingsGridRemoval";
56 void DlgSettingsGridRemoval::createPreview (QGridLayout *layout,
int &row)
58 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::createPreview";
60 QLabel *labelPreview =
new QLabel (tr (
"Preview"));
61 layout->addWidget (labelPreview, row++, 0, 1, 5);
63 m_scenePreview =
new QGraphicsScene (
this);
65 ViewPreview::VIEW_ASPECT_RATIO_VARIABLE,
67 m_viewPreview->setWhatsThis (tr (
"Preview window that shows how current settings affect grid removal"));
68 m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
69 m_viewPreview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
71 layout->addWidget (m_viewPreview, row++, 0, 1, 5);
74 void DlgSettingsGridRemoval::createRemoveGridLines (QGridLayout *layout,
int &row)
76 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::createRemoveGridLines";
78 m_chkRemoveGridLines =
new QCheckBox (tr (
"Remove pixels close to defined grid lines"));
79 m_chkRemoveGridLines->setWhatsThis (tr (
"Check this box to have pixels close to regularly spaced gridlines removed.\n\n" 80 "This option is only available when the axis points have all been defined."));
81 connect (m_chkRemoveGridLines, SIGNAL (stateChanged (
int)),
this, SLOT (slotRemoveGridLines (
int)));
82 layout->addWidget (m_chkRemoveGridLines, row++, 1, 1, 3);
84 QLabel *labelCloseDistance =
new QLabel (tr (
"Close distance (pixels):"));
85 layout->addWidget (labelCloseDistance, row, 2);
87 m_editCloseDistance =
new QLineEdit;
88 m_editCloseDistance->setWhatsThis (tr (
"Set closeness distance in pixels.\n\n" 89 "Pixels that are closer to the regularly spaced gridlines, than this distance, " 90 "will be removed.\n\n" 91 "This value cannot be negative. A zero value disables this feature. Decimal values are allowed"));
92 m_validatorCloseDistance =
new QDoubleValidator (CLOSE_DISTANCE_MIN, CLOSE_DISTANCE_MAX, CLOSE_DECIMALS);
93 m_editCloseDistance->setValidator (m_validatorCloseDistance);
94 connect (m_editCloseDistance, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotCloseDistance (
const QString &)));
95 layout->addWidget (m_editCloseDistance, row++, 3);
97 createRemoveGridLinesX (layout, row);
98 createRemoveGridLinesY (layout, row);
101 void DlgSettingsGridRemoval::createRemoveGridLinesX (QGridLayout *layout,
int &row)
103 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::createRemoveGridLinesX";
105 QString titleX = tr (
"X Grid Lines");
107 titleX = QString (QChar (0x98, 0x03)) + QString (
" %1").arg (tr (
"Grid Lines"));
109 QGroupBox *groupX =
new QGroupBox (titleX);
110 layout->addWidget (groupX, row, 2);
112 QGridLayout *layoutGroup =
new QGridLayout;
113 groupX->setLayout (layoutGroup);
115 QLabel *labelDisable =
new QLabel (tr (
"Disable:"));
116 layoutGroup->addWidget (labelDisable, 0, 0);
118 m_cmbDisableX =
new QComboBox;
119 m_cmbDisableX->setWhatsThis (tr (
"Disabled value.\n\n" 120 "The X grid lines are specified using only three values at a time. For flexibility, four values " 121 "are offered so you must chose which value is disabled. Once disabled, that value is simply " 122 "updated as the other values change"));
123 m_cmbDisableX->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_COUNT),
124 QVariant (GRID_COORD_DISABLE_COUNT));
125 m_cmbDisableX->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_START),
126 QVariant (GRID_COORD_DISABLE_START));
127 m_cmbDisableX->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_STEP),
128 QVariant (GRID_COORD_DISABLE_STEP));
129 m_cmbDisableX->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_STOP),
130 QVariant (GRID_COORD_DISABLE_STOP));
131 connect (m_cmbDisableX, SIGNAL (activated (
const QString &)),
this, SLOT (slotDisableX (
const QString &)));
132 layoutGroup->addWidget (m_cmbDisableX, 0, 1);
134 QLabel *labelCount =
new QLabel (tr (
"Count:"));
135 layoutGroup->addWidget (labelCount, 1, 0);
137 m_editCountX =
new QLineEdit;
138 m_editCountX->setWhatsThis (tr (
"Number of X grid lines.\n\n" 139 "The number of X grid lines must be entered as an integer greater than zero"));
140 m_validatorCountX =
new QDoubleValidator (COUNT_MIN, COUNT_MAX, COUNT_DECIMALS);
141 m_editCountX->setValidator (m_validatorCountX);
142 connect (m_editCountX, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotCountX (
const QString &)));
143 layoutGroup->addWidget (m_editCountX, 1, 1);
145 QLabel *labelStart =
new QLabel (tr (
"Start:"));
146 layoutGroup->addWidget (labelStart, 2, 0);
148 m_editStartX =
new QLineEdit;
149 m_editStartX->setWhatsThis (tr (
"Value of the first X grid line.\n\n" 150 "The start value cannot be greater than the stop value"));
151 m_validatorStartX =
new QDoubleValidator;
152 m_editStartX->setValidator (m_validatorStartX);
153 connect (m_editStartX, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotStartX (
const QString &)));
154 layoutGroup->addWidget (m_editStartX, 2, 1);
156 QLabel *labelStep =
new QLabel (tr (
"Step:"));
157 layoutGroup->addWidget (labelStep, 3, 0);
159 m_editStepX =
new QLineEdit;
160 m_editStepX->setWhatsThis (tr (
"Difference in value between two successive X grid lines.\n\n" 161 "The step value must be greater than zero"));
162 m_validatorStepX =
new QDoubleValidator;
163 m_editStepX->setValidator (m_validatorStepX);
164 connect (m_editStepX, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotStepX (
const QString &)));
165 layoutGroup->addWidget (m_editStepX, 3, 1);
167 QLabel *labelStop =
new QLabel (tr (
"Stop:"));
168 layoutGroup->addWidget (labelStop, 4, 0);
170 m_editStopX =
new QLineEdit;
171 m_editStopX->setWhatsThis (tr (
"Value of the last X grid line.\n\n" 172 "The stop value cannot be less than the start value"));
173 m_validatorStopX =
new QDoubleValidator;
174 m_editStopX->setValidator (m_validatorStopX);
175 connect (m_editStopX, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotStopX (
const QString &)));
176 layoutGroup->addWidget (m_editStopX, 4, 1);
179 void DlgSettingsGridRemoval::createRemoveGridLinesY (QGridLayout *layout,
int &row)
181 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::createRemoveGridLinesY";
183 QString titleY = tr (
"Y Grid Lines");
185 titleY = QString (tr (
"R Grid Lines"));
187 QGroupBox *groupY =
new QGroupBox (titleY);
188 layout->addWidget (groupY, row++, 3);
190 QGridLayout *layoutGroup =
new QGridLayout;
191 groupY->setLayout (layoutGroup);
193 QLabel *labelDisable =
new QLabel (tr (
"Disable:"));
194 layoutGroup->addWidget (labelDisable, 0, 0);
196 m_cmbDisableY =
new QComboBox;
197 m_cmbDisableY->setWhatsThis (tr (
"Disabled value.\n\n" 198 "The Y grid lines are specified using only three values at a time. For flexibility, four values " 199 "are offered so you must chose which value is disabled. Once disabled, that value is simply " 200 "updated as the other values change"));
201 m_cmbDisableY->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_COUNT),
202 QVariant (GRID_COORD_DISABLE_COUNT));
203 m_cmbDisableY->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_START),
204 QVariant (GRID_COORD_DISABLE_START));
205 m_cmbDisableY->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_STEP),
206 QVariant (GRID_COORD_DISABLE_STEP));
207 m_cmbDisableY->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_STOP),
208 QVariant (GRID_COORD_DISABLE_STOP));
209 connect (m_cmbDisableY, SIGNAL (activated (
const QString &)),
this, SLOT (slotDisableY (
const QString &)));
210 layoutGroup->addWidget (m_cmbDisableY, 0, 1);
212 QLabel *labelCount =
new QLabel (tr (
"Count:"));
213 layoutGroup->addWidget (labelCount, 1, 0);
215 m_editCountY =
new QLineEdit;
216 m_editCountY->setWhatsThis (tr (
"Number of Y grid lines.\n\n" 217 "The number of Y grid lines must be entered as an integer greater than zero"));
218 m_validatorCountY =
new QDoubleValidator (COUNT_MIN, COUNT_MAX, COUNT_DECIMALS);
219 m_editCountY->setValidator (m_validatorCountY);
220 connect (m_editCountY, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotCountY (
const QString &)));
221 layoutGroup->addWidget (m_editCountY, 1, 1);
223 QLabel *labelStart =
new QLabel (tr (
"Start:"));
224 layoutGroup->addWidget (labelStart, 2, 0);
226 m_editStartY =
new QLineEdit;
227 m_editStartY->setWhatsThis (tr (
"Value of the first Y grid line.\n\n" 228 "The start value cannot be greater than the stop value"));
229 m_validatorStartY =
new QDoubleValidator;
230 m_editStartY->setValidator (m_validatorStartY);
231 connect (m_editStartY, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotStartY (
const QString &)));
232 layoutGroup->addWidget (m_editStartY, 2, 1);
234 QLabel *labelStep =
new QLabel (tr (
"Step:"));
235 layoutGroup->addWidget (labelStep, 3, 0);
237 m_editStepY =
new QLineEdit;
238 m_editStepY->setWhatsThis (tr (
"Difference in value between two successive Y grid lines.\n\n" 239 "The step value must be greater than zero"));
240 m_validatorStepY =
new QDoubleValidator;
241 m_editStepY->setValidator (m_validatorStepY);
242 connect (m_editStepY, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotStepY (
const QString &)));
243 layoutGroup->addWidget (m_editStepY, 3, 1);
245 QLabel *labelStop =
new QLabel (tr (
"Stop:"));
246 layoutGroup->addWidget (labelStop, 4, 0);
248 m_editStopY =
new QLineEdit;
249 m_editStopY->setWhatsThis (tr (
"Value of the last Y grid line.\n\n" 250 "The stop value cannot be less than the start value"));
251 m_validatorStopY =
new QDoubleValidator;
252 m_editStopY->setValidator (m_validatorStopY);
253 connect (m_editStopY, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotStopY (
const QString &)));
254 layoutGroup->addWidget (m_editStopY, 4, 1);
259 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::createSubPanel";
261 QWidget *subPanel =
new QWidget ();
262 QGridLayout *layout =
new QGridLayout (subPanel);
263 subPanel->setLayout (layout);
265 layout->setColumnStretch(0, 1);
266 layout->setColumnStretch(1, 0);
267 layout->setColumnStretch(2, 0);
268 layout->setColumnStretch(3, 0);
269 layout->setColumnStretch(4, 1);
272 createRemoveGridLines (layout, row);
273 createPreview (layout, row);
280 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::handleOk";
287 *m_modelGridRemovalBefore,
288 *m_modelGridRemovalAfter);
296 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::load";
301 if (m_modelGridRemovalBefore != 0) {
302 delete m_modelGridRemovalBefore;
304 if (m_modelGridRemovalAfter != 0) {
305 delete m_modelGridRemovalAfter;
313 ENGAUGE_ASSERT (CLOSE_DISTANCE_MIN <= m_modelGridRemovalAfter->closeDistance());
314 ENGAUGE_ASSERT (CLOSE_DISTANCE_MAX >= m_modelGridRemovalAfter->
closeDistance());
319 m_editCloseDistance->setText (QString::number (m_modelGridRemovalAfter->
closeDistance()));
321 int indexDisableX = m_cmbDisableX->findData (QVariant (m_modelGridRemovalAfter->
gridCoordDisableX()));
322 m_cmbDisableX->setCurrentIndex (indexDisableX);
324 m_editCountX->setText(QString::number(m_modelGridRemovalAfter->
countX()));
325 m_editStartX->setText(QString::number(m_modelGridRemovalAfter->
startX()));
326 m_editStepX->setText(QString::number(m_modelGridRemovalAfter->
stepX()));
327 m_editStopX->setText(QString::number(m_modelGridRemovalAfter->
stopX()));
329 int indexDisableY = m_cmbDisableY->findData (QVariant (m_modelGridRemovalAfter->
gridCoordDisableY()));
330 m_cmbDisableY->setCurrentIndex (indexDisableY);
332 m_editCountY->setText(QString::number(m_modelGridRemovalAfter->
countY()));
333 m_editStartY->setText(QString::number(m_modelGridRemovalAfter->
startY()));
334 m_editStepY->setText(QString::number(m_modelGridRemovalAfter->
stepY()));
335 m_editStopY->setText(QString::number(m_modelGridRemovalAfter->
stopY()));
337 m_scenePreview->clear();
348 setMinimumHeight (MINIMUM_HEIGHT);
352 void DlgSettingsGridRemoval::slotCloseDistance(
const QString &)
354 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotCloseDistance";
356 m_modelGridRemovalAfter->
setCloseDistance(m_editCloseDistance->text().toDouble());
361 void DlgSettingsGridRemoval::slotCountX(
const QString &count)
363 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotCountX";
365 m_modelGridRemovalAfter->
setCountX(count.toInt());
370 void DlgSettingsGridRemoval::slotCountY(
const QString &count)
372 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotCountY";
374 m_modelGridRemovalAfter->
setCountY(count.toInt());
379 void DlgSettingsGridRemoval::slotDisableX(
const QString &)
381 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotDisableX";
383 GridCoordDisable gridCoordDisable = (GridCoordDisable) m_cmbDisableX->currentData().toInt();
389 void DlgSettingsGridRemoval::slotDisableY(
const QString &)
391 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotDisableY";
393 GridCoordDisable gridCoordDisable = (GridCoordDisable) m_cmbDisableY->currentData().toInt();
399 void DlgSettingsGridRemoval::slotRemoveGridLines (
int state)
401 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotRemoveGridLines";
408 void DlgSettingsGridRemoval::slotStartX(
const QString &startX)
410 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotStartX";
412 m_modelGridRemovalAfter->
setStartX(startX.toDouble());
417 void DlgSettingsGridRemoval::slotStartY(
const QString &startY)
419 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotStartY";
421 m_modelGridRemovalAfter->
setStartY(startY.toDouble());
426 void DlgSettingsGridRemoval::slotStepX(
const QString &stepX)
428 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotStepX";
430 m_modelGridRemovalAfter->
setStepX(stepX.toDouble());
435 void DlgSettingsGridRemoval::slotStepY(
const QString &stepY)
437 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotStepY";
439 m_modelGridRemovalAfter->
setStepY(stepY.toDouble());
444 void DlgSettingsGridRemoval::slotStopX(
const QString &stopX)
446 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotStopX";
448 m_modelGridRemovalAfter->
setStopX(stopX.toDouble());
453 void DlgSettingsGridRemoval::slotStopY(
const QString &stopY)
455 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotStopY";
457 m_modelGridRemovalAfter->
setStopY(stopY.toDouble());
462 void DlgSettingsGridRemoval::updateControls ()
464 m_editCloseDistance->setEnabled (m_chkRemoveGridLines->isChecked ());
466 m_cmbDisableX->setEnabled (m_chkRemoveGridLines->isChecked ());
468 GridCoordDisable disableX = (GridCoordDisable) m_cmbDisableX->currentData().toInt();
469 m_editCountX->setEnabled (m_chkRemoveGridLines->isChecked () && (disableX != GRID_COORD_DISABLE_COUNT));
470 m_editStartX->setEnabled (m_chkRemoveGridLines->isChecked () && (disableX != GRID_COORD_DISABLE_START));
471 m_editStepX->setEnabled (m_chkRemoveGridLines->isChecked () && (disableX != GRID_COORD_DISABLE_STEP));
472 m_editStopX->setEnabled (m_chkRemoveGridLines->isChecked () && (disableX != GRID_COORD_DISABLE_STOP));
474 m_cmbDisableY->setEnabled (m_chkRemoveGridLines->isChecked ());
476 GridCoordDisable disableY = (GridCoordDisable) m_cmbDisableY->currentData().toInt();
477 m_editCountY->setEnabled (m_chkRemoveGridLines->isChecked () && (disableY != GRID_COORD_DISABLE_COUNT));
478 m_editStartY->setEnabled (m_chkRemoveGridLines->isChecked () && (disableY != GRID_COORD_DISABLE_START));
479 m_editStepY->setEnabled (m_chkRemoveGridLines->isChecked () && (disableY != GRID_COORD_DISABLE_STEP));
480 m_editStopY->setEnabled (m_chkRemoveGridLines->isChecked () && (disableY != GRID_COORD_DISABLE_STOP));
482 QString textCloseDistance = m_editCloseDistance->text();
483 QString textCountX = m_editCountX->text();
484 QString textStartX = m_editStartX->text();
485 QString textStepX = m_editStepX->text();
486 QString textStopX = m_editStopX->text();
487 QString textCountY = m_editCountY->text();
488 QString textStartY = m_editStartY->text();
489 QString textStepY = m_editStepY->text();
490 QString textStopY = m_editStopY->text();
493 bool isOk = (m_validatorCloseDistance->validate (textCloseDistance, pos) == QValidator::Acceptable) &&
494 (m_validatorCountX->validate (textCountX, pos) == QValidator::Acceptable) &&
495 (m_validatorStartX->validate (textStartX, pos) == QValidator::Acceptable) &&
496 (m_validatorStepX->validate (textStepX, pos) == QValidator::Acceptable) &&
497 (m_validatorStopX->validate (textStopX, pos) == QValidator::Acceptable) &&
498 (m_validatorCountY->validate (textCountY, pos) == QValidator::Acceptable) &&
499 (m_validatorStartY->validate (textStartY, pos) == QValidator::Acceptable) &&
500 (m_validatorStepY->validate (textStepY, pos) == QValidator::Acceptable) &&
501 (m_validatorStopY->validate (textStopY, pos) == QValidator::Acceptable);
505 void DlgSettingsGridRemoval::updatePreview ()
double closeDistance() const
Get method for close distance.
GridCoordDisable gridCoordDisableX() const
Get method for x coord parameter to disable.
double stopY() const
Get method for y stop.
void setCloseDistance(double closeDistance)
Set method for close distance.
double stopX() const
Get method for x stop.
int countY() const
Get method for y count.
void setCountX(int countX)
Set method for x count.
double startY() const
Get method for y start.
void setStopY(double stopY)
Set method for y stop.
void setCmdMediator(CmdMediator &cmdMediator)
Store CmdMediator for easy access by the leaf class.
virtual void load(CmdMediator &cmdMediator)
Load settings from Document.
void setStartY(double startY)
Set method for y start.
void setStepY(double stepY)
Set method for y step.
void finishPanel(QWidget *subPanel, int minimumWidth=MINIMUM_DIALOG_WIDTH, int minimumHeightOrZero=0)
Add Ok and Cancel buttons to subpanel to get the whole dialog.
void setStartX(double startX)
Set method for x start.
double stepX() const
Get method for x step.
virtual void handleOk()
Process slotOk.
void setCountY(int countY)
Set method for y count.
virtual void createOptionalSaveDefault(QHBoxLayout *layout)
Let subclass define an optional Save As Default button.
DlgSettingsGridRemoval(MainWindow &mainWindow)
Single constructor.
bool removeDefinedGridLines() const
Get method for removing defined grid lines.
Class that modifies QGraphicsView to automatically expand/shrink the view to fit the window...
void setStepX(double stepX)
Set method for x step.
void setRemoveDefinedGridLines(bool removeDefinedGridLines)
Set method for removing defined grid lines.
void setGridCoordDisableY(GridCoordDisable gridCoordDisable)
Set method for y coord parameter to disable.
Command for DlgSettingsGridRemoval.
virtual void setSmallDialogs(bool smallDialogs)
If false then dialogs have a minimum size so all controls are visible.
void setGridCoordDisableX(GridCoordDisable gridCoordDisable)
Set method for x coord parameter to disable.
static int MINIMUM_PREVIEW_HEIGHT
Dialog layout constant that guarantees preview has sufficent room.
int countX() const
Get method for x count.
void setStable()
Set the stable flag to true. This public version has no argument since it cannot be undone...
void enableOk(bool enable)
Let leaf subclass control the Ok button.
Abstract base class for all Settings dialogs.
double startX() const
Get method for x start.
virtual QWidget * createSubPanel()
Create dialog-specific panel to which base class will add Ok and Cancel buttons.
QPixmap pixmap() const
Return the image that is being digitized.
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user...
MainWindow & mainWindow()
Get method for MainWindow.
GridCoordDisable gridCoordDisableY() const
Get method for y coord parameter to disable.
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
CmdMediator & cmdMediator()
Provide access to Document information wrapped inside CmdMediator.
void setStopX(double stopX)
Set method for x stop.
double stepY() const
Get method for y step.