All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
GridSettingsOutside.cpp
Go to the documentation of this file.
1 /* Copyright (C) 2001-2014 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file GridSettingsOutside.cpp
22 
23  \brief
24 
25  \ingroup layout
26 */
27 
28 // TerraLib
29 #include "GridSettingsOutside.h"
30 #include "ui_GridSettings.h"
31 #include "OutsideObserver.h"
32 #include "OutsideController.h"
33 #include "GridSettingsController.h"
34 #include "Variant.h"
37 
38 // STL
39 #include <string>
40 #include <sstream>
41 
42 // Qt
43 #include <QColorDialog>
44 #include <QFrame>
45 #include <QLineEdit>
46 #include <QValidator>
47 #include <QComboBox>
48 #include <QCheckBox>
49 #include <QMessageBox>
50 #include <QObjectList>
51 
53  QDialog(0),
54  OutsideObserver(controller, o),
55  m_ui(new Ui::GridSettings)
56 {
59 
60  m_ui->setupUi(this);
61 
62  setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint
63  | Qt::WindowTitleHint | Qt::WindowStaysOnTopHint );
64 
65  init();
66 }
67 
69 {
70  if(m_planarGridSettings)
71  {
72  delete m_planarGridSettings;
73  m_planarGridSettings = 0;
74  }
75 
76  if(m_geodesicGridSettings)
77  {
78  delete m_geodesicGridSettings;
79  m_geodesicGridSettings = 0;
80  }
81 }
82 
84 {
85  m_ui->lneVrtPlanarDisplacement->setValidator(new QDoubleValidator(this));
86  m_ui->lneHrzPlanarDisplacement->setValidator(new QDoubleValidator(this));
87 
88  m_ui->lneVrtGeoDisplacement->setValidator(new QDoubleValidator(this));
89  m_ui->lneHrzGeoDisplacement->setValidator(new QDoubleValidator(this));
90 
91  m_ui->lneCornerHrzGeoDisplacement->setValidator(new QDoubleValidator(this));
92  m_ui->lneCornerVrtGeoDisplacement->setValidator(new QDoubleValidator(this));
93 
94  m_ui->lneHrzPlanarGap->setValidator(new QDoubleValidator(this));
95  m_ui->lneVrtPlanarGap->setValidator(new QDoubleValidator(this));
96 
97  m_ui->lneX1->setValidator(new QDoubleValidator(this));
98  m_ui->lneY1->setValidator(new QDoubleValidator(this));
99  m_ui->lneX2->setValidator(new QDoubleValidator(this));
100  m_ui->lneY2->setValidator(new QDoubleValidator(this));
101  m_ui->lneX3->setValidator(new QDoubleValidator(this));
102  m_ui->lneY3->setValidator(new QDoubleValidator(this));
103  m_ui->lneX4->setValidator(new QDoubleValidator(this));
104  m_ui->lneY4->setValidator(new QDoubleValidator(this));
105  m_ui->cmbScale->hide();
106  m_ui->ckDefineScale->hide();
107 
108  m_ui->fraCornerTextGeoColor->setAutoFillBackground(true);
109  m_ui->fraGridTextGeoColor->setAutoFillBackground(true);
110  m_ui->fraGridTextPlanarColor->setAutoFillBackground(true);
111  m_ui->fraPlanarLineColor->setAutoFillBackground(true);
112 }
113 
115 {
116  setVisible(context.getShow());
117  if(context.getShow() == true)
118  show();
119  else
120  hide();
121 
122  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
123  if(!controller)
124  return;
125 }
126 
127 void te::layout::GridSettingsOutside::setPosition( const double& x, const double& y )
128 {
129  move(x,y);
130  refresh();
131 }
132 
134 {
135  QPointF posF = pos();
136  qreal valuex = posF.x();
137  qreal valuey = posF.y();
138 
139  te::gm::Coord2D coordinate;
140  coordinate.x = valuex;
141  coordinate.y = valuey;
142 
143  return coordinate;
144 }
145 
147 {
148  QObjectList list = children();
149 
150  QList<QObject*>::Iterator it;
151  for(it = list.begin() ; it != list.end() ; ++it)
152  {
153  QObject* obj = (*it);
154  QWidget* w = dynamic_cast<QWidget*>(obj);
155  if(w)
156  {
157  if(w->isVisible())
158  {
159  w->setEnabled(false);
160  }
161  }
162  }
163 }
164 
166 {
167  QObjectList list = children();
168 
169  QList<QObject*>::Iterator it;
170  for(it = list.begin() ; it != list.end() ; ++it)
171  {
172  QObject* obj = (*it);
173  QWidget* w = dynamic_cast<QWidget*>(obj);
174  if(w)
175  {
176  if(w->isVisible())
177  {
178  w->setEnabled(true);
179  }
180  }
181  }
182 }
183 
185 {
186  int degree = 0, minute = 0;
187  float second = 0;
188  int status = 0;
189  std::basic_string <char>::size_type index;
190  std::string strDegree = "";
191  double ret = 0;
192 
193  strDegree=value.toLatin1();
194  if((index=strDegree.find("º")) !=std::string::npos)
195  {
196  strDegree.replace(index,1,"");
197  }
198  if((index=strDegree.find("°")) !=std::string::npos)
199  {
200  strDegree.replace(index,1,"");
201  }
202 
203  if((index=strDegree.find("'")) !=std::string::npos)
204  {
205  strDegree.replace(index,1,"");
206  }
207  if((index=strDegree.find("'")) !=std::string::npos)
208  {
209  strDegree.replace(index,1,"");
210  }
211 
212  status=sscanf(strDegree.c_str(),"%d %d %f",&degree,&minute,&second);
213  if(status!=3) return false;
214 
215  return true;
216 
217 }
218 
220 {
221  te::color::RGBAColor rgbaColor;
222 
223  QPalette ptt(widget->palette());
224  QBrush brush = ptt.brush(widget->backgroundRole());
225 
226  QColor bColor = brush.color();
227  rgbaColor.setColor(bColor.red(), bColor.green(), bColor.blue());
228 
229  QColor color = QColorDialog::getColor(brush.color(),this, "Color" );
230 
231  if(!color.isValid())
232  return rgbaColor;
233 
234  QPalette paltt(widget->palette());
235  paltt.setColor(widget->backgroundRole(), color);
236  widget->setPalette(paltt);
237  widget->setAutoFillBackground(true);
238 
239  rgbaColor.setColor(color.red(), color.green(), color.blue());
240 
241  return rgbaColor;
242 }
243 
245 {
246  /* Grid */
247 
248  initCombo(m_ui->cmbUnit, m_planarGridSettings->getUnit(), TypePlanar);
249 
250  initBool(m_ui->chkShowPlanar, m_planarGridSettings->getVisible(), TypePlanar);
251 
252  initCombo(m_ui->cmbPlanarStyle, m_planarGridSettings->getStyle(), TypePlanar);
253 
254  initCombo(m_ui->cmbGridStyle, m_geodesicGridSettings->getStyle(), TypeGeodesic);
255 
256  initBool(m_ui->chkShowGeodesic, m_geodesicGridSettings->getVisible(), TypeGeodesic);
257 
258  ///* Line */
259 
260  initDouble(m_ui->lneHrzPlanarGap, m_planarGridSettings->getLneHrzGap(), TypePlanar);
261 
262  initDouble(m_ui->lneVrtPlanarGap, m_planarGridSettings->getLneVrtGap(), TypePlanar);
263 
264  initDouble(m_ui->lneHorizontalGap, m_geodesicGridSettings->getLneHrzGap(), TypeGeodesic);
265 
266  initDouble(m_ui->lneVerticalGap, m_geodesicGridSettings->getLneVrtGap(), TypeGeodesic);
267 
268  initColor(m_ui->fraPlanarLineColor, m_planarGridSettings->getLineColor(), TypePlanar);
269 
270  initCombo(m_ui->cmbPlanarLineType, m_planarGridSettings->getLineStyle(), TypePlanar);
271 
272  initCombo(m_ui->cmbPlanarLineWidth, m_planarGridSettings->getLineWidth(), TypePlanar);
273 
274  initCombo(m_ui->cmbLineType, m_geodesicGridSettings->getStyle(), TypeGeodesic);
275 
276  initCombo(m_ui->cmbLineWidth, m_geodesicGridSettings->getLineWidth(), TypeGeodesic);
277 
278  initColor(m_ui->fraLineColor, m_geodesicGridSettings->getLineColor(), TypeGeodesic);
279 
280  ///*Text: Basic Configuration*/
281 
282  initCombo(m_ui->cmbPlanarTextSize, m_planarGridSettings->getPointTextSize(), TypePlanar);
283 
284  initCombo(m_ui->cmbPlanarFont, m_planarGridSettings->getFontText(), TypePlanar);
285 
286  initColor(m_ui->fraGridTextPlanarColor, m_planarGridSettings->getTextColor(), TypePlanar);
287 
288  initBool(m_ui->chkSuperscriptPlanarText, m_planarGridSettings->getSuperscriptText(), TypePlanar);
289 
290  initCombo(m_ui->cmbGeoFont, m_geodesicGridSettings->getFontText(), TypeGeodesic);
291 
292  initCombo(m_ui->cmbGeoTextSize, m_geodesicGridSettings->getPointTextSize(), TypeGeodesic);
293 
294  initColor(m_ui->fraGridTextGeoColor, m_geodesicGridSettings->getTextColor(), TypeGeodesic);
295 
296  initBool(m_ui->chkSuperscriptGeoText, m_geodesicGridSettings->getSuperscriptText(), TypeGeodesic);
297 
298  ///*Text: Advanced configuration*/
299 
300  initDouble(m_ui->xGridInitialPoint_planar_textField, m_planarGridSettings->getInitialGridPointX(), TypePlanar);
301 
302  initDouble(m_ui->yGridInitialPoint_planar_textField, m_planarGridSettings->getInitialGridPointY(), TypePlanar);
303 
304  initDouble(m_ui->xGridInitialPoint_geo_textField, m_geodesicGridSettings->getInitialGridPointX(), TypeGeodesic);
305 
306  initDouble(m_ui->yGridInitialPoint_geo_textField, m_geodesicGridSettings->getInitialGridPointY(), TypeGeodesic);
307 
308  initBool(m_ui->chkBottomPlanarText, m_planarGridSettings->getBottomText(), TypePlanar);
309 
310  initBool(m_ui->chkLeftPlanarText, m_planarGridSettings->getLeftText(), TypePlanar);
311 
312  initBool(m_ui->chkRightPlanarText, m_planarGridSettings->getRightText(), TypePlanar);
313 
314  initBool(m_ui->chkTopPlanarText, m_planarGridSettings->getTopText(), TypePlanar);
315 
316  initBool(m_ui->chkBottomGeoText, m_geodesicGridSettings->getBottomText(), TypeGeodesic);
317 
318  initBool(m_ui->chkLeftGeoText, m_geodesicGridSettings->getLeftText(), TypeGeodesic);
319 
320  initBool(m_ui->chkRightGeoText, m_geodesicGridSettings->getRightText(), TypeGeodesic);
321 
322  initBool(m_ui->chkTopGeoText, m_geodesicGridSettings->getTopText(), TypeGeodesic);
323 
324  initBool(m_ui->chkBottomRotatePlanarText, m_planarGridSettings->getBottomRotateText(), TypePlanar);
325 
326  initBool(m_ui->chkLeftRotatePlanarText, m_planarGridSettings->getLeftRotateText(), TypePlanar);
327 
328  initBool(m_ui->chkRightRotatePlanarText, m_planarGridSettings->getRightRotateText(), TypePlanar);
329 
330  initBool(m_ui->chkTopRotatePlanarText, m_planarGridSettings->getTopRotateText(), TypePlanar);
331 
332  initBool(m_ui->chkBottomRotateGeoText, m_geodesicGridSettings->getBottomRotateText(), TypeGeodesic);
333 
334  initBool(m_ui->chkLeftRotateGeoText, m_geodesicGridSettings->getLeftRotateText(), TypeGeodesic);
335 
336  initBool(m_ui->chkRightRotateGeoText, m_geodesicGridSettings->getRightRotateText(), TypeGeodesic);
337 
338  initBool(m_ui->chkTopRotateGeoText, m_geodesicGridSettings->getTopRotateText(), TypeGeodesic);
339 
340  initDouble(m_ui->lneVrtPlanarDisplacement, m_planarGridSettings->getLneVrtDisplacement(), TypePlanar);
341 
342  initBool(m_ui->chkVisibleTextsPlanarText, m_planarGridSettings->getVisibleAllTexts(), TypePlanar);
343 
344  initDouble(m_ui->lneHrzPlanarDisplacement, m_planarGridSettings->getLneHrzDisplacement(), TypePlanar);
345 
346  initDouble(m_ui->lneVrtGeoDisplacement, m_geodesicGridSettings->getLneVrtDisplacement(), TypeGeodesic);
347 
348  initDouble(m_ui->lneHrzGeoDisplacement, m_geodesicGridSettings->getLneHrzDisplacement(), TypeGeodesic);
349 
350  initBool(m_ui->chkDegreesGeoText, m_geodesicGridSettings->getDegreesText(), TypeGeodesic);
351 
352  initBool(m_ui->chkMinutesGeoText, m_geodesicGridSettings->getMinutesText(), TypeGeodesic);
353 
354  initBool(m_ui->chkSecondsGeoText, m_geodesicGridSettings->getSecondsText(), TypeGeodesic);
355 
356  initBool(m_ui->chkVisibleTextsGeoText, m_geodesicGridSettings->getVisibleAllTexts(), TypeGeodesic);
357 
358  initCombo(m_ui->cmbCornerGeoFont, m_geodesicGridSettings->getFontTextCorner(), TypeGeodesic);
359 
360  initCombo(m_ui->cmbCornerGeoTextSize, m_geodesicGridSettings->getPointTextSize(), TypeGeodesic);
361 
362  initColor(m_ui->fraCornerTextGeoColor, m_geodesicGridSettings->getTextColorCorner(), TypeGeodesic);
363 
364  initDouble(m_ui->lneCornerHrzGeoDisplacement, m_geodesicGridSettings->getLneCornerHrzDisplacement(), TypeGeodesic);
365 
366  initDouble(m_ui->lneCornerVrtGeoDisplacement, m_geodesicGridSettings->getLneCornerVrtDisplacement(), TypeGeodesic);
367 
368  initBool(m_ui->chkLowerRightCornerGeoText, m_geodesicGridSettings->getLowerRightCornerText(), TypeGeodesic);
369 
370  initBool(m_ui->chkUpperRightCornerGeoText, m_geodesicGridSettings->getUpperRightCornerText(), TypeGeodesic);
371 
372  initBool(m_ui->chkLowerLeftCornerGeoText, m_geodesicGridSettings->getLowerLeftCornerText(), TypeGeodesic);
373 
374  initBool(m_ui->chkUpperLeftCornerGeoText, m_geodesicGridSettings->getUpperLeftCornerText(), TypeGeodesic);
375 
376  /*Geodesic: Topographic Map*/
377 
378  initBool(m_ui->ckDefineScale, m_geodesicGridSettings->getDefineScale(), TypeGeodesic);
379 
380  initCombo(m_ui->cmbScale, m_geodesicGridSettings->getScale(), TypeGeodesic);
381 
382  initBool(m_ui->ckbClip, m_geodesicGridSettings->getClip(), TypeGeodesic);
383 
384  initDouble(m_ui->lneX1, m_geodesicGridSettings->getLneX1(), TypeGeodesic);
385 
386  initDouble(m_ui->lneX2, m_geodesicGridSettings->getLneX2(), TypeGeodesic);
387 
388  initDouble(m_ui->lneY1, m_geodesicGridSettings->getLneY1(), TypeGeodesic);
389 
390  initDouble(m_ui->lneY2, m_geodesicGridSettings->getLneY2(), TypeGeodesic);
391 
392  initDouble(m_ui->lneX3, m_geodesicGridSettings->getLneX3(), TypeGeodesic);
393 
394  initDouble(m_ui->lneX4, m_geodesicGridSettings->getLneX4(), TypeGeodesic);
395 
396  initDouble(m_ui->lneY3, m_geodesicGridSettings->getLneY3(), TypeGeodesic);
397 
398  initDouble(m_ui->lneY4, m_geodesicGridSettings->getLneY4(), TypeGeodesic);
399 }
400 
402 {
403  emit updateProperty();
404 
405  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
406  if(controller)
407  {
408  controller->clearUpdate();
409  }
410 }
411 
413 {
414  accept();
415 }
416 
418 {
419 
420 }
421 
423 {
424  reject();
425 }
426 
428 {
429  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
430  if(controller)
431  {
432  Variant variant;
433  variant.setValue(text.toStdString(), DataTypeString);
434  controller->addUpdateProperty(m_planarGridSettings->getUnit(), variant, TypePlanar);
435  }
436 }
437 
439 {
440  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
441  if(controller)
442  {
443  Variant variant;
444  variant.setValue(m_ui->chkShowPlanar->isChecked(), DataTypeBool);
445  controller->addUpdateProperty(m_planarGridSettings->getVisible(), variant, TypePlanar);
446  }
447 }
448 
450 {
451  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
452  if(controller)
453  {
454  Variant variant;
455  variant.setValue(text.toStdString(), DataTypeString);
456  controller->addUpdateProperty(m_planarGridSettings->getStyle(), variant, TypePlanar);
457  }
458 }
459 
461 {
462  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
463  if(controller)
464  {
465  Variant variant;
466  variant.setValue(text.toStdString(), DataTypeString);
467  controller->addUpdateProperty(m_geodesicGridSettings->getStyle(), variant, TypeGeodesic);
468  }
469 }
470 
472 {
473  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
474  if(controller)
475  {
476  Variant variant;
477  variant.setValue(m_ui->chkShowGeodesic->isChecked(), DataTypeBool);
478  controller->addUpdateProperty(m_geodesicGridSettings->getVisible(), variant, TypeGeodesic);
479  }
480 }
481 
483 {
484  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
485  if(controller)
486  {
487  Variant variant;
488  variant.setValue(m_ui->lneHrzPlanarGap->text().toDouble(), DataTypeDouble);
489  controller->addUpdateProperty(m_planarGridSettings->getLneHrzGap(), variant, TypePlanar);
490  }
491 }
492 
494 {
495  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
496  if(controller)
497  {
498  Variant variant;
499  variant.setValue(m_ui->lneVrtPlanarGap->text().toDouble(), DataTypeDouble);
500  controller->addUpdateProperty(m_planarGridSettings->getLneVrtGap(), variant, TypePlanar);
501  }
502 }
503 
505 {
506  /*if(checkValidDegreeValue(m_ui->lneHorizontalGap->text()) == false)
507  {
508  QMessageBox::information(this, tr("Information"), tr("Invalid Geodesic value! Try for example 0° 1' 0''"));
509  m_ui->lneHorizontalGap->setFocus();
510  return;
511  }*/
512 
513  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
514  if(controller)
515  {
516  Variant variant;
517  variant.setValue(m_ui->lneHorizontalGap->text().toDouble(), DataTypeDouble);
518  controller->addUpdateProperty(m_geodesicGridSettings->getLneHrzGap(), variant, TypeGeodesic);
519  }
520 }
521 
523 {
524  /*if(checkValidDegreeValue(m_ui->lneVerticalGap->text()) == false)
525  {
526  QMessageBox::information(this, tr("Information"), tr("Invalid Geodesic value! Try for example 0° 1' 0''"));
527  m_ui->lneVerticalGap->setFocus();
528  return;
529  }*/
530 
531  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
532  if(controller)
533  {
534  Variant variant;
535  variant.setValue(m_ui->lneVerticalGap->text().toDouble(), DataTypeDouble);
536  controller->addUpdateProperty(m_geodesicGridSettings->getLneVrtGap(), variant, TypeGeodesic);
537  }
538 }
539 
541 {
542  te::color::RGBAColor color = configColor(m_ui->fraPlanarLineColor);
543  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
544  if(controller)
545  {
546  Variant variant;
547  variant.setValue(color, DataTypeColor);
548  controller->addUpdateProperty(m_planarGridSettings->getLineColor(), variant, TypePlanar);
549  }
550 }
551 
553 {
554  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
555  if(controller)
556  {
557  Variant variant;
558  variant.setValue(text.toStdString(), DataTypeString);
559  controller->addUpdateProperty(m_planarGridSettings->getLineStyle(), variant, TypePlanar);
560  }
561 }
562 
564 {
565  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
566  if(controller)
567  {
568  Variant variant;
569  variant.setValue(text.toInt(), DataTypeInt);
570  controller->addUpdateProperty(m_planarGridSettings->getLineWidth(), variant, TypePlanar);
571  }
572 }
573 
575 {
576  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
577  if(controller)
578  {
579  Variant variant;
580  variant.setValue(text.toStdString(), DataTypeString);
581  controller->addUpdateProperty(m_geodesicGridSettings->getLineStyle(), variant, TypeGeodesic);
582  }
583 }
584 
586 {
587  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
588  if(controller)
589  {
590  Variant variant;
591  variant.setValue(text.toDouble(), DataTypeDouble);
592  controller->addUpdateProperty(m_geodesicGridSettings->getLineWidth(), variant, TypeGeodesic);
593  }
594 }
595 
597 {
598  te::color::RGBAColor color = configColor(m_ui->fraLineColor);
599  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
600  if(controller)
601  {
602  Variant variant;
603  variant.setValue(color, DataTypeColor);
604  controller->addUpdateProperty(m_geodesicGridSettings->getLineColor(), variant, TypeGeodesic);
605  }
606 }
607 
609 {
610  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
611  if(controller)
612  {
613  Variant variant;
614  variant.setValue(text.toInt(), DataTypeInt);
615  controller->addUpdateProperty(m_planarGridSettings->getPointTextSize(), variant, TypePlanar);
616  }
617 }
618 
620 {
621  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
622  if(controller)
623  {
624  Variant variant;
625  variant.setValue(text.toStdString(), DataTypeString);
626  controller->addUpdateProperty(m_planarGridSettings->getFontText(), variant, TypePlanar);
627  }
628 }
629 
631 {
632  te::color::RGBAColor color = configColor(m_ui->fraGridTextPlanarColor);
633  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
634  if(controller)
635  {
636  Variant variant;
637  variant.setValue(color, DataTypeColor);
638  controller->addUpdateProperty(m_planarGridSettings->getTextColor(), variant, TypePlanar);
639  }
640 }
641 
643 {
644  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
645  if(controller)
646  {
647  Variant variant;
648  variant.setValue(m_ui->chkSuperscriptPlanarText->isChecked(), DataTypeBool);
649  controller->addUpdateProperty(m_planarGridSettings->getSuperscriptText(), variant, TypePlanar);
650  }
651 }
652 
654 {
655  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
656  if(controller)
657  {
658  Variant variant;
659  variant.setValue(text.toStdString(), DataTypeString);
660  controller->addUpdateProperty(m_geodesicGridSettings->getFontText(), variant, TypeGeodesic);
661  }
662 }
663 
665 {
666  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
667  if(controller)
668  {
669  Variant variant;
670  variant.setValue(text.toInt(), DataTypeInt);
671  controller->addUpdateProperty(m_geodesicGridSettings->getPointTextSize(), variant, TypeGeodesic);
672  }
673 }
674 
676 {
677  te::color::RGBAColor color = configColor(m_ui->fraGridTextGeoColor);
678  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
679  if(controller)
680  {
681  Variant variant;
682  variant.setValue(color, DataTypeColor);
683  controller->addUpdateProperty(m_geodesicGridSettings->getTextColor(), variant, TypeGeodesic);
684  }
685 }
686 
688 {
689  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
690  if(controller)
691  {
692  Variant variant;
693  variant.setValue(m_ui->chkSuperscriptGeoText->isChecked(), DataTypeBool);
694  controller->addUpdateProperty(m_geodesicGridSettings->getSuperscriptText(), variant, TypeGeodesic);
695  }
696 }
697 
699 {
700  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
701  if(controller)
702  {
703  Variant variant;
704  variant.setValue(m_ui->xGridInitialPoint_planar_textField->text().toDouble(), DataTypeDouble);
705  controller->addUpdateProperty(m_planarGridSettings->getInitialGridPointX(), variant, TypePlanar);
706  }
707 }
708 
710 {
711  /*
712  if(checkValidDegreeValue(m_ui->yGridInitialPoint_geo_textField->text()) == false)
713  {
714  QMessageBox::information(this, tr("Information"), tr("Invalid Geodesic value! Try for example 0° 1' 0''"));
715  m_ui->lneVerticalGap->setFocus();
716  return;
717  }*/
718 
719  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
720  if(controller)
721  {
722  Variant variant;
723  variant.setValue(m_ui->yGridInitialPoint_planar_textField->text().toDouble(), DataTypeDouble);
724  controller->addUpdateProperty(m_planarGridSettings->getInitialGridPointY(), variant, TypePlanar);
725  }
726 }
727 
729 {
730  /*if(checkValidDegreeValue(m_ui->xGridInitialPoint_geo_textField->text()) == false)
731  {
732  QMessageBox::information(this, tr("Information"), tr("Invalid Geodesic value! Try for example 0° 1' 0''"));
733  m_ui->lneVerticalGap->setFocus();
734  return;
735  }*/
736 
737  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
738  if(controller)
739  {
740  Variant variant;
741  variant.setValue(m_ui->xGridInitialPoint_geo_textField->text().toDouble(), DataTypeDouble);
742  controller->addUpdateProperty(m_geodesicGridSettings->getInitialGridPointX(), variant, TypeGeodesic);
743  }
744 }
745 
747 {
748  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
749  if(controller)
750  {
751  Variant variant;
752  variant.setValue(m_ui->yGridInitialPoint_geo_textField->text().toDouble(), DataTypeDouble);
753  controller->addUpdateProperty(m_geodesicGridSettings->getInitialGridPointY(), variant, TypeGeodesic);
754  }
755 }
756 
758 {
759  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
760  if(controller)
761  {
762  Variant variant;
763  variant.setValue(m_ui->chkBottomPlanarText->isChecked(), DataTypeBool);
764  controller->addUpdateProperty(m_planarGridSettings->getBottomText(), variant, TypePlanar);
765  }
766 }
767 
769 {
770  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
771  if(controller)
772  {
773  Variant variant;
774  variant.setValue(m_ui->chkLeftPlanarText->isChecked(), DataTypeBool);
775  controller->addUpdateProperty(m_planarGridSettings->getLeftText(), variant, TypePlanar);
776  }
777 }
778 
780 {
781  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
782  if(controller)
783  {
784  Variant variant;
785  variant.setValue(m_ui->chkRightPlanarText->isChecked(), DataTypeBool);
786  controller->addUpdateProperty(m_planarGridSettings->getRightText(), variant, TypePlanar);
787  }
788 }
789 
791 {
792  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
793  if(controller)
794  {
795  Variant variant;
796  variant.setValue(m_ui->chkTopPlanarText->isChecked(), DataTypeBool);
797  controller->addUpdateProperty(m_planarGridSettings->getTopText(), variant, TypePlanar);
798  }
799 }
800 
802 {
803  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
804  if(controller)
805  {
806  Variant variant;
807  variant.setValue(m_ui->chkBottomGeoText->isChecked(), DataTypeBool);
808  controller->addUpdateProperty(m_geodesicGridSettings->getBottomText(), variant, TypeGeodesic);
809  }
810 }
811 
813 {
814  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
815  if(controller)
816  {
817  Variant variant;
818  variant.setValue(m_ui->chkLeftGeoText->isChecked(), DataTypeBool);
819  controller->addUpdateProperty(m_geodesicGridSettings->getLeftText(), variant, TypeGeodesic);
820  }
821 }
822 
824 {
825  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
826  if(controller)
827  {
828  Variant variant;
829  variant.setValue(m_ui->chkRightGeoText->isChecked(), DataTypeBool);
830  controller->addUpdateProperty(m_geodesicGridSettings->getRightText(), variant, TypeGeodesic);
831  }
832 }
833 
835 {
836  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
837  if(controller)
838  {
839  Variant variant;
840  variant.setValue(m_ui->chkTopGeoText->isChecked(), DataTypeBool);
841  controller->addUpdateProperty(m_geodesicGridSettings->getTopText(), variant, TypeGeodesic);
842  }
843 }
844 
846 {
847  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
848  if(controller)
849  {
850  Variant variant;
851  variant.setValue(m_ui->chkBottomRotatePlanarText->isChecked(), DataTypeBool);
852  controller->addUpdateProperty(m_planarGridSettings->getBottomRotateText(), variant, TypePlanar);
853  }
854 }
855 
857 {
858  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
859  if(controller)
860  {
861  Variant variant;
862  variant.setValue(m_ui->chkLeftRotatePlanarText->isChecked(), DataTypeBool);
863  controller->addUpdateProperty(m_planarGridSettings->getLeftRotateText(), variant, TypePlanar);
864  }
865 }
866 
868 {
869  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
870  if(controller)
871  {
872  Variant variant;
873  variant.setValue(m_ui->chkRightRotatePlanarText->isChecked(), DataTypeBool);
874  controller->addUpdateProperty(m_planarGridSettings->getRightRotateText(), variant, TypePlanar);
875  }
876 }
877 
879 {
880  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
881  if(controller)
882  {
883  Variant variant;
884  variant.setValue(m_ui->chkTopRotatePlanarText->isChecked(), DataTypeBool);
885  controller->addUpdateProperty(m_planarGridSettings->getTopRotateText(), variant, TypePlanar);
886  }
887 }
888 
890 {
891  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
892  if(controller)
893  {
894  Variant variant;
895  variant.setValue(m_ui->chkBottomRotateGeoText->isChecked(), DataTypeBool);
896  controller->addUpdateProperty(m_geodesicGridSettings->getBottomRotateText(), variant, TypeGeodesic);
897  }
898 }
899 
901 {
902  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
903  if(controller)
904  {
905  Variant variant;
906  variant.setValue(m_ui->chkLeftRotateGeoText->isChecked(), DataTypeBool);
907  controller->addUpdateProperty(m_geodesicGridSettings->getLeftRotateText(), variant, TypeGeodesic);
908  }
909 }
910 
912 {
913  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
914  if(controller)
915  {
916  Variant variant;
917  variant.setValue(m_ui->chkRightRotateGeoText->isChecked(), DataTypeBool);
918  controller->addUpdateProperty(m_geodesicGridSettings->getRightRotateText(), variant, TypeGeodesic);
919  }
920 }
921 
923 {
924  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
925  if(controller)
926  {
927  Variant variant;
928  variant.setValue(m_ui->chkTopRotateGeoText->isChecked(), DataTypeBool);
929  controller->addUpdateProperty(m_geodesicGridSettings->getTopRotateText(), variant, TypeGeodesic);
930  }
931 }
932 
934 {
935  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
936  if(controller)
937  {
938  Variant variant;
939  variant.setValue(m_ui->lneVrtPlanarDisplacement->text().toDouble(), DataTypeDouble);
940  controller->addUpdateProperty(m_planarGridSettings->getLneVrtDisplacement(), variant, TypePlanar);
941  }
942 }
943 
945 {
946  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
947  if(controller)
948  {
949  Variant variant;
950  variant.setValue(m_ui->chkVisibleTextsPlanarText->isChecked(), DataTypeBool);
951  controller->addUpdateProperty(m_planarGridSettings->getVisibleAllTexts(), variant, TypePlanar);
952  }
953 }
954 
956 {
957  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
958  if(controller)
959  {
960  Variant variant;
961  variant.setValue(m_ui->lneHrzPlanarDisplacement->text().toDouble(), DataTypeDouble);
962  controller->addUpdateProperty(m_planarGridSettings->getLneHrzDisplacement(), variant, TypePlanar);
963  }
964 }
965 
967 {
968  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
969  if(controller)
970  {
971  Variant variant;
972  variant.setValue(m_ui->lneVrtGeoDisplacement->text().toDouble(), DataTypeDouble);
973  controller->addUpdateProperty(m_geodesicGridSettings->getLneHrzDisplacement(), variant, TypeGeodesic);
974  }
975 }
976 
978 {
979  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
980  if(controller)
981  {
982  Variant variant;
983  variant.setValue(m_ui->lneHrzGeoDisplacement->text().toDouble(), DataTypeDouble);
984  controller->addUpdateProperty(m_geodesicGridSettings->getLneHrzDisplacement(), variant, TypeGeodesic);
985  }
986 }
987 
989 {
990  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
991  if(controller)
992  {
993  Variant variant;
994  variant.setValue(m_ui->chkDegreesGeoText->isChecked(), DataTypeBool);
995  controller->addUpdateProperty(m_geodesicGridSettings->getDegreesText(), variant, TypeGeodesic);
996  }
997 }
998 
1000 {
1001  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1002  if(controller)
1003  {
1004  Variant variant;
1005  variant.setValue(m_ui->chkMinutesGeoText->isChecked(), DataTypeBool);
1006  controller->addUpdateProperty(m_geodesicGridSettings->getMinutesText(), variant, TypeGeodesic);
1007  }
1008 }
1009 
1011 {
1012  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1013  if(controller)
1014  {
1015  Variant variant;
1016  variant.setValue(m_ui->chkSecondsGeoText->isChecked(), DataTypeBool);
1017  controller->addUpdateProperty(m_geodesicGridSettings->getSecondsText(), variant, TypeGeodesic);
1018  }
1019 }
1020 
1022 {
1023  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1024  if(controller)
1025  {
1026  Variant variant;
1027  variant.setValue(m_ui->chkVisibleTextsGeoText->isChecked(), DataTypeBool);
1028  controller->addUpdateProperty(m_geodesicGridSettings->getVisibleAllTexts(), variant, TypeGeodesic);
1029  }
1030 }
1031 
1033 {
1034  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1035  if(controller)
1036  {
1037  Variant variant;
1038  variant.setValue(text.toStdString(), DataTypeString);
1039  controller->addUpdateProperty(m_geodesicGridSettings->getFontTextCorner(), variant, TypeGeodesic);
1040  }
1041 }
1042 
1044 {
1045  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1046  if(controller)
1047  {
1048  Variant variant;
1049  variant.setValue(text.toInt(), DataTypeString);
1050  controller->addUpdateProperty(m_geodesicGridSettings->getPointTextSizeCorner(), variant, TypeGeodesic);
1051  }
1052 }
1053 
1055 {
1056  te::color::RGBAColor color = configColor(m_ui->fraCornerTextGeoColor);
1057  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1058  if(controller)
1059  {
1060  Variant variant;
1061  variant.setValue(color, DataTypeColor);
1062  controller->addUpdateProperty(m_geodesicGridSettings->getTextColorCorner(), variant, TypeGeodesic);
1063  }
1064 }
1065 
1067 {
1068  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1069  if(controller)
1070  {
1071  Variant variant;
1072  variant.setValue(m_ui->lneCornerHrzGeoDisplacement->text().toDouble(), DataTypeDouble);
1073  controller->addUpdateProperty(m_geodesicGridSettings->getLneCornerHrzDisplacement(), variant, TypeGeodesic);
1074  }
1075 }
1076 
1078 {
1079  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1080  if(controller)
1081  {
1082  Variant variant;
1083  variant.setValue(m_ui->lneCornerVrtGeoDisplacement->text().toDouble(), DataTypeDouble);
1084  controller->addUpdateProperty(m_geodesicGridSettings->getLneCornerVrtDisplacement(), variant, TypeGeodesic);
1085  }
1086 }
1087 
1089 {
1090  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1091  if(controller)
1092  {
1093  Variant variant;
1094  variant.setValue(m_ui->chkLowerRightCornerGeoText->isChecked(), DataTypeBool);
1095  controller->addUpdateProperty(m_geodesicGridSettings->getLowerRightCornerText(), variant, TypeGeodesic);
1096  }
1097 }
1098 
1100 {
1101  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1102  if(controller)
1103  {
1104  Variant variant;
1105  variant.setValue(m_ui->chkUpperRightCornerGeoText->isChecked(), DataTypeBool);
1106  controller->addUpdateProperty(m_geodesicGridSettings->getUpperRightCornerText(), variant, TypeGeodesic);
1107  }
1108 }
1109 
1111 {
1112  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1113  if(controller)
1114  {
1115  Variant variant;
1116  variant.setValue(m_ui->chkLowerLeftCornerGeoText->isChecked(), DataTypeBool);
1117  controller->addUpdateProperty(m_geodesicGridSettings->getLowerLeftCornerText(), variant, TypeGeodesic);
1118  }
1119 }
1120 
1122 {
1123  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1124  if(controller)
1125  {
1126  Variant variant;
1127  variant.setValue(m_ui->chkUpperLeftCornerGeoText->isChecked(), DataTypeBool);
1128  controller->addUpdateProperty(m_geodesicGridSettings->getUpperLeftCornerText(), variant, TypeGeodesic);
1129  }
1130 }
1131 
1133 {
1134  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1135  if(controller)
1136  {
1137  Variant variant;
1138  variant.setValue(m_ui->chkVisibleCornerTextsGeoText->isChecked(), DataTypeBool);
1139  controller->addUpdateProperty(m_geodesicGridSettings->getVisibleCornerTextsText(), variant, TypeGeodesic);
1140  }
1141 }
1142 
1144 {
1145  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1146  if(controller)
1147  {
1148  Variant variant;
1149  variant.setValue(m_ui->ckDefineScale->isChecked(), DataTypeBool);
1150  controller->addUpdateProperty(m_geodesicGridSettings->getDefineScale(), variant, TypeGeodesic);
1151  }
1152 }
1153 
1155 {
1156  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1157  if(controller)
1158  {
1159  Variant variant;
1160  variant.setValue(text.toInt(), DataTypeString);
1161  controller->addUpdateProperty(m_geodesicGridSettings->getScale(), variant, TypeGeodesic);
1162  }
1163 }
1164 
1166 {
1167  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1168  if(controller)
1169  {
1170  Variant variant;
1171  variant.setValue(m_ui->ckbClip->isChecked(), DataTypeBool);
1172  controller->addUpdateProperty(m_geodesicGridSettings->getClip(), variant, TypeGeodesic);
1173  }
1174 }
1175 
1177 {
1178  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1179  if(controller)
1180  {
1181  Variant variant;
1182  variant.setValue(m_ui->lneX1->text().toDouble(), DataTypeDouble);
1183  controller->addUpdateProperty(m_geodesicGridSettings->getLneX1(), variant, TypeGeodesic);
1184  }
1185 }
1186 
1188 {
1189  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1190  if(controller)
1191  {
1192  Variant variant;
1193  variant.setValue(m_ui->lneX2->text().toDouble(), DataTypeDouble);
1194  controller->addUpdateProperty(m_geodesicGridSettings->getLneX2(), variant, TypeGeodesic);
1195  }
1196 }
1197 
1199 {
1200  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1201  if(controller)
1202  {
1203  Variant variant;
1204  variant.setValue(m_ui->lneY1->text().toDouble(), DataTypeDouble);
1205  controller->addUpdateProperty(m_geodesicGridSettings->getLneY1(), variant, TypeGeodesic);
1206  }
1207 }
1208 
1210 {
1211  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1212  if(controller)
1213  {
1214  Variant variant;
1215  variant.setValue(m_ui->lneY2->text().toDouble(), DataTypeDouble);
1216  controller->addUpdateProperty(m_geodesicGridSettings->getLneY2(), variant, TypeGeodesic);
1217  }
1218 }
1219 
1221 {
1222  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1223  if(controller)
1224  {
1225  Variant variant;
1226  variant.setValue(m_ui->lneX3->text().toDouble(), DataTypeDouble);
1227  controller->addUpdateProperty(m_geodesicGridSettings->getLneX3(), variant, TypeGeodesic);
1228  }
1229 }
1230 
1232 {
1233  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1234  if(controller)
1235  {
1236  Variant variant;
1237  variant.setValue(m_ui->lneX4->text().toDouble(), DataTypeDouble);
1238  controller->addUpdateProperty(m_geodesicGridSettings->getLneX4(), variant, TypeGeodesic);
1239  }
1240 }
1241 
1243 {
1244  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1245  if(controller)
1246  {
1247  Variant variant;
1248  variant.setValue(m_ui->lneY3->text().toDouble(), DataTypeDouble);
1249  controller->addUpdateProperty(m_geodesicGridSettings->getLneY3(), variant, TypeGeodesic);
1250  }
1251 }
1252 
1254 {
1255  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1256  if(controller)
1257  {
1258  Variant variant;
1259  variant.setValue(m_ui->lneY4->text().toDouble(), DataTypeDouble);
1260  controller->addUpdateProperty(m_geodesicGridSettings->getLneY4(), variant, TypeGeodesic);
1261  }
1262 }
1263 
1264 void te::layout::GridSettingsOutside::initString( QWidget* widget, std::string nameComponent, LayoutGridType gridType )
1265 {
1266  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1267  if(!controller)
1268  return;
1269 
1270  Property prop = controller->getProperty(nameComponent, gridType);
1271 
1272  QLineEdit* edit = dynamic_cast<QLineEdit*>(widget);
1273  if(edit)
1274  {
1275  edit->setText(prop.getValue().toString().c_str());
1276  return;
1277  }
1278 }
1279 
1280 void te::layout::GridSettingsOutside::initInt( QWidget* widget, std::string nameComponent, LayoutGridType gridType )
1281 {
1282  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1283  if(!controller)
1284  return;
1285 
1286  std::ostringstream convert;
1287  Property prop = controller->getProperty(nameComponent, gridType);
1288  convert << prop.getValue().toInt();
1289 
1290  QLineEdit* edit = dynamic_cast<QLineEdit*>(widget);
1291  if(edit)
1292  {
1293  edit->setText(convert.str().c_str());
1294  }
1295 }
1296 
1297 void te::layout::GridSettingsOutside::initDouble( QWidget* widget, std::string nameComponent, LayoutGridType gridType )
1298 {
1299  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1300  if(!controller)
1301  return;
1302 
1303  std::ostringstream convert;
1304  convert.precision(15);
1305  Property prop = controller->getProperty(nameComponent, gridType);
1306  double number = prop.getValue().toDouble();
1307  convert << number;
1308 
1309  QLineEdit* edit = dynamic_cast<QLineEdit*>(widget);
1310  if(edit)
1311  {
1312  edit->setText(convert.str().c_str());
1313  }
1314 }
1315 
1316 void te::layout::GridSettingsOutside::initBool( QWidget* widget, std::string nameComponent, LayoutGridType gridType )
1317 {
1318  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1319  if(!controller)
1320  return;
1321 
1322  Property prop = controller->getProperty(nameComponent, gridType);
1323 
1324  QCheckBox* chk = dynamic_cast<QCheckBox*>(widget);
1325 
1326  if(chk)
1327  {
1328  chk->setChecked(prop.getValue().toBool());
1329  }
1330 }
1331 
1332 void te::layout::GridSettingsOutside::initColor( QWidget* widget, std::string nameComponent, LayoutGridType gridType )
1333 {
1334  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1335  if(!controller)
1336  return;
1337 
1338  Property prop = controller->getProperty(nameComponent, gridType);
1339 
1340  te::color::RGBAColor color = prop.getValue().toColor();
1341  QColor qcolor(color.getRed(), color.getGreen(), color.getBlue());
1342 
1343  if(!qcolor.isValid())
1344  return;
1345 
1346  if(!widget)
1347  return;
1348 
1349  QPalette paltt(widget->palette());
1350  paltt.setColor(widget->backgroundRole(), qcolor);
1351  widget->setPalette(paltt);
1352  widget->setAutoFillBackground(true);
1353 }
1354 
1355 void te::layout::GridSettingsOutside::initCombo( QWidget* widget, std::string nameComponent, LayoutGridType gridType )
1356 {
1357  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1358  if(!controller)
1359  return;
1360 
1361  Property prop = controller->getProperty(nameComponent, gridType);
1362 
1363  QComboBox* combo = dynamic_cast<QComboBox*>(widget);
1364 
1365  if(!combo)
1366  return;
1367 
1368  int index = -1;
1369  QVariant variant;
1370 
1371  switch(prop.getType())
1372  {
1373  case DataTypeBool:
1374  variant.setValue(prop.getValue().toBool());
1375  break;
1376  case DataTypeDouble:
1377  variant.setValue(prop.getValue().toDouble());
1378  break;
1379  case DataTypeInt:
1380  variant.setValue(prop.getValue().toInt());
1381  break;
1382  case DataTypeString:
1383  variant.setValue(QString(prop.getValue().toString().c_str()));
1384  break;
1385  default:
1386  index = -1;
1387  }
1388 
1389  index = combo->findData(variant);
1390  if ( index != -1 )
1391  {
1392  combo->setCurrentIndex(index);
1393  }
1394 }
virtual void on_cmbPlanarTextSize_currentIndexChanged(const QString &text)
Text: Basic Configuration/
virtual void on_cmbPlanarLineType_currentIndexChanged(const QString &text)
std::auto_ptr< Ui::GridSettings > m_ui
virtual void on_cmbPlanarStyle_currentIndexChanged(const QString &text)
Variant getValue()
Definition: Property.cpp:74
double y
y-coordinate.
Definition: Coord2D.h:87
virtual void on_cmbGridStyle_currentIndexChanged(const QString &text)
void setColor(const std::string &hexColor)
It sets the color using a two hexadecimal RGB-encoded color.
Definition: RGBAColor.h:329
int getRed() const
It returns the red component color value (a value from 0 to 255).
Definition: RGBAColor.h:295
virtual void on_xGridInitialPoint_planar_textField_editingFinished()
Text: Advanced configuration/
double x
x-coordinate.
Definition: Coord2D.h:86
virtual void initInt(QWidget *widget, std::string nameComponent, LayoutGridType gridType)
virtual void on_cmbScale_currentIndexChanged(const QString &text)
virtual void initColor(QWidget *widget, std::string nameComponent, LayoutGridType gridType)
PlanarGridSettingsConfigProperties * m_planarGridSettings
virtual void on_lneHrzPlanarDisplacement_editingFinished()
int getBlue() const
It returns the blue component color value (a value from 0 to 255).
Definition: RGBAColor.h:305
int getGreen() const
It returns the green component color value (a value from 0 to 255).
Definition: RGBAColor.h:300
virtual void on_xGridInitialPoint_geo_textField_editingFinished()
virtual void setPosition(const double &x, const double &y)
An utility struct for representing 2D coordinates.
Definition: Coord2D.h:40
virtual void initDouble(QWidget *widget, std::string nameComponent, LayoutGridType gridType)
virtual void on_cmbLineType_currentIndexChanged(const QString &text)
virtual void on_yGridInitialPoint_geo_textField_editingFinished()
virtual void on_lneCornerHrzGeoDisplacement_editingFinished()
void setValue(typename ValueType value, LayoutPropertyDataType type)
Definition: Variant.h:107
virtual void initString(QWidget *widget, std::string nameComponent, LayoutGridType gridType)
virtual te::color::RGBAColor configColor(QWidget *widget)
virtual void on_cmbGeoTextSize_currentIndexChanged(const QString &text)
virtual Property getProperty(std::string name, LayoutGridType gridType)
virtual void initCombo(QWidget *widget, std::string nameComponent, LayoutGridType gridType)
virtual void updateObserver(ContextItem context)
virtual void addUpdateProperty(std::string name, Variant variant, LayoutGridType gridType)
virtual void on_cmbPlanarLineWidth_currentIndexChanged(const QString &text)
virtual void on_cmbLineWidth_currentIndexChanged(const QString &text)
virtual void on_yGridInitialPoint_planar_textField_editingFinished()
virtual void on_lneHrzGeoDisplacement_editingFinished()
virtual void on_lneVrtPlanarDisplacement_editingFinished()
virtual void initBool(QWidget *widget, std::string nameComponent, LayoutGridType gridType)
virtual void on_cmbUnit_currentIndexChanged(const QString &text)
A helper class for 32-bit RGBA (Red-Green-Blue-Alpha channel) color.
Definition: RGBAColor.h:57
LayoutPropertyDataType getType()
Definition: Property.cpp:59
virtual void on_lneCornerVrtGeoDisplacement_editingFinished()
virtual void on_lneVrtGeoDisplacement_editingFinished()
std::string toString()
Definition: Variant.cpp:237
std::string convert(const path &v)
URI path to string.
Definition: path.cpp:219
virtual void on_cmbCornerGeoTextSize_currentIndexChanged(const QString &text)
virtual void on_cmbGeoFont_currentIndexChanged(const QString &text)
te::color::RGBAColor toColor()
Definition: Variant.cpp:267
virtual void on_cmbCornerGeoFont_currentIndexChanged(const QString &text)
virtual void on_cmbPlanarFont_currentIndexChanged(const QString &text)
GeodesicGridSettingsConfigProperties * m_geodesicGridSettings
GridSettingsOutside(OutsideController *controller, Observable *o)
LayoutGridType
Enum LayoutGridType. This is the enumeration of the grid types.
Definition: EnumMode.h:82
virtual te::gm::Coord2D getPosition()
virtual bool checkValidDegreeValue(const QString &)