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) 2008 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 "../../core/pattern/mvc/OutsideObserver.h"
32 #include "../../core/pattern/mvc/OutsideController.h"
33 #include "../../outside/GridSettingsController.h"
34 #include "../../core/property/Variant.h"
35 #include "../../core/property/PlanarGridSettingsConfigProperties.h"
36 #include "../../core/property/GeodesicGridSettingsConfigProperties.h"
37 #include "../../core/enum/Enums.h"
38 
39 // STL
40 #include <string>
41 #include <sstream>
42 
43 // Qt
44 #include <QColorDialog>
45 #include <QFrame>
46 #include <QLineEdit>
47 #include <QValidator>
48 #include <QComboBox>
49 #include <QCheckBox>
50 #include <QMessageBox>
51 #include <QObjectList>
52 
54  QDialog(0),
55  OutsideObserver(controller, o),
56  m_ui(new Ui::GridSettings)
57 {
60 
61  EnumObjectType* objType = Enums::getInstance().getEnumObjectType();
62 
63  if(objType)
64  {
65  m_planarType = objType->getGridPlanarItem();
67  }
68 
69  m_ui->setupUi(this);
70 
71  setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint
72  | Qt::WindowTitleHint | Qt::WindowStaysOnTopHint );
73 
74  init();
75 }
76 
78 {
79  if(m_planarGridSettings)
80  {
81  delete m_planarGridSettings;
82  m_planarGridSettings = 0;
83  }
84 
85  if(m_geodesicGridSettings)
86  {
87  delete m_geodesicGridSettings;
88  m_geodesicGridSettings = 0;
89  }
90 }
91 
93 {
94  m_ui->lneVrtPlanarDisplacement->setValidator(new QDoubleValidator(this));
95  m_ui->lneHrzPlanarDisplacement->setValidator(new QDoubleValidator(this));
96 
97  m_ui->lneVrtGeoDisplacement->setValidator(new QDoubleValidator(this));
98  m_ui->lneHrzGeoDisplacement->setValidator(new QDoubleValidator(this));
99 
100  m_ui->lneCornerHrzGeoDisplacement->setValidator(new QDoubleValidator(this));
101  m_ui->lneCornerVrtGeoDisplacement->setValidator(new QDoubleValidator(this));
102 
103  m_ui->lneHrzPlanarGap->setValidator(new QDoubleValidator(this));
104  m_ui->lneVrtPlanarGap->setValidator(new QDoubleValidator(this));
105 
106  m_ui->lneX1->setValidator(new QDoubleValidator(this));
107  m_ui->lneY1->setValidator(new QDoubleValidator(this));
108  m_ui->lneX2->setValidator(new QDoubleValidator(this));
109  m_ui->lneY2->setValidator(new QDoubleValidator(this));
110  m_ui->lneX3->setValidator(new QDoubleValidator(this));
111  m_ui->lneY3->setValidator(new QDoubleValidator(this));
112  m_ui->lneX4->setValidator(new QDoubleValidator(this));
113  m_ui->lneY4->setValidator(new QDoubleValidator(this));
114  m_ui->cmbScale->hide();
115  m_ui->ckDefineScale->hide();
116 
117  m_ui->fraCornerTextGeoColor->setAutoFillBackground(true);
118  m_ui->fraGridTextGeoColor->setAutoFillBackground(true);
119  m_ui->fraGridTextPlanarColor->setAutoFillBackground(true);
120  m_ui->fraPlanarLineColor->setAutoFillBackground(true);
121 }
122 
124 {
125  setVisible(context.isShow());
126  if(context.isShow() == true)
127  show();
128  else
129  hide();
130 
131  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
132  if(!controller)
133  return;
134 }
135 
136 void te::layout::GridSettingsOutside::setPosition( const double& x, const double& y )
137 {
138  move(x,y);
139  refresh();
140 }
141 
143 {
144  QPointF posF = pos();
145  qreal valuex = posF.x();
146  qreal valuey = posF.y();
147 
148  te::gm::Coord2D coordinate;
149  coordinate.x = valuex;
150  coordinate.y = valuey;
151 
152  return coordinate;
153 }
154 
156 {
157  QObjectList list = children();
158 
159  QList<QObject*>::Iterator it;
160  for(it = list.begin() ; it != list.end() ; ++it)
161  {
162  QObject* obj = (*it);
163  QWidget* w = dynamic_cast<QWidget*>(obj);
164  if(w)
165  {
166  if(w->isVisible())
167  {
168  w->setEnabled(false);
169  }
170  }
171  }
172 }
173 
175 {
176  QObjectList list = children();
177 
178  QList<QObject*>::Iterator it;
179  for(it = list.begin() ; it != list.end() ; ++it)
180  {
181  QObject* obj = (*it);
182  QWidget* w = dynamic_cast<QWidget*>(obj);
183  if(w)
184  {
185  if(w->isVisible())
186  {
187  w->setEnabled(true);
188  }
189  }
190  }
191 }
192 
194 {
195  int degree = 0, minute = 0;
196  float second = 0;
197  int status = 0;
198  std::basic_string <char>::size_type index;
199  std::string strDegree = "";
200 
201  strDegree = std::string(value.toLatin1());
202  if((index=strDegree.find("º")) !=std::string::npos)
203  {
204  strDegree.replace(index,1,"");
205  }
206  if((index=strDegree.find("°")) !=std::string::npos)
207  {
208  strDegree.replace(index,1,"");
209  }
210 
211  if((index=strDegree.find("'")) !=std::string::npos)
212  {
213  strDegree.replace(index,1,"");
214  }
215  if((index=strDegree.find("'")) !=std::string::npos)
216  {
217  strDegree.replace(index,1,"");
218  }
219 
220  status=sscanf(strDegree.c_str(),"%d %d %f",&degree,&minute,&second);
221  if(status!=3) return false;
222 
223  return true;
224 
225 }
226 
228 {
229  te::color::RGBAColor rgbaColor;
230 
231  QPalette ptt(widget->palette());
232  QBrush brush = ptt.brush(widget->backgroundRole());
233 
234  QColor bColor = brush.color();
235  rgbaColor.setColor(bColor.red(), bColor.green(), bColor.blue());
236 
237  QColor color = QColorDialog::getColor(brush.color(),this, "Color" );
238 
239  if(!color.isValid())
240  return rgbaColor;
241 
242  QPalette paltt(widget->palette());
243  paltt.setColor(widget->backgroundRole(), color);
244  widget->setPalette(paltt);
245  widget->setAutoFillBackground(true);
246 
247  rgbaColor.setColor(color.red(), color.green(), color.blue());
248 
249  return rgbaColor;
250 }
251 
253 {
254  /* Grid */
255 
256  initCombo(m_ui->cmbUnit, m_planarGridSettings->getUnit(), m_planarType);
257 
258  initBool(m_ui->chkShowPlanar, m_planarGridSettings->getVisible(), m_planarType);
259 
260  initCombo(m_ui->cmbPlanarStyle, m_planarGridSettings->getStyle(), m_planarType);
261 
262  initCombo(m_ui->cmbGridStyle, m_geodesicGridSettings->getStyle(), m_geodesicType);
263 
264  initBool(m_ui->chkShowGeodesic, m_geodesicGridSettings->getVisible(), m_geodesicType);
265 
266  ///* Line */
267 
268  initDouble(m_ui->lneHrzPlanarGap, m_planarGridSettings->getLneHrzGap(), m_planarType);
269 
270  initDouble(m_ui->lneVrtPlanarGap, m_planarGridSettings->getLneVrtGap(), m_planarType);
271 
272  initDouble(m_ui->lneHorizontalGap, m_geodesicGridSettings->getLneHrzGap(), m_geodesicType);
273 
274  initDouble(m_ui->lneVerticalGap, m_geodesicGridSettings->getLneVrtGap(), m_geodesicType);
275 
276  initColor(m_ui->fraPlanarLineColor, m_planarGridSettings->getLineColor(), m_planarType);
277 
278  initCombo(m_ui->cmbPlanarLineType, m_planarGridSettings->getLineStyle(), m_planarType);
279 
280  initCombo(m_ui->cmbPlanarLineWidth, m_planarGridSettings->getLineWidth(), m_planarType);
281 
282  initCombo(m_ui->cmbLineType, m_geodesicGridSettings->getStyle(), m_geodesicType);
283 
284  initCombo(m_ui->cmbLineWidth, m_geodesicGridSettings->getLineWidth(), m_geodesicType);
285 
286  initColor(m_ui->fraLineColor, m_geodesicGridSettings->getLineColor(), m_geodesicType);
287 
288  ///*Text: Basic Configuration*/
289 
290  initCombo(m_ui->cmbPlanarTextSize, m_planarGridSettings->getPointTextSize(), m_planarType);
291 
292  initCombo(m_ui->cmbPlanarFont, m_planarGridSettings->getFontText(), m_planarType);
293 
294  initColor(m_ui->fraGridTextPlanarColor, m_planarGridSettings->getTextColor(), m_planarType);
295 
296  initBool(m_ui->chkSuperscriptPlanarText, m_planarGridSettings->getSuperscriptText(), m_planarType);
297 
298  initCombo(m_ui->cmbGeoFont, m_geodesicGridSettings->getFontText(), m_geodesicType);
299 
300  initCombo(m_ui->cmbGeoTextSize, m_geodesicGridSettings->getPointTextSize(), m_geodesicType);
301 
302  initColor(m_ui->fraGridTextGeoColor, m_geodesicGridSettings->getTextColor(), m_geodesicType);
303 
304  initBool(m_ui->chkSuperscriptGeoText, m_geodesicGridSettings->getSuperscriptText(), m_geodesicType);
305 
306  ///*Text: Advanced configuration*/
307 
308  initDouble(m_ui->xGridInitialPoint_planar_textField, m_planarGridSettings->getInitialGridPointX(), m_planarType);
309 
310  initDouble(m_ui->yGridInitialPoint_planar_textField, m_planarGridSettings->getInitialGridPointY(), m_planarType);
311 
312  initDouble(m_ui->xGridInitialPoint_geo_textField, m_geodesicGridSettings->getInitialGridPointX(), m_geodesicType);
313 
314  initDouble(m_ui->yGridInitialPoint_geo_textField, m_geodesicGridSettings->getInitialGridPointY(), m_geodesicType);
315 
316  initBool(m_ui->chkBottomPlanarText, m_planarGridSettings->getBottomText(), m_planarType);
317 
318  initBool(m_ui->chkLeftPlanarText, m_planarGridSettings->getLeftText(), m_planarType);
319 
320  initBool(m_ui->chkRightPlanarText, m_planarGridSettings->getRightText(), m_planarType);
321 
322  initBool(m_ui->chkTopPlanarText, m_planarGridSettings->getTopText(), m_planarType);
323 
324  initBool(m_ui->chkBottomGeoText, m_geodesicGridSettings->getBottomText(), m_geodesicType);
325 
326  initBool(m_ui->chkLeftGeoText, m_geodesicGridSettings->getLeftText(), m_geodesicType);
327 
328  initBool(m_ui->chkRightGeoText, m_geodesicGridSettings->getRightText(), m_geodesicType);
329 
330  initBool(m_ui->chkTopGeoText, m_geodesicGridSettings->getTopText(), m_geodesicType);
331 
332  initBool(m_ui->chkBottomRotatePlanarText, m_planarGridSettings->getBottomRotateText(), m_planarType);
333 
334  initBool(m_ui->chkLeftRotatePlanarText, m_planarGridSettings->getLeftRotateText(), m_planarType);
335 
336  initBool(m_ui->chkRightRotatePlanarText, m_planarGridSettings->getRightRotateText(), m_planarType);
337 
338  initBool(m_ui->chkTopRotatePlanarText, m_planarGridSettings->getTopRotateText(), m_planarType);
339 
340  initBool(m_ui->chkBottomRotateGeoText, m_geodesicGridSettings->getBottomRotateText(), m_geodesicType);
341 
342  initBool(m_ui->chkLeftRotateGeoText, m_geodesicGridSettings->getLeftRotateText(), m_geodesicType);
343 
344  initBool(m_ui->chkRightRotateGeoText, m_geodesicGridSettings->getRightRotateText(), m_geodesicType);
345 
346  initBool(m_ui->chkTopRotateGeoText, m_geodesicGridSettings->getTopRotateText(), m_geodesicType);
347 
348  initDouble(m_ui->lneVrtPlanarDisplacement, m_planarGridSettings->getLneVrtDisplacement(), m_planarType);
349 
350  initBool(m_ui->chkVisibleTextsPlanarText, m_planarGridSettings->getVisibleAllTexts(), m_planarType);
351 
352  initDouble(m_ui->lneHrzPlanarDisplacement, m_planarGridSettings->getLneHrzDisplacement(), m_planarType);
353 
354  initDouble(m_ui->lneVrtGeoDisplacement, m_geodesicGridSettings->getLneVrtDisplacement(), m_geodesicType);
355 
356  initDouble(m_ui->lneHrzGeoDisplacement, m_geodesicGridSettings->getLneHrzDisplacement(), m_geodesicType);
357 
358  initBool(m_ui->chkDegreesGeoText, m_geodesicGridSettings->getDegreesText(), m_geodesicType);
359 
360  initBool(m_ui->chkMinutesGeoText, m_geodesicGridSettings->getMinutesText(), m_geodesicType);
361 
362  initBool(m_ui->chkSecondsGeoText, m_geodesicGridSettings->getSecondsText(), m_geodesicType);
363 
364  initBool(m_ui->chkVisibleTextsGeoText, m_geodesicGridSettings->getVisibleAllTexts(), m_geodesicType);
365 
366  initCombo(m_ui->cmbCornerGeoFont, m_geodesicGridSettings->getFontTextCorner(), m_geodesicType);
367 
368  initCombo(m_ui->cmbCornerGeoTextSize, m_geodesicGridSettings->getPointTextSize(), m_geodesicType);
369 
370  initColor(m_ui->fraCornerTextGeoColor, m_geodesicGridSettings->getTextColorCorner(), m_geodesicType);
371 
372  initDouble(m_ui->lneCornerHrzGeoDisplacement, m_geodesicGridSettings->getLneCornerHrzDisplacement(), m_geodesicType);
373 
374  initDouble(m_ui->lneCornerVrtGeoDisplacement, m_geodesicGridSettings->getLneCornerVrtDisplacement(), m_geodesicType);
375 
376  initBool(m_ui->chkLowerRightCornerGeoText, m_geodesicGridSettings->getLowerRightCornerText(), m_geodesicType);
377 
378  initBool(m_ui->chkUpperRightCornerGeoText, m_geodesicGridSettings->getUpperRightCornerText(), m_geodesicType);
379 
380  initBool(m_ui->chkLowerLeftCornerGeoText, m_geodesicGridSettings->getLowerLeftCornerText(), m_geodesicType);
381 
382  initBool(m_ui->chkUpperLeftCornerGeoText, m_geodesicGridSettings->getUpperLeftCornerText(), m_geodesicType);
383 
384  /*Geodesic: Topographic Map*/
385 
386  initBool(m_ui->ckDefineScale, m_geodesicGridSettings->getDefineScale(), m_geodesicType);
387 
388  initCombo(m_ui->cmbScale, m_geodesicGridSettings->getScale(), m_geodesicType);
389 
390  initBool(m_ui->ckbClip, m_geodesicGridSettings->getClip(), m_geodesicType);
391 
392  initDouble(m_ui->lneX1, m_geodesicGridSettings->getLneX1(), m_geodesicType);
393 
394  initDouble(m_ui->lneX2, m_geodesicGridSettings->getLneX2(), m_geodesicType);
395 
396  initDouble(m_ui->lneY1, m_geodesicGridSettings->getLneY1(), m_geodesicType);
397 
398  initDouble(m_ui->lneY2, m_geodesicGridSettings->getLneY2(), m_geodesicType);
399 
400  initDouble(m_ui->lneX3, m_geodesicGridSettings->getLneX3(), m_geodesicType);
401 
402  initDouble(m_ui->lneX4, m_geodesicGridSettings->getLneX4(), m_geodesicType);
403 
404  initDouble(m_ui->lneY3, m_geodesicGridSettings->getLneY3(), m_geodesicType);
405 
406  initDouble(m_ui->lneY4, m_geodesicGridSettings->getLneY4(), m_geodesicType);
407 }
408 
410 {
411  accept();
412 }
413 
415 {
416 
417 }
418 
420 {
421  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
422  if(controller)
423  {
425  Variant variant;
426  variant.setValue(text.toStdString(), dataType->getDataTypeString());
427  Property prop = controller->updateProperty(m_planarGridSettings->getUnit(), variant, m_planarType);
428  emit updateProperty(prop);
429  }
430 }
431 
433 {
434  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
435  if(controller)
436  {
438  Variant variant;
439  variant.setValue(m_ui->chkShowPlanar->isChecked(), dataType->getDataTypeBool());
440  Property prop = controller->updateProperty(m_planarGridSettings->getVisible(), variant, m_planarType);
441  emit updateProperty(prop);
442  }
443 }
444 
446 {
447  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
448  if(controller)
449  {
451  Variant variant;
452  variant.setValue(text.toStdString(), dataType->getDataTypeString());
453  Property prop = controller->updateProperty(m_planarGridSettings->getStyle(), variant, m_planarType);
454  emit updateProperty(prop);
455  }
456 }
457 
459 {
460  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
461  if(controller)
462  {
464  Variant variant;
465  variant.setValue(text.toStdString(), dataType->getDataTypeString());
466  Property prop = controller->updateProperty(m_geodesicGridSettings->getStyle(), variant, m_geodesicType);
467  emit updateProperty(prop);
468  }
469 }
470 
472 {
473  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
474  if(controller)
475  {
477  Variant variant;
478  variant.setValue(m_ui->chkShowGeodesic->isChecked(), dataType->getDataTypeBool());
479  Property prop = controller->updateProperty(m_geodesicGridSettings->getVisible(), variant, m_geodesicType);
480  emit updateProperty(prop);
481  }
482 }
483 
485 {
486  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
487  if(controller)
488  {
490  Variant variant;
491  variant.setValue(m_ui->lneHrzPlanarGap->text().toDouble(), dataType->getDataTypeDouble());
492  Property prop = controller->updateProperty(m_planarGridSettings->getLneHrzGap(), variant, m_planarType);
493  emit updateProperty(prop);
494  }
495 }
496 
498 {
499  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
500  if(controller)
501  {
503  Variant variant;
504  variant.setValue(m_ui->lneVrtPlanarGap->text().toDouble(), dataType->getDataTypeDouble());
505  Property prop = controller->updateProperty(m_planarGridSettings->getLneVrtGap(), variant, m_planarType);
506  emit updateProperty(prop);
507  }
508 }
509 
511 {
512  /*if(checkValidDegreeValue(m_ui->lneHorizontalGap->text()) == false)
513  {
514  QMessageBox::information(this, tr("Information"), tr("Invalid Geodesic value! Try for example 0° 1' 0''"));
515  m_ui->lneHorizontalGap->setFocus();
516  return;
517  }*/
518 
519  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
520  if(controller)
521  {
523  Variant variant;
524  variant.setValue(m_ui->lneHorizontalGap->text().toDouble(), dataType->getDataTypeDouble());
525  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneHrzGap(), variant, m_geodesicType);
526  emit updateProperty(prop);
527  }
528 }
529 
531 {
532  /*if(checkValidDegreeValue(m_ui->lneVerticalGap->text()) == false)
533  {
534  QMessageBox::information(this, tr("Information"), tr("Invalid Geodesic value! Try for example 0° 1' 0''"));
535  m_ui->lneVerticalGap->setFocus();
536  return;
537  }*/
538 
539  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
540  if(controller)
541  {
543  Variant variant;
544  variant.setValue(m_ui->lneVerticalGap->text().toDouble(), dataType->getDataTypeDouble());
545  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneVrtGap(), variant, m_geodesicType);
546  emit updateProperty(prop);
547  }
548 }
549 
551 {
552  te::color::RGBAColor color = configColor(m_ui->fraPlanarLineColor);
553  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
554  if(controller)
555  {
557  Variant variant;
558  variant.setValue(color, dataType->getDataTypeColor());
559  Property prop = controller->updateProperty(m_planarGridSettings->getLineColor(), variant, m_planarType);
560  emit updateProperty(prop);
561  }
562 }
563 
565 {
566  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
567  if(controller)
568  {
570  Variant variant;
571  variant.setValue(text.toStdString(), dataType->getDataTypeString());
572  Property prop = controller->updateProperty(m_planarGridSettings->getLineStyle(), variant, m_planarType);
573  emit updateProperty(prop);
574  }
575 }
576 
578 {
579  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
580  if(controller)
581  {
583  Variant variant;
584  variant.setValue(text.toInt(), dataType->getDataTypeInt());
585  Property prop = controller->updateProperty(m_planarGridSettings->getLineWidth(), variant, m_planarType);
586  emit updateProperty(prop);
587  }
588 }
589 
591 {
592  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
593  if(controller)
594  {
596  Variant variant;
597  variant.setValue(text.toStdString(), dataType->getDataTypeString());
598  Property prop = controller->updateProperty(m_geodesicGridSettings->getLineStyle(), variant, m_geodesicType);
599  emit updateProperty(prop);
600  }
601 }
602 
604 {
605  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
606  if(controller)
607  {
609  Variant variant;
610  variant.setValue(text.toDouble(), dataType->getDataTypeDouble());
611  Property prop = controller->updateProperty(m_geodesicGridSettings->getLineWidth(), variant, m_geodesicType);
612  emit updateProperty(prop);
613  }
614 }
615 
617 {
618  te::color::RGBAColor color = configColor(m_ui->fraLineColor);
619  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
620  if(controller)
621  {
623  Variant variant;
624  variant.setValue(color, dataType->getDataTypeColor());
625  Property prop = controller->updateProperty(m_geodesicGridSettings->getLineColor(), variant, m_geodesicType);
626  emit updateProperty(prop);
627  }
628 }
629 
631 {
632  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
633  if(controller)
634  {
636  Variant variant;
637  variant.setValue(text.toInt(), dataType->getDataTypeInt());
638  Property prop = controller->updateProperty(m_planarGridSettings->getPointTextSize(), variant, m_planarType);
639  emit updateProperty(prop);
640  }
641 }
642 
644 {
645  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
646  if(controller)
647  {
649  Variant variant;
650  variant.setValue(text.toStdString(), dataType->getDataTypeString());
651  Property prop = controller->updateProperty(m_planarGridSettings->getFontText(), variant, m_planarType);
652  emit updateProperty(prop);
653  }
654 }
655 
657 {
658  te::color::RGBAColor color = configColor(m_ui->fraGridTextPlanarColor);
659  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
660  if(controller)
661  {
663  Variant variant;
664  variant.setValue(color, dataType->getDataTypeColor());
665  Property prop = controller->updateProperty(m_planarGridSettings->getTextColor(), variant, m_planarType);
666  emit updateProperty(prop);
667  }
668 }
669 
671 {
672  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
673  if(controller)
674  {
676  Variant variant;
677  variant.setValue(m_ui->chkSuperscriptPlanarText->isChecked(), dataType->getDataTypeBool());
678  Property prop = controller->updateProperty(m_planarGridSettings->getSuperscriptText(), variant, m_planarType);
679  emit updateProperty(prop);
680  }
681 }
682 
684 {
685  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
686  if(controller)
687  {
689  Variant variant;
690  variant.setValue(text.toStdString(), dataType->getDataTypeString());
691  Property prop = controller->updateProperty(m_geodesicGridSettings->getFontText(), variant, m_geodesicType);
692  emit updateProperty(prop);
693  }
694 }
695 
697 {
698  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
699  if(controller)
700  {
702  Variant variant;
703  variant.setValue(text.toInt(), dataType->getDataTypeInt());
704  Property prop = controller->updateProperty(m_geodesicGridSettings->getPointTextSize(), variant, m_geodesicType);
705  emit updateProperty(prop);
706  }
707 }
708 
710 {
711  te::color::RGBAColor color = configColor(m_ui->fraGridTextGeoColor);
712  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
713  if(controller)
714  {
716  Variant variant;
717  variant.setValue(color, dataType->getDataTypeColor());
718  Property prop = controller->updateProperty(m_geodesicGridSettings->getTextColor(), variant, m_geodesicType);
719  emit updateProperty(prop);
720  }
721 }
722 
724 {
725  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
726  if(controller)
727  {
729  Variant variant;
730  variant.setValue(m_ui->chkSuperscriptGeoText->isChecked(), dataType->getDataTypeBool());
731  Property prop = controller->updateProperty(m_geodesicGridSettings->getSuperscriptText(), variant, m_geodesicType);
732  emit updateProperty(prop);
733  }
734 }
735 
737 {
738  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
739  if(controller)
740  {
742  Variant variant;
743  variant.setValue(m_ui->xGridInitialPoint_planar_textField->text().toDouble(), dataType->getDataTypeDouble());
744  Property prop = controller->updateProperty(m_planarGridSettings->getInitialGridPointX(), variant, m_planarType);
745  emit updateProperty(prop);
746  }
747 }
748 
750 {
751  /*
752  if(checkValidDegreeValue(m_ui->yGridInitialPoint_geo_textField->text()) == false)
753  {
754  QMessageBox::information(this, tr("Information"), tr("Invalid Geodesic value! Try for example 0° 1' 0''"));
755  m_ui->lneVerticalGap->setFocus();
756  return;
757  }*/
758 
759  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
760  if(controller)
761  {
763  Variant variant;
764  variant.setValue(m_ui->yGridInitialPoint_planar_textField->text().toDouble(), dataType->getDataTypeDouble());
765  Property prop = controller->updateProperty(m_planarGridSettings->getInitialGridPointY(), variant, m_planarType);
766  emit updateProperty(prop);
767  }
768 }
769 
771 {
772  /*if(checkValidDegreeValue(m_ui->xGridInitialPoint_geo_textField->text()) == false)
773  {
774  QMessageBox::information(this, tr("Information"), tr("Invalid Geodesic value! Try for example 0° 1' 0''"));
775  m_ui->lneVerticalGap->setFocus();
776  return;
777  }*/
778 
779  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
780  if(controller)
781  {
783  Variant variant;
784  variant.setValue(m_ui->xGridInitialPoint_geo_textField->text().toDouble(), dataType->getDataTypeDouble());
785  Property prop = controller->updateProperty(m_geodesicGridSettings->getInitialGridPointX(), variant, m_geodesicType);
786  emit updateProperty(prop);
787  }
788 }
789 
791 {
792  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
793  if(controller)
794  {
796  Variant variant;
797  variant.setValue(m_ui->yGridInitialPoint_geo_textField->text().toDouble(), dataType->getDataTypeDouble());
798  Property prop = controller->updateProperty(m_geodesicGridSettings->getInitialGridPointY(), variant, m_geodesicType);
799  emit updateProperty(prop);
800  }
801 }
802 
804 {
805  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
806  if(controller)
807  {
809  Variant variant;
810  variant.setValue(m_ui->chkBottomPlanarText->isChecked(), dataType->getDataTypeBool());
811  Property prop = controller->updateProperty(m_planarGridSettings->getBottomText(), variant, m_planarType);
812  emit updateProperty(prop);
813  }
814 }
815 
817 {
818  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
819  if(controller)
820  {
822  Variant variant;
823  variant.setValue(m_ui->chkLeftPlanarText->isChecked(), dataType->getDataTypeBool());
824  Property prop = controller->updateProperty(m_planarGridSettings->getLeftText(), variant, m_planarType);
825  emit updateProperty(prop);
826  }
827 }
828 
830 {
831  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
832  if(controller)
833  {
835  Variant variant;
836  variant.setValue(m_ui->chkRightPlanarText->isChecked(), dataType->getDataTypeBool());
837  Property prop = controller->updateProperty(m_planarGridSettings->getRightText(), variant, m_planarType);
838  emit updateProperty(prop);
839  }
840 }
841 
843 {
844  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
845  if(controller)
846  {
848  Variant variant;
849  variant.setValue(m_ui->chkTopPlanarText->isChecked(), dataType->getDataTypeBool());
850  Property prop = controller->updateProperty(m_planarGridSettings->getTopText(), variant, m_planarType);
851  emit updateProperty(prop);
852  }
853 }
854 
856 {
857  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
858  if(controller)
859  {
861  Variant variant;
862  variant.setValue(m_ui->chkBottomGeoText->isChecked(), dataType->getDataTypeBool());
863  Property prop = controller->updateProperty(m_geodesicGridSettings->getBottomText(), variant, m_geodesicType);
864  emit updateProperty(prop);
865  }
866 }
867 
869 {
870  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
871  if(controller)
872  {
874  Variant variant;
875  variant.setValue(m_ui->chkLeftGeoText->isChecked(), dataType->getDataTypeBool());
876  Property prop = controller->updateProperty(m_geodesicGridSettings->getLeftText(), variant, m_geodesicType);
877  emit updateProperty(prop);
878  }
879 }
880 
882 {
883  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
884  if(controller)
885  {
887  Variant variant;
888  variant.setValue(m_ui->chkRightGeoText->isChecked(), dataType->getDataTypeBool());
889  Property prop = controller->updateProperty(m_geodesicGridSettings->getRightText(), variant, m_geodesicType);
890  emit updateProperty(prop);
891  }
892 }
893 
895 {
896  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
897  if(controller)
898  {
900  Variant variant;
901  variant.setValue(m_ui->chkTopGeoText->isChecked(), dataType->getDataTypeBool());
902  Property prop = controller->updateProperty(m_geodesicGridSettings->getTopText(), variant, m_geodesicType);
903  emit updateProperty(prop);
904  }
905 }
906 
908 {
909  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
910  if(controller)
911  {
913  Variant variant;
914  variant.setValue(m_ui->chkBottomRotatePlanarText->isChecked(), dataType->getDataTypeBool());
915  Property prop = controller->updateProperty(m_planarGridSettings->getBottomRotateText(), variant, m_planarType);
916  emit updateProperty(prop);
917  }
918 }
919 
921 {
922  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
923  if(controller)
924  {
926  Variant variant;
927  variant.setValue(m_ui->chkLeftRotatePlanarText->isChecked(), dataType->getDataTypeBool());
928  Property prop = controller->updateProperty(m_planarGridSettings->getLeftRotateText(), variant, m_planarType);
929  emit updateProperty(prop);
930  }
931 }
932 
934 {
935  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
936  if(controller)
937  {
939  Variant variant;
940  variant.setValue(m_ui->chkRightRotatePlanarText->isChecked(), dataType->getDataTypeBool());
941  Property prop = controller->updateProperty(m_planarGridSettings->getRightRotateText(), variant, m_planarType);
942  emit updateProperty(prop);
943  }
944 }
945 
947 {
948  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
949  if(controller)
950  {
952  Variant variant;
953  variant.setValue(m_ui->chkTopRotatePlanarText->isChecked(), dataType->getDataTypeBool());
954  Property prop = controller->updateProperty(m_planarGridSettings->getTopRotateText(), variant, m_planarType);
955  emit updateProperty(prop);
956  }
957 }
958 
960 {
961  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
962  if(controller)
963  {
965  Variant variant;
966  variant.setValue(m_ui->chkBottomRotateGeoText->isChecked(), dataType->getDataTypeBool());
967  Property prop = controller->updateProperty(m_geodesicGridSettings->getBottomRotateText(), variant, m_geodesicType);
968  emit updateProperty(prop);
969  }
970 }
971 
973 {
974  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
975  if(controller)
976  {
978  Variant variant;
979  variant.setValue(m_ui->chkLeftRotateGeoText->isChecked(), dataType->getDataTypeBool());
980  Property prop = controller->updateProperty(m_geodesicGridSettings->getLeftRotateText(), variant, m_geodesicType);
981  emit updateProperty(prop);
982  }
983 }
984 
986 {
987  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
988  if(controller)
989  {
991  Variant variant;
992  variant.setValue(m_ui->chkRightRotateGeoText->isChecked(), dataType->getDataTypeBool());
993  Property prop = controller->updateProperty(m_geodesicGridSettings->getRightRotateText(), variant, m_geodesicType);
994  emit updateProperty(prop);
995  }
996 }
997 
999 {
1000  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1001  if(controller)
1002  {
1004  Variant variant;
1005  variant.setValue(m_ui->chkTopRotateGeoText->isChecked(), dataType->getDataTypeBool());
1006  Property prop = controller->updateProperty(m_geodesicGridSettings->getTopRotateText(), variant, m_geodesicType);
1007  emit updateProperty(prop);
1008  }
1009 }
1010 
1012 {
1013  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1014  if(controller)
1015  {
1017  Variant variant;
1018  variant.setValue(m_ui->lneVrtPlanarDisplacement->text().toDouble(), dataType->getDataTypeDouble());
1019  Property prop = controller->updateProperty(m_planarGridSettings->getLneVrtDisplacement(), variant, m_planarType);
1020  emit updateProperty(prop);
1021  }
1022 }
1023 
1025 {
1026  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1027  if(controller)
1028  {
1030  Variant variant;
1031  variant.setValue(m_ui->chkVisibleTextsPlanarText->isChecked(), dataType->getDataTypeBool());
1032  Property prop = controller->updateProperty(m_planarGridSettings->getVisibleAllTexts(), variant, m_planarType);
1033 
1034  bool opt = m_ui->chkVisibleTextsPlanarText->isChecked();
1035  m_ui->chkBottomPlanarText->setChecked(opt);
1036  m_ui->chkLeftPlanarText->setChecked(opt);
1037  m_ui->chkRightPlanarText->setChecked(opt);
1038  m_ui->chkTopPlanarText->setChecked(opt);
1039 
1040  emit updateProperty(prop);
1041  }
1042 }
1043 
1045 {
1046  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1047  if(controller)
1048  {
1050  Variant variant;
1051  variant.setValue(m_ui->lneHrzPlanarDisplacement->text().toDouble(), dataType->getDataTypeDouble());
1052  Property prop = controller->updateProperty(m_planarGridSettings->getLneHrzDisplacement(), variant, m_planarType);
1053  emit updateProperty(prop);
1054  }
1055 }
1056 
1058 {
1059  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1060  if(controller)
1061  {
1063  Variant variant;
1064  variant.setValue(m_ui->lneVrtGeoDisplacement->text().toDouble(), dataType->getDataTypeDouble());
1065  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneHrzDisplacement(), variant, m_geodesicType);
1066  emit updateProperty(prop);
1067  }
1068 }
1069 
1071 {
1072  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1073  if(controller)
1074  {
1076  Variant variant;
1077  variant.setValue(m_ui->lneHrzGeoDisplacement->text().toDouble(), dataType->getDataTypeDouble());
1078  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneHrzDisplacement(), variant, m_geodesicType);
1079  emit updateProperty(prop);
1080  }
1081 }
1082 
1084 {
1085  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1086  if(controller)
1087  {
1089  Variant variant;
1090  variant.setValue(m_ui->chkDegreesGeoText->isChecked(), dataType->getDataTypeBool());
1091  Property prop = controller->updateProperty(m_geodesicGridSettings->getDegreesText(), variant, m_geodesicType);
1092  emit updateProperty(prop);
1093  }
1094 }
1095 
1097 {
1098  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1099  if(controller)
1100  {
1102  Variant variant;
1103  variant.setValue(m_ui->chkMinutesGeoText->isChecked(), dataType->getDataTypeBool());
1104  Property prop = controller->updateProperty(m_geodesicGridSettings->getMinutesText(), variant, m_geodesicType);
1105  emit updateProperty(prop);
1106  }
1107 }
1108 
1110 {
1111  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1112  if(controller)
1113  {
1115  Variant variant;
1116  variant.setValue(m_ui->chkSecondsGeoText->isChecked(), dataType->getDataTypeBool());
1117  Property prop = controller->updateProperty(m_geodesicGridSettings->getSecondsText(), variant, m_geodesicType);
1118  emit updateProperty(prop);
1119  }
1120 }
1121 
1123 {
1124  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1125  if(controller)
1126  {
1128  Variant variant;
1129  variant.setValue(m_ui->chkVisibleTextsGeoText->isChecked(), dataType->getDataTypeBool());
1130  Property prop = controller->updateProperty(m_geodesicGridSettings->getVisibleAllTexts(), variant, m_geodesicType);
1131 
1132  bool opt = m_ui->chkVisibleTextsGeoText->isChecked();
1133  m_ui->chkBottomGeoText->setChecked(opt);
1134  m_ui->chkLeftGeoText->setChecked(opt);
1135  m_ui->chkRightGeoText->setChecked(opt);
1136  m_ui->chkTopGeoText->setChecked(opt);
1137 
1138  emit updateProperty(prop);
1139  }
1140 }
1141 
1143 {
1144  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1145  if(controller)
1146  {
1148  Variant variant;
1149  variant.setValue(text.toStdString(), dataType->getDataTypeString());
1150  Property prop = controller->updateProperty(m_geodesicGridSettings->getFontTextCorner(), variant, m_geodesicType);
1151  emit updateProperty(prop);
1152  }
1153 }
1154 
1156 {
1157  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1158  if(controller)
1159  {
1161  Variant variant;
1162  variant.setValue(text.toInt(), dataType->getDataTypeString());
1163  Property prop = controller->updateProperty(m_geodesicGridSettings->getPointTextSizeCorner(), variant, m_geodesicType);
1164  emit updateProperty(prop);
1165  }
1166 }
1167 
1169 {
1170  te::color::RGBAColor color = configColor(m_ui->fraCornerTextGeoColor);
1171  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1172  if(controller)
1173  {
1175  Variant variant;
1176  variant.setValue(color, dataType->getDataTypeColor());
1177  Property prop = controller->updateProperty(m_geodesicGridSettings->getTextColorCorner(), variant, m_geodesicType);
1178  emit updateProperty(prop);
1179  }
1180 }
1181 
1183 {
1184  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1185  if(controller)
1186  {
1188  Variant variant;
1189  variant.setValue(m_ui->lneCornerHrzGeoDisplacement->text().toDouble(), dataType->getDataTypeDouble());
1190  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneCornerHrzDisplacement(), variant, m_geodesicType);
1191  emit updateProperty(prop);
1192  }
1193 }
1194 
1196 {
1197  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1198  if(controller)
1199  {
1201  Variant variant;
1202  variant.setValue(m_ui->lneCornerVrtGeoDisplacement->text().toDouble(), dataType->getDataTypeDouble());
1203  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneCornerVrtDisplacement(), variant, m_geodesicType);
1204  emit updateProperty(prop);
1205  }
1206 }
1207 
1209 {
1210  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1211  if(controller)
1212  {
1214  Variant variant;
1215  variant.setValue(m_ui->chkLowerRightCornerGeoText->isChecked(), dataType->getDataTypeBool());
1216  Property prop = controller->updateProperty(m_geodesicGridSettings->getLowerRightCornerText(), variant, m_geodesicType);
1217  emit updateProperty(prop);
1218  }
1219 }
1220 
1222 {
1223  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1224  if(controller)
1225  {
1227  Variant variant;
1228  variant.setValue(m_ui->chkUpperRightCornerGeoText->isChecked(), dataType->getDataTypeBool());
1229  Property prop = controller->updateProperty(m_geodesicGridSettings->getUpperRightCornerText(), variant, m_geodesicType);
1230  emit updateProperty(prop);
1231  }
1232 }
1233 
1235 {
1236  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1237  if(controller)
1238  {
1240  Variant variant;
1241  variant.setValue(m_ui->chkLowerLeftCornerGeoText->isChecked(), dataType->getDataTypeBool());
1242  Property prop = controller->updateProperty(m_geodesicGridSettings->getLowerLeftCornerText(), variant, m_geodesicType);
1243  emit updateProperty(prop);
1244  }
1245 }
1246 
1248 {
1249  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1250  if(controller)
1251  {
1253  Variant variant;
1254  variant.setValue(m_ui->chkUpperLeftCornerGeoText->isChecked(), dataType->getDataTypeBool());
1255  Property prop = controller->updateProperty(m_geodesicGridSettings->getUpperLeftCornerText(), variant, m_geodesicType);
1256  emit updateProperty(prop);
1257  }
1258 }
1259 
1261 {
1262  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1263  if(controller)
1264  {
1266  Variant variant;
1267  variant.setValue(m_ui->chkVisibleCornerTextsGeoText->isChecked(), dataType->getDataTypeBool());
1268  Property prop = controller->updateProperty(m_geodesicGridSettings->getVisibleCornerTextsText(), variant, m_geodesicType);
1269  emit updateProperty(prop);
1270  }
1271 }
1272 
1274 {
1275  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1276  if(controller)
1277  {
1279  Variant variant;
1280  variant.setValue(m_ui->ckDefineScale->isChecked(), dataType->getDataTypeBool());
1281  Property prop = controller->updateProperty(m_geodesicGridSettings->getDefineScale(), variant, m_geodesicType);
1282  emit updateProperty(prop);
1283  }
1284 }
1285 
1287 {
1288  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1289  if(controller)
1290  {
1292  Variant variant;
1293  variant.setValue(text.toInt(), dataType->getDataTypeString());
1294  Property prop = controller->updateProperty(m_geodesicGridSettings->getScale(), variant, m_geodesicType);
1295  emit updateProperty(prop);
1296  }
1297 }
1298 
1300 {
1301  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1302  if(controller)
1303  {
1305  Variant variant;
1306  variant.setValue(m_ui->ckbClip->isChecked(), dataType->getDataTypeBool());
1307  Property prop = controller->updateProperty(m_geodesicGridSettings->getClip(), variant, m_geodesicType);
1308  emit updateProperty(prop);
1309  }
1310 }
1311 
1313 {
1314  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1315  if(controller)
1316  {
1318  Variant variant;
1319  variant.setValue(m_ui->lneX1->text().toDouble(), dataType->getDataTypeDouble());
1320  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneX1(), variant, m_geodesicType);
1321  emit updateProperty(prop);
1322  }
1323 }
1324 
1326 {
1327  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1328  if(controller)
1329  {
1331  Variant variant;
1332  variant.setValue(m_ui->lneX2->text().toDouble(), dataType->getDataTypeDouble());
1333  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneX2(), variant, m_geodesicType);
1334  emit updateProperty(prop);
1335  }
1336 }
1337 
1339 {
1340  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1341  if(controller)
1342  {
1344  Variant variant;
1345  variant.setValue(m_ui->lneY1->text().toDouble(), dataType->getDataTypeDouble());
1346  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneY1(), variant, m_geodesicType);
1347  emit updateProperty(prop);
1348  }
1349 }
1350 
1352 {
1353  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1354  if(controller)
1355  {
1357  Variant variant;
1358  variant.setValue(m_ui->lneY2->text().toDouble(), dataType->getDataTypeDouble());
1359  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneY2(), variant, m_geodesicType);
1360  emit updateProperty(prop);
1361  }
1362 }
1363 
1365 {
1366  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1367  if(controller)
1368  {
1370  Variant variant;
1371  variant.setValue(m_ui->lneX3->text().toDouble(), dataType->getDataTypeDouble());
1372  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneX3(), variant, m_geodesicType);
1373  emit updateProperty(prop);
1374  }
1375 }
1376 
1378 {
1379  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1380  if(controller)
1381  {
1383  Variant variant;
1384  variant.setValue(m_ui->lneX4->text().toDouble(), dataType->getDataTypeDouble());
1385  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneX4(), variant, m_geodesicType);
1386  emit updateProperty(prop);
1387  }
1388 }
1389 
1391 {
1392  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1393  if(controller)
1394  {
1396  Variant variant;
1397  variant.setValue(m_ui->lneY3->text().toDouble(), dataType->getDataTypeDouble());
1398  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneY3(), variant, m_geodesicType);
1399  emit updateProperty(prop);
1400  }
1401 }
1402 
1404 {
1405  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1406  if(controller)
1407  {
1409  Variant variant;
1410  variant.setValue(m_ui->lneY4->text().toDouble(), dataType->getDataTypeDouble());
1411  Property prop = controller->updateProperty(m_geodesicGridSettings->getLneY4(), variant, m_geodesicType);
1412  emit updateProperty(prop);
1413  }
1414 }
1415 
1416 void te::layout::GridSettingsOutside::initString( QWidget* widget, std::string nameComponent, EnumType* gridType )
1417 {
1418  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1419  if(!controller)
1420  return;
1421 
1422  Property prop = controller->getProperty(nameComponent, gridType);
1423 
1424  QLineEdit* edit = dynamic_cast<QLineEdit*>(widget);
1425  if(edit)
1426  {
1427  edit->setText(prop.getValue().toString().c_str());
1428  return;
1429  }
1430 }
1431 
1432 void te::layout::GridSettingsOutside::initInt( QWidget* widget, std::string nameComponent, EnumType* gridType )
1433 {
1434  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1435  if(!controller)
1436  return;
1437 
1438  std::ostringstream convert;
1439  Property prop = controller->getProperty(nameComponent, gridType);
1440  convert << prop.getValue().toInt();
1441 
1442  QLineEdit* edit = dynamic_cast<QLineEdit*>(widget);
1443  if(edit)
1444  {
1445  edit->setText(convert.str().c_str());
1446  }
1447 }
1448 
1449 void te::layout::GridSettingsOutside::initDouble( QWidget* widget, std::string nameComponent, EnumType* gridType )
1450 {
1451  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1452  if(!controller)
1453  return;
1454 
1455  std::ostringstream convert;
1456  convert.precision(15);
1457  Property prop = controller->getProperty(nameComponent, gridType);
1458  double number = prop.getValue().toDouble();
1459  convert << number;
1460 
1461  QLineEdit* edit = dynamic_cast<QLineEdit*>(widget);
1462  if(edit)
1463  {
1464  edit->setText(convert.str().c_str());
1465  }
1466 }
1467 
1468 void te::layout::GridSettingsOutside::initBool( QWidget* widget, std::string nameComponent, EnumType* gridType )
1469 {
1470  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1471  if(!controller)
1472  return;
1473 
1474  Property prop = controller->getProperty(nameComponent, gridType);
1475 
1476  QCheckBox* chk = dynamic_cast<QCheckBox*>(widget);
1477 
1478  if(chk)
1479  {
1480  chk->setChecked(prop.getValue().toBool());
1481  }
1482 }
1483 
1484 void te::layout::GridSettingsOutside::initColor( QWidget* widget, std::string nameComponent, EnumType* gridType )
1485 {
1486  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1487  if(!controller)
1488  return;
1489 
1490  Property prop = controller->getProperty(nameComponent, gridType);
1491 
1492  te::color::RGBAColor color = prop.getValue().toColor();
1493  QColor qcolor(color.getRed(), color.getGreen(), color.getBlue());
1494 
1495  if(!qcolor.isValid())
1496  return;
1497 
1498  if(!widget)
1499  return;
1500 
1501  QPalette paltt(widget->palette());
1502  paltt.setColor(widget->backgroundRole(), qcolor);
1503  widget->setPalette(paltt);
1504  widget->setAutoFillBackground(true);
1505 }
1506 
1507 void te::layout::GridSettingsOutside::initCombo( QWidget* widget, std::string nameComponent, EnumType* gridType )
1508 {
1509  GridSettingsController* controller = dynamic_cast<GridSettingsController*>(m_controller);
1510  if(!controller)
1511  return;
1512 
1513  Property prop = controller->getProperty(nameComponent, gridType);
1514 
1515  QComboBox* combo = dynamic_cast<QComboBox*>(widget);
1516 
1517  if(!combo)
1518  return;
1519 
1521 
1522  int index = -1;
1523  QVariant variant;
1524 
1525  if(prop.getType() == dataType->getDataTypeBool())
1526  {
1527  variant.setValue(prop.getValue().toBool());
1528  }
1529  else if(prop.getType() == dataType->getDataTypeDouble())
1530  {
1531  variant.setValue(prop.getValue().toDouble());
1532  }
1533  else if(prop.getType() == dataType->getDataTypeInt())
1534  {
1535  variant.setValue(prop.getValue().toInt());
1536  }
1537  else if(prop.getType() == dataType->getDataTypeString())
1538  {
1539  variant.setValue(QString(prop.getValue().toString().c_str()));
1540  }
1541 
1542  index = combo->findData(variant);
1543  if ( index != -1 )
1544  {
1545  combo->setCurrentIndex(index);
1546  }
1547 }
1548 
1549 
1550 
Abstract class to represent an observable. "Model" part of MVC component.
Definition: Observable.h:56
virtual void on_cmbPlanarTextSize_currentIndexChanged(const QString &text)
Text: Basic Configuration/
Class responsible for maintaining the drawing context of a MVC component. It is always used by the "M...
Definition: ContextItem.h:49
virtual void on_cmbPlanarLineType_currentIndexChanged(const QString &text)
std::auto_ptr< Ui::GridSettings > m_ui
Class to represent a graphic object (MVC component) and widget object (MVC widget) type enumeration...
virtual void on_cmbPlanarStyle_currentIndexChanged(const QString &text)
Variant getValue()
Returns stored value.
Definition: Property.cpp:72
double y
y-coordinate.
Definition: Coord2D.h:114
virtual void on_cmbGridStyle_currentIndexChanged(const QString &text)
virtual EnumDataType * getEnumDataType()
Returns data type enumeration.
Definition: Enums.cpp:52
void setColor(const std::string &hexColor)
It sets the color using a two hexadecimal RGB-encoded color.
Definition: RGBAColor.h:329
virtual void initBool(QWidget *widget, std::string nameComponent, EnumType *gridType)
int getRed() const
It returns the red component color value (a value from 0 to 255).
Definition: RGBAColor.h:295
virtual EnumType * getDataTypeBool() const
Returns value that represents type bool belonging to enumeration.
virtual void on_xGridInitialPoint_planar_textField_editingFinished()
Text: Advanced configuration/
virtual void initColor(QWidget *widget, std::string nameComponent, EnumType *gridType)
double x
x-coordinate.
Definition: Coord2D.h:113
virtual EnumType * getDataTypeDouble() const
Returns value that represents type double belonging to enumeration.
virtual void on_cmbScale_currentIndexChanged(const QString &text)
PlanarGridSettingsConfigProperties * m_planarGridSettings
virtual EnumType * getDataTypeInt() const
Returns value that represents type integer belonging to enumeration.
virtual EnumType * getGridGeodesicItem() const
Returns value that represents grid geodesic type belonging to enumeration.
Abstract class to represent an observer. "View" part of MVC widget. All classes representing the grap...
virtual void on_lneHrzPlanarDisplacement_editingFinished()
Window (QDialog) map grid setting (MapItem).
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)
Change coordinate llx,lly of the MVC widget. Reimplement this function in a ItemController subclass t...
An utility struct for representing 2D coordinates.
Definition: Coord2D.h:40
virtual void on_cmbLineType_currentIndexChanged(const QString &text)
virtual void on_yGridInitialPoint_geo_textField_editingFinished()
virtual void on_lneCornerHrzGeoDisplacement_editingFinished()
virtual te::color::RGBAColor configColor(QWidget *widget)
virtual EnumType * getGridPlanarItem() const
Returns value that represents grid planar type belonging to enumeration.
virtual void on_cmbGeoTextSize_currentIndexChanged(const QString &text)
static Enums & getInstance()
It returns a reference to the singleton instance.
virtual void initString(QWidget *widget, std::string nameComponent, EnumType *gridType)
virtual void initCombo(QWidget *widget, std::string nameComponent, EnumType *gridType)
Class to represent a data type enumeration. Ex.: int, double, bool, te::color::RGBAColor (color)...
Definition: EnumDataType.h:48
virtual void updateObserver(ContextItem context)
Reimplemented from Observer.
virtual void on_cmbPlanarLineWidth_currentIndexChanged(const QString &text)
Class acts like a union for some C++/TerraLib5 data types. Responsible for storing the value...
Definition: Variant.h:80
virtual void on_cmbLineWidth_currentIndexChanged(const QString &text)
virtual void initDouble(QWidget *widget, std::string nameComponent, EnumType *gridType)
virtual void on_yGridInitialPoint_planar_textField_editingFinished()
virtual EnumType * getDataTypeColor() const
Returns value that represents type te::color::RGBAColor** (color) belonging to enumeration.
virtual void on_lneVrtPlanarDisplacement_editingFinished()
virtual Property getProperty(std::string name, EnumType *enumType)
double toDouble()
Returns the value of double type. (The setValue method received a double)
Definition: Variant.cpp:316
virtual void initInt(QWidget *widget, std::string nameComponent, EnumType *gridType)
virtual void on_cmbUnit_currentIndexChanged(const QString &text)
Class that represents the value of an enumeration. An enumeration is made of "1..n" objects EnumType...
Definition: EnumType.h:48
A helper class for 32-bit RGBA (Red-Green-Blue-Alpha channel) color.
Definition: RGBAColor.h:57
virtual void on_lneCornerVrtGeoDisplacement_editingFinished()
std::string toString()
Returns the value of string type. (The setValue method received a string)
Definition: Variant.cpp:311
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()
Returns the value of te::color::RGBAColor type. (The setValue method received a te::color::RGBAColor)...
Definition: Variant.cpp:341
virtual Property updateProperty(std::string name, Variant variant, EnumType *enumType)
virtual void on_cmbCornerGeoFont_currentIndexChanged(const QString &text)
virtual void on_cmbPlanarFont_currentIndexChanged(const QString &text)
Abstract class to represent a controller. "Controller" part of MVC widget. All classes representing t...
GeodesicGridSettingsConfigProperties * m_geodesicGridSettings
virtual EnumType * getDataTypeString() const
Returns value that represents type string belonging to enumeration.
GridSettingsOutside(OutsideController *controller, Observable *o)
virtual te::gm::Coord2D getPosition()
Method that returns the position llx, lly Reimplement this function in a ItemObserver subclass to pro...
EnumType * getType()
Returns the type of this property.
Definition: Property.cpp:67
virtual bool checkValidDegreeValue(const QString &)
A property acts like a attribute member of a object and stores the state of this attribute. A set of properties stores the state of an object. Any data type, not included in the convertValue method in the class te::layout::Variant, it will be by default "std::string" value.
Definition: Property.h:47
int toInt()
Returns the value of int type. (The setValue method received a int)
Definition: Variant.cpp:321
bool toBool()
Returns the value of boolean type. (The setValue method received a boolean)
Definition: Variant.cpp:336
void setValue(ValueType value, EnumType *type)
Stores a copy of value.
Definition: Variant.h:288