30 #include "ui_GridSettings.h"
43 #include <QColorDialog>
49 #include <QMessageBox>
50 #include <QObjectList>
55 m_ui(new Ui::GridSettings)
62 setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint
63 | Qt::WindowTitleHint | Qt::WindowStaysOnTopHint );
70 if(m_planarGridSettings)
72 delete m_planarGridSettings;
73 m_planarGridSettings = 0;
76 if(m_geodesicGridSettings)
78 delete m_geodesicGridSettings;
79 m_geodesicGridSettings = 0;
85 m_ui->lneVrtPlanarDisplacement->setValidator(
new QDoubleValidator(
this));
86 m_ui->lneHrzPlanarDisplacement->setValidator(
new QDoubleValidator(
this));
88 m_ui->lneVrtGeoDisplacement->setValidator(
new QDoubleValidator(
this));
89 m_ui->lneHrzGeoDisplacement->setValidator(
new QDoubleValidator(
this));
91 m_ui->lneCornerHrzGeoDisplacement->setValidator(
new QDoubleValidator(
this));
92 m_ui->lneCornerVrtGeoDisplacement->setValidator(
new QDoubleValidator(
this));
94 m_ui->lneHrzPlanarGap->setValidator(
new QDoubleValidator(
this));
95 m_ui->lneVrtPlanarGap->setValidator(
new QDoubleValidator(
this));
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();
108 m_ui->fraCornerTextGeoColor->setAutoFillBackground(
true);
109 m_ui->fraGridTextGeoColor->setAutoFillBackground(
true);
110 m_ui->fraGridTextPlanarColor->setAutoFillBackground(
true);
111 m_ui->fraPlanarLineColor->setAutoFillBackground(
true);
135 QPointF posF = pos();
136 qreal valuex = posF.x();
137 qreal valuey = posF.y();
140 coordinate.
x = valuex;
141 coordinate.
y = valuey;
148 QObjectList list = children();
150 QList<QObject*>::Iterator it;
151 for(it = list.begin() ; it != list.end() ; ++it)
153 QObject* obj = (*it);
154 QWidget* w =
dynamic_cast<QWidget*
>(obj);
159 w->setEnabled(
false);
167 QObjectList list = children();
169 QList<QObject*>::Iterator it;
170 for(it = list.begin() ; it != list.end() ; ++it)
172 QObject* obj = (*it);
173 QWidget* w =
dynamic_cast<QWidget*
>(obj);
186 int degree = 0, minute = 0;
189 std::basic_string <char>::size_type index;
190 std::string strDegree =
"";
193 strDegree=value.toLatin1();
194 if((index=strDegree.find(
"º")) !=std::string::npos)
196 strDegree.replace(index,1,
"");
198 if((index=strDegree.find(
"°")) !=std::string::npos)
200 strDegree.replace(index,1,
"");
203 if((index=strDegree.find(
"'")) !=std::string::npos)
205 strDegree.replace(index,1,
"");
207 if((index=strDegree.find(
"'")) !=std::string::npos)
209 strDegree.replace(index,1,
"");
212 status=sscanf(strDegree.c_str(),
"%d %d %f",°ree,&minute,&second);
213 if(status!=3)
return false;
223 QPalette ptt(widget->palette());
224 QBrush brush = ptt.brush(widget->backgroundRole());
226 QColor bColor = brush.color();
227 rgbaColor.
setColor(bColor.red(), bColor.green(), bColor.blue());
229 QColor color = QColorDialog::getColor(brush.color(),
this,
"Color" );
234 QPalette paltt(widget->palette());
235 paltt.
setColor(widget->backgroundRole(), color);
236 widget->setPalette(paltt);
237 widget->setAutoFillBackground(
true);
239 rgbaColor.
setColor(color.red(), color.green(), color.blue());
248 initCombo(m_ui->cmbUnit, m_planarGridSettings->getUnit(),
TypePlanar);
250 initBool(m_ui->chkShowPlanar, m_planarGridSettings->getVisible(),
TypePlanar);
252 initCombo(m_ui->cmbPlanarStyle, m_planarGridSettings->getStyle(),
TypePlanar);
254 initCombo(m_ui->cmbGridStyle, m_geodesicGridSettings->getStyle(),
TypeGeodesic);
256 initBool(m_ui->chkShowGeodesic, m_geodesicGridSettings->getVisible(),
TypeGeodesic);
260 initDouble(m_ui->lneHrzPlanarGap, m_planarGridSettings->getLneHrzGap(),
TypePlanar);
262 initDouble(m_ui->lneVrtPlanarGap, m_planarGridSettings->getLneVrtGap(),
TypePlanar);
264 initDouble(m_ui->lneHorizontalGap, m_geodesicGridSettings->getLneHrzGap(),
TypeGeodesic);
266 initDouble(m_ui->lneVerticalGap, m_geodesicGridSettings->getLneVrtGap(),
TypeGeodesic);
268 initColor(m_ui->fraPlanarLineColor, m_planarGridSettings->getLineColor(),
TypePlanar);
270 initCombo(m_ui->cmbPlanarLineType, m_planarGridSettings->getLineStyle(),
TypePlanar);
272 initCombo(m_ui->cmbPlanarLineWidth, m_planarGridSettings->getLineWidth(),
TypePlanar);
274 initCombo(m_ui->cmbLineType, m_geodesicGridSettings->getStyle(),
TypeGeodesic);
276 initCombo(m_ui->cmbLineWidth, m_geodesicGridSettings->getLineWidth(),
TypeGeodesic);
278 initColor(m_ui->fraLineColor, m_geodesicGridSettings->getLineColor(),
TypeGeodesic);
282 initCombo(m_ui->cmbPlanarTextSize, m_planarGridSettings->getPointTextSize(),
TypePlanar);
284 initCombo(m_ui->cmbPlanarFont, m_planarGridSettings->getFontText(),
TypePlanar);
286 initColor(m_ui->fraGridTextPlanarColor, m_planarGridSettings->getTextColor(),
TypePlanar);
288 initBool(m_ui->chkSuperscriptPlanarText, m_planarGridSettings->getSuperscriptText(),
TypePlanar);
290 initCombo(m_ui->cmbGeoFont, m_geodesicGridSettings->getFontText(),
TypeGeodesic);
292 initCombo(m_ui->cmbGeoTextSize, m_geodesicGridSettings->getPointTextSize(),
TypeGeodesic);
294 initColor(m_ui->fraGridTextGeoColor, m_geodesicGridSettings->getTextColor(),
TypeGeodesic);
296 initBool(m_ui->chkSuperscriptGeoText, m_geodesicGridSettings->getSuperscriptText(),
TypeGeodesic);
300 initDouble(m_ui->xGridInitialPoint_planar_textField, m_planarGridSettings->getInitialGridPointX(),
TypePlanar);
302 initDouble(m_ui->yGridInitialPoint_planar_textField, m_planarGridSettings->getInitialGridPointY(),
TypePlanar);
304 initDouble(m_ui->xGridInitialPoint_geo_textField, m_geodesicGridSettings->getInitialGridPointX(),
TypeGeodesic);
306 initDouble(m_ui->yGridInitialPoint_geo_textField, m_geodesicGridSettings->getInitialGridPointY(),
TypeGeodesic);
308 initBool(m_ui->chkBottomPlanarText, m_planarGridSettings->getBottomText(),
TypePlanar);
310 initBool(m_ui->chkLeftPlanarText, m_planarGridSettings->getLeftText(),
TypePlanar);
312 initBool(m_ui->chkRightPlanarText, m_planarGridSettings->getRightText(),
TypePlanar);
314 initBool(m_ui->chkTopPlanarText, m_planarGridSettings->getTopText(),
TypePlanar);
316 initBool(m_ui->chkBottomGeoText, m_geodesicGridSettings->getBottomText(),
TypeGeodesic);
318 initBool(m_ui->chkLeftGeoText, m_geodesicGridSettings->getLeftText(),
TypeGeodesic);
320 initBool(m_ui->chkRightGeoText, m_geodesicGridSettings->getRightText(),
TypeGeodesic);
322 initBool(m_ui->chkTopGeoText, m_geodesicGridSettings->getTopText(),
TypeGeodesic);
324 initBool(m_ui->chkBottomRotatePlanarText, m_planarGridSettings->getBottomRotateText(),
TypePlanar);
326 initBool(m_ui->chkLeftRotatePlanarText, m_planarGridSettings->getLeftRotateText(),
TypePlanar);
328 initBool(m_ui->chkRightRotatePlanarText, m_planarGridSettings->getRightRotateText(),
TypePlanar);
330 initBool(m_ui->chkTopRotatePlanarText, m_planarGridSettings->getTopRotateText(),
TypePlanar);
332 initBool(m_ui->chkBottomRotateGeoText, m_geodesicGridSettings->getBottomRotateText(),
TypeGeodesic);
334 initBool(m_ui->chkLeftRotateGeoText, m_geodesicGridSettings->getLeftRotateText(),
TypeGeodesic);
336 initBool(m_ui->chkRightRotateGeoText, m_geodesicGridSettings->getRightRotateText(),
TypeGeodesic);
338 initBool(m_ui->chkTopRotateGeoText, m_geodesicGridSettings->getTopRotateText(),
TypeGeodesic);
340 initDouble(m_ui->lneVrtPlanarDisplacement, m_planarGridSettings->getLneVrtDisplacement(),
TypePlanar);
342 initBool(m_ui->chkVisibleTextsPlanarText, m_planarGridSettings->getVisibleAllTexts(),
TypePlanar);
344 initDouble(m_ui->lneHrzPlanarDisplacement, m_planarGridSettings->getLneHrzDisplacement(),
TypePlanar);
346 initDouble(m_ui->lneVrtGeoDisplacement, m_geodesicGridSettings->getLneVrtDisplacement(),
TypeGeodesic);
348 initDouble(m_ui->lneHrzGeoDisplacement, m_geodesicGridSettings->getLneHrzDisplacement(),
TypeGeodesic);
350 initBool(m_ui->chkDegreesGeoText, m_geodesicGridSettings->getDegreesText(),
TypeGeodesic);
352 initBool(m_ui->chkMinutesGeoText, m_geodesicGridSettings->getMinutesText(),
TypeGeodesic);
354 initBool(m_ui->chkSecondsGeoText, m_geodesicGridSettings->getSecondsText(),
TypeGeodesic);
356 initBool(m_ui->chkVisibleTextsGeoText, m_geodesicGridSettings->getVisibleAllTexts(),
TypeGeodesic);
358 initCombo(m_ui->cmbCornerGeoFont, m_geodesicGridSettings->getFontTextCorner(),
TypeGeodesic);
360 initCombo(m_ui->cmbCornerGeoTextSize, m_geodesicGridSettings->getPointTextSize(),
TypeGeodesic);
362 initColor(m_ui->fraCornerTextGeoColor, m_geodesicGridSettings->getTextColorCorner(),
TypeGeodesic);
364 initDouble(m_ui->lneCornerHrzGeoDisplacement, m_geodesicGridSettings->getLneCornerHrzDisplacement(),
TypeGeodesic);
366 initDouble(m_ui->lneCornerVrtGeoDisplacement, m_geodesicGridSettings->getLneCornerVrtDisplacement(),
TypeGeodesic);
368 initBool(m_ui->chkLowerRightCornerGeoText, m_geodesicGridSettings->getLowerRightCornerText(),
TypeGeodesic);
370 initBool(m_ui->chkUpperRightCornerGeoText, m_geodesicGridSettings->getUpperRightCornerText(),
TypeGeodesic);
372 initBool(m_ui->chkLowerLeftCornerGeoText, m_geodesicGridSettings->getLowerLeftCornerText(),
TypeGeodesic);
374 initBool(m_ui->chkUpperLeftCornerGeoText, m_geodesicGridSettings->getUpperLeftCornerText(),
TypeGeodesic);
378 initBool(m_ui->ckDefineScale, m_geodesicGridSettings->getDefineScale(),
TypeGeodesic);
380 initCombo(m_ui->cmbScale, m_geodesicGridSettings->getScale(),
TypeGeodesic);
382 initBool(m_ui->ckbClip, m_geodesicGridSettings->getClip(),
TypeGeodesic);
384 initDouble(m_ui->lneX1, m_geodesicGridSettings->getLneX1(),
TypeGeodesic);
386 initDouble(m_ui->lneX2, m_geodesicGridSettings->getLneX2(),
TypeGeodesic);
388 initDouble(m_ui->lneY1, m_geodesicGridSettings->getLneY1(),
TypeGeodesic);
390 initDouble(m_ui->lneY2, m_geodesicGridSettings->getLneY2(),
TypeGeodesic);
392 initDouble(m_ui->lneX3, m_geodesicGridSettings->getLneX3(),
TypeGeodesic);
394 initDouble(m_ui->lneX4, m_geodesicGridSettings->getLneX4(),
TypeGeodesic);
396 initDouble(m_ui->lneY3, m_geodesicGridSettings->getLneY3(),
TypeGeodesic);
398 initDouble(m_ui->lneY4, m_geodesicGridSettings->getLneY4(),
TypeGeodesic);
403 emit updateProperty();
1272 QLineEdit* edit =
dynamic_cast<QLineEdit*
>(widget);
1290 QLineEdit* edit =
dynamic_cast<QLineEdit*
>(widget);
1293 edit->setText(convert.str().c_str());
1304 convert.precision(15);
1309 QLineEdit* edit =
dynamic_cast<QLineEdit*
>(widget);
1312 edit->setText(convert.str().c_str());
1324 QCheckBox* chk =
dynamic_cast<QCheckBox*
>(widget);
1343 if(!qcolor.isValid())
1349 QPalette paltt(widget->palette());
1350 paltt.
setColor(widget->backgroundRole(), qcolor);
1351 widget->setPalette(paltt);
1352 widget->setAutoFillBackground(
true);
1363 QComboBox* combo =
dynamic_cast<QComboBox*
>(widget);
1389 index = combo->findData(variant);
1392 combo->setCurrentIndex(index);
virtual void on_cmbPlanarTextSize_currentIndexChanged(const QString &text)
Text: Basic Configuration/
virtual void on_chkTopRotatePlanarText_clicked()
virtual void on_chkVisibleTextsGeoText_clicked()
virtual void on_cmbPlanarLineType_currentIndexChanged(const QString &text)
std::auto_ptr< Ui::GridSettings > m_ui
virtual void on_chkMinutesGeoText_clicked()
virtual void on_chkVisibleTextsPlanarText_clicked()
virtual void on_cmbPlanarStyle_currentIndexChanged(const QString &text)
virtual void on_chkTopGeoText_clicked()
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.
virtual void on_lneY4_editingFinished()
int getRed() const
It returns the red component color value (a value from 0 to 255).
virtual void clearUpdate()
virtual void on_xGridInitialPoint_planar_textField_editingFinished()
Text: Advanced configuration/
virtual void on_chkLeftRotateGeoText_clicked()
virtual void initInt(QWidget *widget, std::string nameComponent, LayoutGridType gridType)
virtual void on_chkLeftPlanarText_clicked()
virtual void on_pbClose_clicked()
virtual void on_cmbScale_currentIndexChanged(const QString &text)
virtual void initColor(QWidget *widget, std::string nameComponent, LayoutGridType gridType)
PlanarGridSettingsConfigProperties * m_planarGridSettings
virtual void on_pbGridTextPlanarColor_clicked()
virtual void on_lneHrzPlanarDisplacement_editingFinished()
virtual void on_lneHrzPlanarGap_editingFinished()
int getBlue() const
It returns the blue component color value (a value from 0 to 255).
virtual void unblockComponents()
int getGreen() const
It returns the green component color value (a value from 0 to 255).
virtual void on_xGridInitialPoint_geo_textField_editingFinished()
virtual void setPosition(const double &x, const double &y)
virtual void on_lneX4_editingFinished()
virtual void on_lneY1_editingFinished()
An utility struct for representing 2D coordinates.
virtual void initDouble(QWidget *widget, std::string nameComponent, LayoutGridType gridType)
virtual void on_cmbLineType_currentIndexChanged(const QString &text)
virtual void on_lneVrtPlanarGap_editingFinished()
virtual void on_ckbClip_clicked()
virtual void on_yGridInitialPoint_geo_textField_editingFinished()
virtual void on_lneCornerHrzGeoDisplacement_editingFinished()
virtual void on_chkUpperRightCornerGeoText_clicked()
virtual void on_chkLeftGeoText_clicked()
virtual void on_pbCornerTextGeoColor_clicked()
void setValue(typename ValueType value, LayoutPropertyDataType type)
virtual void initString(QWidget *widget, std::string nameComponent, LayoutGridType gridType)
virtual void on_ckDefineScale_clicked()
virtual void on_lneVerticalGap_editingFinished()
virtual te::color::RGBAColor configColor(QWidget *widget)
virtual void on_cmbGeoTextSize_currentIndexChanged(const QString &text)
virtual void on_lneHorizontalGap_editingFinished()
virtual void on_chkShowGeodesic_clicked()
virtual void on_chkSuperscriptPlanarText_clicked()
virtual Property getProperty(std::string name, LayoutGridType gridType)
virtual void on_chkTopRotateGeoText_clicked()
virtual void initCombo(QWidget *widget, std::string nameComponent, LayoutGridType gridType)
virtual void on_chkVisibleCornerTextsGeoText_clicked()
virtual void on_chkBottomRotatePlanarText_clicked()
virtual void updateObserver(ContextItem context)
virtual void on_chkRightRotatePlanarText_clicked()
virtual void on_chkRightPlanarText_clicked()
virtual void addUpdateProperty(std::string name, Variant variant, LayoutGridType gridType)
virtual void on_cmbPlanarLineWidth_currentIndexChanged(const QString &text)
virtual void on_chkLeftRotatePlanarText_clicked()
virtual void on_lneY2_editingFinished()
virtual void on_helpPushButton_clicked()
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_chkBottomGeoText_clicked()
virtual void on_chkBottomRotateGeoText_clicked()
virtual ~GridSettingsOutside()
virtual void on_chkBottomPlanarText_clicked()
virtual void on_cmbUnit_currentIndexChanged(const QString &text)
virtual void on_chkLowerLeftCornerGeoText_clicked()
virtual void on_chkLowerRightCornerGeoText_clicked()
virtual void on_chkDegreesGeoText_clicked()
virtual void on_pbCancel_clicked()
virtual void on_chkRightGeoText_clicked()
virtual void on_chkShowPlanar_clicked()
virtual void on_chkRightRotateGeoText_clicked()
A helper class for 32-bit RGBA (Red-Green-Blue-Alpha channel) color.
LayoutPropertyDataType getType()
virtual void on_lneCornerVrtGeoDisplacement_editingFinished()
virtual void on_lneVrtGeoDisplacement_editingFinished()
virtual void on_pbLineColor_clicked()
std::string convert(const path &v)
URI path to string.
virtual void on_cmbCornerGeoTextSize_currentIndexChanged(const QString &text)
virtual void on_chkSecondsGeoText_clicked()
virtual void on_cmbGeoFont_currentIndexChanged(const QString &text)
virtual void on_lneX1_editingFinished()
te::color::RGBAColor toColor()
virtual void on_cmbCornerGeoFont_currentIndexChanged(const QString &text)
virtual void on_cmbPlanarFont_currentIndexChanged(const QString &text)
GeodesicGridSettingsConfigProperties * m_geodesicGridSettings
virtual void on_chkTopPlanarText_clicked()
GridSettingsOutside(OutsideController *controller, Observable *o)
LayoutGridType
Enum LayoutGridType. This is the enumeration of the grid types.
virtual void on_pbPlanarLineColor_clicked()
virtual void on_pbGridTextGeoColor_clicked()
virtual te::gm::Coord2D getPosition()
virtual void on_lneY3_editingFinished()
virtual bool checkValidDegreeValue(const QString &)
virtual void on_lneX2_editingFinished()
virtual void on_lneX3_editingFinished()
virtual void on_pbApply_clicked()
virtual void on_chkUpperLeftCornerGeoText_clicked()
virtual void blockComponents()
virtual void on_chkSuperscriptGeoText_clicked()