7 #include "CmdMediator.h"
8 #include "CmdSettingsGridRemoval.h"
9 #include "DlgSettingsGridRemoval.h"
10 #include "EngaugeAssert.h"
11 #include "GridInitializer.h"
12 #include "GridRemoval.h"
14 #include "MainWindow.h"
17 #include <QDoubleValidator>
18 #include <QGraphicsScene>
19 #include <QGridLayout>
21 #include <QHBoxLayout>
25 #include "ViewPreview.h"
27 const double CLOSE_DISTANCE_MAX = 64;
28 const double CLOSE_DISTANCE_MIN = 0;
29 const int CLOSE_DECIMALS = 1;
30 const int COUNT_MIN = 1;
31 const int COUNT_MAX = 100;
32 const int COUNT_DECIMALS = 0;
33 const int MINIMUM_HEIGHT = 480;
37 "DlgSettingsGridRemoval",
41 m_modelGridRemovalBefore (0),
42 m_modelGridRemovalAfter (0)
44 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::DlgSettingsGridRemoval";
50 DlgSettingsGridRemoval::~DlgSettingsGridRemoval()
52 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::~DlgSettingsGridRemoval";
59 void DlgSettingsGridRemoval::createPreview (QGridLayout *layout,
int &row)
61 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::createPreview";
63 QLabel *labelPreview =
new QLabel (tr (
"Preview"));
64 layout->addWidget (labelPreview, row++, 0, 1, 5);
66 m_scenePreview =
new QGraphicsScene (
this);
68 ViewPreview::VIEW_ASPECT_RATIO_VARIABLE,
70 m_viewPreview->setWhatsThis (tr (
"Preview window that shows how current settings affect grid removal"));
71 m_viewPreview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
72 m_viewPreview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
74 layout->addWidget (m_viewPreview, row++, 0, 1, 5);
77 void DlgSettingsGridRemoval::createRemoveGridLines (QGridLayout *layout,
int &row)
79 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::createRemoveGridLines";
81 m_chkRemoveGridLines =
new QCheckBox (tr (
"Remove pixels close to defined grid lines"));
82 m_chkRemoveGridLines->setWhatsThis (tr (
"Check this box to have pixels close to regularly spaced gridlines removed.\n\n"
83 "This option is only available when the axis points have all been defined."));
84 connect (m_chkRemoveGridLines, SIGNAL (stateChanged (
int)),
this, SLOT (slotRemoveGridLines (
int)));
85 layout->addWidget (m_chkRemoveGridLines, row++, 1, 1, 3);
87 QLabel *labelCloseDistance =
new QLabel (QString (
"%1:").arg (tr (
"Close distance (pixels)")));
88 layout->addWidget (labelCloseDistance, row, 2);
90 m_editCloseDistance =
new QLineEdit;
91 m_editCloseDistance->setWhatsThis (tr (
"Set closeness distance in pixels.\n\n"
92 "Pixels that are closer to the regularly spaced gridlines, than this distance, "
93 "will be removed.\n\n"
94 "This value cannot be negative. A zero value disables this feature. Decimal values are allowed"));
95 m_validatorCloseDistance =
new QDoubleValidator (CLOSE_DISTANCE_MIN, CLOSE_DISTANCE_MAX, CLOSE_DECIMALS);
96 m_editCloseDistance->setValidator (m_validatorCloseDistance);
97 connect (m_editCloseDistance, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotCloseDistance (
const QString &)));
98 layout->addWidget (m_editCloseDistance, row++, 3);
100 createRemoveGridLinesX (layout, row);
101 createRemoveGridLinesY (layout, row);
104 void DlgSettingsGridRemoval::createRemoveGridLinesX (QGridLayout *layout,
int &row)
106 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::createRemoveGridLinesX";
108 QString titleX = tr (
"X Grid Lines");
110 titleX = QString (QChar (0x98, 0x03)) + QString (
" %1").arg (tr (
"Grid Lines"));
112 QGroupBox *groupX =
new QGroupBox (titleX);
113 layout->addWidget (groupX, row, 2);
115 QGridLayout *layoutGroup =
new QGridLayout;
116 groupX->setLayout (layoutGroup);
118 QLabel *labelDisable =
new QLabel (QString (
"%1:").arg (tr (
"Disable")));
119 layoutGroup->addWidget (labelDisable, 0, 0);
121 m_cmbDisableX =
new QComboBox;
122 m_cmbDisableX->setWhatsThis (tr (
"Disabled value.\n\n"
123 "The X grid lines are specified using only three values at a time. For flexibility, four values "
124 "are offered so you must chose which value is disabled. Once disabled, that value is simply "
125 "updated as the other values change"));
126 m_cmbDisableX->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_COUNT),
127 QVariant (GRID_COORD_DISABLE_COUNT));
128 m_cmbDisableX->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_START),
129 QVariant (GRID_COORD_DISABLE_START));
130 m_cmbDisableX->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_STEP),
131 QVariant (GRID_COORD_DISABLE_STEP));
132 m_cmbDisableX->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_STOP),
133 QVariant (GRID_COORD_DISABLE_STOP));
134 connect (m_cmbDisableX, SIGNAL (activated (
const QString &)),
this, SLOT (slotDisableX (
const QString &)));
135 layoutGroup->addWidget (m_cmbDisableX, 0, 1);
137 QLabel *labelCount =
new QLabel (QString (
"%1:").arg (tr (
"Count")));
138 layoutGroup->addWidget (labelCount, 1, 0);
140 m_editCountX =
new QLineEdit;
141 m_editCountX->setWhatsThis (tr (
"Number of X grid lines.\n\n"
142 "The number of X grid lines must be entered as an integer greater than zero"));
143 m_validatorCountX =
new QDoubleValidator (COUNT_MIN, COUNT_MAX, COUNT_DECIMALS);
144 m_editCountX->setValidator (m_validatorCountX);
145 connect (m_editCountX, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotCountX (
const QString &)));
146 layoutGroup->addWidget (m_editCountX, 1, 1);
148 QLabel *labelStart =
new QLabel (QString (
"%1:").arg (tr (
"Start")));
149 layoutGroup->addWidget (labelStart, 2, 0);
151 m_editStartX =
new QLineEdit;
152 m_editStartX->setWhatsThis (tr (
"Value of the first X grid line.\n\n"
153 "The start value cannot be greater than the stop value"));
154 m_validatorStartX =
new QDoubleValidator;
155 m_editStartX->setValidator (m_validatorStartX);
156 connect (m_editStartX, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotStartX (
const QString &)));
157 layoutGroup->addWidget (m_editStartX, 2, 1);
159 QLabel *labelStep =
new QLabel (QString (
"%1:").arg (tr (
"Step")));
160 layoutGroup->addWidget (labelStep, 3, 0);
162 m_editStepX =
new QLineEdit;
163 m_editStepX->setWhatsThis (tr (
"Difference in value between two successive X grid lines.\n\n"
164 "The step value must be greater than zero"));
165 m_validatorStepX =
new QDoubleValidator;
166 m_editStepX->setValidator (m_validatorStepX);
167 connect (m_editStepX, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotStepX (
const QString &)));
168 layoutGroup->addWidget (m_editStepX, 3, 1);
170 QLabel *labelStop =
new QLabel (QString (
"%1:").arg (tr (
"Stop")));
171 layoutGroup->addWidget (labelStop, 4, 0);
173 m_editStopX =
new QLineEdit;
174 m_editStopX->setWhatsThis (tr (
"Value of the last X grid line.\n\n"
175 "The stop value cannot be less than the start value"));
176 m_validatorStopX =
new QDoubleValidator;
177 m_editStopX->setValidator (m_validatorStopX);
178 connect (m_editStopX, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotStopX (
const QString &)));
179 layoutGroup->addWidget (m_editStopX, 4, 1);
182 void DlgSettingsGridRemoval::createRemoveGridLinesY (QGridLayout *layout,
int &row)
184 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::createRemoveGridLinesY";
186 QString titleY = tr (
"Y Grid Lines");
188 titleY = QString (tr (
"R Grid Lines"));
190 QGroupBox *groupY =
new QGroupBox (titleY);
191 layout->addWidget (groupY, row++, 3);
193 QGridLayout *layoutGroup =
new QGridLayout;
194 groupY->setLayout (layoutGroup);
196 QLabel *labelDisable =
new QLabel (QString (
"%1:").arg (tr (
"Disable")));
197 layoutGroup->addWidget (labelDisable, 0, 0);
199 m_cmbDisableY =
new QComboBox;
200 m_cmbDisableY->setWhatsThis (tr (
"Disabled value.\n\n"
201 "The Y grid lines are specified using only three values at a time. For flexibility, four values "
202 "are offered so you must chose which value is disabled. Once disabled, that value is simply "
203 "updated as the other values change"));
204 m_cmbDisableY->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_COUNT),
205 QVariant (GRID_COORD_DISABLE_COUNT));
206 m_cmbDisableY->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_START),
207 QVariant (GRID_COORD_DISABLE_START));
208 m_cmbDisableY->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_STEP),
209 QVariant (GRID_COORD_DISABLE_STEP));
210 m_cmbDisableY->addItem(gridCoordDisableToString (GRID_COORD_DISABLE_STOP),
211 QVariant (GRID_COORD_DISABLE_STOP));
212 connect (m_cmbDisableY, SIGNAL (activated (
const QString &)),
this, SLOT (slotDisableY (
const QString &)));
213 layoutGroup->addWidget (m_cmbDisableY, 0, 1);
215 QLabel *labelCount =
new QLabel (QString (
"%1:").arg (tr (
"Count")));
216 layoutGroup->addWidget (labelCount, 1, 0);
218 m_editCountY =
new QLineEdit;
219 m_editCountY->setWhatsThis (tr (
"Number of Y grid lines.\n\n"
220 "The number of Y grid lines must be entered as an integer greater than zero"));
221 m_validatorCountY =
new QDoubleValidator (COUNT_MIN, COUNT_MAX, COUNT_DECIMALS);
222 m_editCountY->setValidator (m_validatorCountY);
223 connect (m_editCountY, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotCountY (
const QString &)));
224 layoutGroup->addWidget (m_editCountY, 1, 1);
226 QLabel *labelStart =
new QLabel (QString (
"%1:").arg (tr (
"Start")));
227 layoutGroup->addWidget (labelStart, 2, 0);
229 m_editStartY =
new QLineEdit;
230 m_editStartY->setWhatsThis (tr (
"Value of the first Y grid line.\n\n"
231 "The start value cannot be greater than the stop value"));
232 m_validatorStartY =
new QDoubleValidator;
233 m_editStartY->setValidator (m_validatorStartY);
234 connect (m_editStartY, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotStartY (
const QString &)));
235 layoutGroup->addWidget (m_editStartY, 2, 1);
237 QLabel *labelStep =
new QLabel (QString (
"%1:").arg (tr (
"Step")));
238 layoutGroup->addWidget (labelStep, 3, 0);
240 m_editStepY =
new QLineEdit;
241 m_editStepY->setWhatsThis (tr (
"Difference in value between two successive Y grid lines.\n\n"
242 "The step value must be greater than zero"));
243 m_validatorStepY =
new QDoubleValidator;
244 m_editStepY->setValidator (m_validatorStepY);
245 connect (m_editStepY, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotStepY (
const QString &)));
246 layoutGroup->addWidget (m_editStepY, 3, 1);
248 QLabel *labelStop =
new QLabel (QString (
"%1:").arg (tr (
"Stop")));
249 layoutGroup->addWidget (labelStop, 4, 0);
251 m_editStopY =
new QLineEdit;
252 m_editStopY->setWhatsThis (tr (
"Value of the last Y grid line.\n\n"
253 "The stop value cannot be less than the start value"));
254 m_validatorStopY =
new QDoubleValidator;
255 m_editStopY->setValidator (m_validatorStopY);
256 connect (m_editStopY, SIGNAL (textChanged (
const QString &)),
this, SLOT (slotStopY (
const QString &)));
257 layoutGroup->addWidget (m_editStopY, 4, 1);
262 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::createSubPanel";
264 QWidget *subPanel =
new QWidget ();
265 QGridLayout *layout =
new QGridLayout (subPanel);
266 subPanel->setLayout (layout);
268 layout->setColumnStretch(0, 1);
269 layout->setColumnStretch(1, 0);
270 layout->setColumnStretch(2, 0);
271 layout->setColumnStretch(3, 0);
272 layout->setColumnStretch(4, 1);
275 createRemoveGridLines (layout, row);
276 createPreview (layout, row);
283 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::handleOk";
290 *m_modelGridRemovalBefore,
291 *m_modelGridRemovalAfter);
299 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::load";
304 delete m_modelGridRemovalBefore;
305 delete m_modelGridRemovalAfter;
312 ENGAUGE_ASSERT (CLOSE_DISTANCE_MIN <= m_modelGridRemovalAfter->closeDistance());
313 ENGAUGE_ASSERT (CLOSE_DISTANCE_MAX >= m_modelGridRemovalAfter->
closeDistance());
318 m_editCloseDistance->setText (QString::number (m_modelGridRemovalAfter->
closeDistance()));
320 int indexDisableX = m_cmbDisableX->findData (QVariant (m_modelGridRemovalAfter->
gridCoordDisableX()));
321 m_cmbDisableX->setCurrentIndex (indexDisableX);
323 m_editCountX->setText(QString::number(m_modelGridRemovalAfter->
countX()));
324 m_editStartX->setText(QString::number(m_modelGridRemovalAfter->
startX()));
325 m_editStepX->setText(QString::number(m_modelGridRemovalAfter->
stepX()));
326 m_editStopX->setText(QString::number(m_modelGridRemovalAfter->
stopX()));
328 int indexDisableY = m_cmbDisableY->findData (QVariant (m_modelGridRemovalAfter->
gridCoordDisableY()));
329 m_cmbDisableY->setCurrentIndex (indexDisableY);
331 m_editCountY->setText(QString::number(m_modelGridRemovalAfter->
countY()));
332 m_editStartY->setText(QString::number(m_modelGridRemovalAfter->
startY()));
333 m_editStepY->setText(QString::number(m_modelGridRemovalAfter->
stepY()));
334 m_editStopY->setText(QString::number(m_modelGridRemovalAfter->
stopY()));
344 setMinimumHeight (MINIMUM_HEIGHT);
348 void DlgSettingsGridRemoval::slotCloseDistance(
const QString &)
350 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotCloseDistance";
352 m_modelGridRemovalAfter->
setCloseDistance(m_editCloseDistance->text().toDouble());
357 void DlgSettingsGridRemoval::slotCountX(
const QString &count)
359 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotCountX";
361 m_modelGridRemovalAfter->
setCountX(count.toInt());
362 updateDisplayedVariableX ();
367 void DlgSettingsGridRemoval::slotCountY(
const QString &count)
369 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotCountY";
371 m_modelGridRemovalAfter->
setCountY(count.toInt());
372 updateDisplayedVariableY ();
377 void DlgSettingsGridRemoval::slotDisableX(
const QString &)
379 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotDisableX";
381 GridCoordDisable gridCoordDisable = (GridCoordDisable) m_cmbDisableX->currentData().toInt();
383 updateDisplayedVariableX ();
388 void DlgSettingsGridRemoval::slotDisableY(
const QString &)
390 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotDisableY";
392 GridCoordDisable gridCoordDisable = (GridCoordDisable) m_cmbDisableY->currentData().toInt();
394 updateDisplayedVariableY ();
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());
413 updateDisplayedVariableX ();
418 void DlgSettingsGridRemoval::slotStartY(
const QString &startY)
420 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotStartY";
422 m_modelGridRemovalAfter->
setStartY(startY.toDouble());
423 updateDisplayedVariableY ();
428 void DlgSettingsGridRemoval::slotStepX(
const QString &stepX)
430 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotStepX";
432 m_modelGridRemovalAfter->
setStepX(stepX.toDouble());
433 updateDisplayedVariableX ();
438 void DlgSettingsGridRemoval::slotStepY(
const QString &stepY)
440 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotStepY";
442 m_modelGridRemovalAfter->
setStepY(stepY.toDouble());
443 updateDisplayedVariableY ();
448 void DlgSettingsGridRemoval::slotStopX(
const QString &stopX)
450 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotStopX";
452 m_modelGridRemovalAfter->
setStopX(stopX.toDouble());
453 updateDisplayedVariableX ();
458 void DlgSettingsGridRemoval::slotStopY(
const QString &stopY)
460 LOG4CPP_INFO_S ((*mainCat)) <<
"DlgSettingsGridRemoval::slotStopY";
462 m_modelGridRemovalAfter->
setStopY(stopY.toDouble());
463 updateDisplayedVariableY ();
468 void DlgSettingsGridRemoval::updateControls ()
470 m_editCloseDistance->setEnabled (m_chkRemoveGridLines->isChecked ());
472 m_cmbDisableX->setEnabled (m_chkRemoveGridLines->isChecked ());
474 GridCoordDisable disableX = (GridCoordDisable) m_cmbDisableX->currentData().toInt();
475 m_editCountX->setEnabled (m_chkRemoveGridLines->isChecked () && (disableX != GRID_COORD_DISABLE_COUNT));
476 m_editStartX->setEnabled (m_chkRemoveGridLines->isChecked () && (disableX != GRID_COORD_DISABLE_START));
477 m_editStepX->setEnabled (m_chkRemoveGridLines->isChecked () && (disableX != GRID_COORD_DISABLE_STEP));
478 m_editStopX->setEnabled (m_chkRemoveGridLines->isChecked () && (disableX != GRID_COORD_DISABLE_STOP));
480 m_cmbDisableY->setEnabled (m_chkRemoveGridLines->isChecked ());
482 GridCoordDisable disableY = (GridCoordDisable) m_cmbDisableY->currentData().toInt();
483 m_editCountY->setEnabled (m_chkRemoveGridLines->isChecked () && (disableY != GRID_COORD_DISABLE_COUNT));
484 m_editStartY->setEnabled (m_chkRemoveGridLines->isChecked () && (disableY != GRID_COORD_DISABLE_START));
485 m_editStepY->setEnabled (m_chkRemoveGridLines->isChecked () && (disableY != GRID_COORD_DISABLE_STEP));
486 m_editStopY->setEnabled (m_chkRemoveGridLines->isChecked () && (disableY != GRID_COORD_DISABLE_STOP));
488 QString textCloseDistance = m_editCloseDistance->text();
489 QString textCountX = m_editCountX->text();
490 QString textStartX = m_editStartX->text();
491 QString textStepX = m_editStepX->text();
492 QString textStopX = m_editStopX->text();
493 QString textCountY = m_editCountY->text();
494 QString textStartY = m_editStartY->text();
495 QString textStepY = m_editStepY->text();
496 QString textStopY = m_editStopY->text();
499 bool isOk = (m_validatorCloseDistance->validate (textCloseDistance, pos) == QValidator::Acceptable) &&
500 (m_validatorCountX->validate (textCountX, pos) == QValidator::Acceptable) &&
501 (m_validatorStartX->validate (textStartX, pos) == QValidator::Acceptable) &&
502 (m_validatorStepX->validate (textStepX, pos) == QValidator::Acceptable) &&
503 (m_validatorStopX->validate (textStopX, pos) == QValidator::Acceptable) &&
504 (m_validatorCountY->validate (textCountY, pos) == QValidator::Acceptable) &&
505 (m_validatorStartY->validate (textStartY, pos) == QValidator::Acceptable) &&
506 (m_validatorStepY->validate (textStepY, pos) == QValidator::Acceptable) &&
507 (m_validatorStopY->validate (textStopY, pos) == QValidator::Acceptable);
511 void DlgSettingsGridRemoval::updateDisplayedVariableX ()
518 case GRID_COORD_DISABLE_COUNT:
519 m_editCountX->setText (QString::number (initializer.
computeCount (linearAxis,
520 m_modelGridRemovalAfter->
startX (),
521 m_modelGridRemovalAfter->
stopX (),
522 m_modelGridRemovalAfter->
stepX ())));
525 case GRID_COORD_DISABLE_START:
526 m_editStartX->setText (QString::number (initializer.
computeStart (linearAxis,
527 m_modelGridRemovalAfter->
stopX (),
528 m_modelGridRemovalAfter->
stepX (),
529 m_modelGridRemovalAfter->
countX ())));
532 case GRID_COORD_DISABLE_STEP:
533 m_editStepX->setText (QString::number (initializer.
computeStep (linearAxis,
534 m_modelGridRemovalAfter->
startX (),
535 m_modelGridRemovalAfter->
stopX (),
536 m_modelGridRemovalAfter->
countX ())));
539 case GRID_COORD_DISABLE_STOP:
540 m_editStopX->setText (QString::number (initializer.
computeStop (linearAxis,
541 m_modelGridRemovalAfter->
startX (),
542 m_modelGridRemovalAfter->
stepX (),
543 m_modelGridRemovalAfter->
countX ())));
547 LOG4CPP_ERROR_S ((*mainCat)) <<
"DlgSettingsGridRemoval::updateDisplayedVariableX";
552 void DlgSettingsGridRemoval::updateDisplayedVariableY ()
559 case GRID_COORD_DISABLE_COUNT:
560 m_editCountY->setText (QString::number (initializer.
computeCount (linearAxis,
561 m_modelGridRemovalAfter->
startY (),
562 m_modelGridRemovalAfter->
stopY (),
563 m_modelGridRemovalAfter->
stepY ())));
566 case GRID_COORD_DISABLE_START:
567 m_editStartY->setText (QString::number (initializer.
computeStart (linearAxis,
568 m_modelGridRemovalAfter->
stopY (),
569 m_modelGridRemovalAfter->
stepY (),
570 m_modelGridRemovalAfter->
countY ())));
573 case GRID_COORD_DISABLE_STEP:
574 m_editStepY->setText (QString::number (initializer.
computeStep (linearAxis,
575 m_modelGridRemovalAfter->
startY (),
576 m_modelGridRemovalAfter->
stopY (),
577 m_modelGridRemovalAfter->
countY ())));
580 case GRID_COORD_DISABLE_STOP:
581 m_editStopY->setText (QString::number (initializer.
computeStop (linearAxis,
582 m_modelGridRemovalAfter->
startY (),
583 m_modelGridRemovalAfter->
stepY (),
584 m_modelGridRemovalAfter->
countY ())));
588 LOG4CPP_ERROR_S ((*mainCat)) <<
"DlgSettingsGridRemoval::updateDisplayedVariableY";
593 void DlgSettingsGridRemoval::updatePreview ()
597 QPixmap pixmap = gridRemoval.remove (
mainWindow ().transformation(),
598 *m_modelGridRemovalAfter,
601 m_scenePreview->clear();
602 m_scenePreview->addPixmap (pixmap);
double closeDistance() const
Get method for close distance.
int computeCount(bool linearAxis, double start, double stop, double step) const
Compute axis scale count from the other axis parameters.
bool removeDefinedGridLines() const
Get method for removing defined grid lines.
void setCloseDistance(double closeDistance)
Set method for close distance.
double startY() const
Get method for y start.
void setCountX(int countX)
Set method for x count.
void setStopY(double stopY)
Set method for y stop.
void setCmdMediator(CmdMediator &cmdMediator)
Store CmdMediator for easy access by the leaf class.
CoordScale coordScaleYRadius() const
Get method for linear/log scale on y/radius.
DocumentModelCoords modelCoords() const
Get method for DocumentModelCoords.
virtual void load(CmdMediator &cmdMediator)
Load settings from Document.
void setStartY(double startY)
Set method for y start.
GridCoordDisable gridCoordDisableX() const
Get method for x coord parameter to disable.
void setStepY(double stepY)
Set method for y step.
double computeStart(bool linearAxis, double stop, double step, int count) const
Compute axis scale start from the other axis parameters.
double stepY() const
Get method for y step.
GridCoordDisable gridCoordDisableY() const
Get method for y coord parameter to disable.
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.
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.
Class that modifies QGraphicsView to automatically expand/shrink the view to fit the window...
void setStepX(double stepX)
Set method for x step.
CoordScale coordScaleXTheta() const
Get method for linear/log scale on x/theta.
double stopX() const
Get method for x stop.
This class initializes the count, start, step and stop parameters for one coordinate (either x/theta ...
void setRemoveDefinedGridLines(bool removeDefinedGridLines)
Set method for removing defined grid lines.
double startX() const
Get method for x start.
double stopY() const
Get method for y stop.
double computeStop(bool linearAxis, double start, double step, int count) const
Compute axis scale stop from the other axis parameters.
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.
int countX() const
Get method for x count.
int countY() const
Get method for y count.
static int MINIMUM_PREVIEW_HEIGHT
Dialog layout constant that guarantees preview has sufficent room.
double stepX() const
Get method for x step.
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 computeStep(bool linearAxis, double start, double stop, int count) const
Compute axis scale step from the other axis parameters.
virtual QWidget * createSubPanel()
Create dialog-specific panel to which base class will add Ok and Cancel buttons.
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user...
MainWindow & mainWindow()
Get method for MainWindow.
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.
Strategy class for grid removal.