Qt Virtual Chart Table (QVCT)
CSettingsValidityEditView.cpp
Go to the documentation of this file.
1 // INDENTING (emacs/vi): -*- mode:c++; tab-width:2; c-basic-offset:2; intent-tabs-mode:nil; -*- ex: set tabstop=2 expandtab:
2 
3 /*
4  * Qt Virtual Chart Table (QVCT)
5  * Copyright (C) 2012 Cedric Dufour <http://cedric.dufour.name>
6  * Author: Cedric Dufour <http://cedric.dufour.name>
7  *
8  * The Qt Virtual Chart Table (QVCT) is free software:
9  * you can redistribute it and/or modify it under the terms of the GNU General
10  * Public License as published by the Free Software Foundation, Version 3.
11  *
12  * The Qt Virtual Chart Table (QVCT) is distributed in the hope
13  * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
14  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15  *
16  * See the GNU General Public License for more details.
17  */
18 
19 // QT
20 #include <QGridLayout>
21 #include <QLabel>
22 #include <QLineEdit>
23 #include <QSpacerItem>
24 #include <QWidget>
25 
26 // QVCT
27 #include "QVCTRuntime.hpp"
29 
30 
31 //------------------------------------------------------------------------------
32 // CONSTRUCTORS / DESTRUCTOR
33 //------------------------------------------------------------------------------
34 
36  : QWidget( _pqParent )
37 {
39 }
40 
42 {
43  // Retrieve user settings
44  CSettings* __poSettings = QVCTRuntime::useSettings();
45 
46  // Create layout
47  QGridLayout* __pqGridLayout = new QGridLayout();
48 
49  // Add items
50  QLabel* __pqLabelMinVariation = new QLabel( "<I>"+tr("Min. Variation")+"</I>" );
51  __pqLabelMinVariation->setToolTip( tr("Minimum value variation (or speed) to consider for positioning/tracking data update") );
52  __pqGridLayout->addWidget( __pqLabelMinVariation, 0, 1 );
53  QLabel* __pqLabelMaxError = new QLabel( "<I>"+tr("Max. Error")+"</I>" );
54  __pqLabelMaxError->setToolTip( tr("Maximum error to tolerate before positioning data are reported as invalid (italic text, dashed marker)") );
55  __pqGridLayout->addWidget( __pqLabelMaxError, 0, 2 );
56  QLabel* __pqLabelMaxAge = new QLabel( "<I>"+tr("Max. Age")+"</I>" );
57  __pqLabelMaxAge->setToolTip( tr("Maximum age to tolerate before positioning data are reported as invalid (italic text, dashed marker)") ); __pqGridLayout->addWidget( __pqLabelMaxAge, 0, 3 );
58  int __iRow = 0;
59 
60  // ... time validity
61  __iRow++;
62  __pqGridLayout->addWidget( new QLabel( tr("Time")+":" ), __iRow, 0 );
63  QLineEdit* __pqLineEditMaxErrorTime = new QLineEdit();
64  __pqLineEditMaxErrorTime->setToolTip( tr("in seconds [s]") );
65  __pqLineEditMaxErrorTime->setInputMask( "09.99" );
66  __pqLineEditMaxErrorTime->setText( QString::number( __poSettings->getMaxErrorTime(), 'f', 2 ).prepend(" ").right(5) );
67  __pqGridLayout->addWidget( __pqLineEditMaxErrorTime, __iRow, 2 );
68  connect( __pqLineEditMaxErrorTime, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMaxErrorTime(const QString&) ) );
69  QLineEdit* __pqLineEditMaxAgeTime = new QLineEdit();
70  __pqLineEditMaxAgeTime->setToolTip( tr("in seconds [s]") );
71  __pqLineEditMaxAgeTime->setInputMask( "09.99" );
72  __pqLineEditMaxAgeTime->setText( QString::number( __poSettings->getMaxAgeTime(), 'f', 2 ).prepend(" ").right(5) );
73  __pqGridLayout->addWidget( __pqLineEditMaxAgeTime, __iRow, 3 );
74  connect( __pqLineEditMaxAgeTime, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMaxAgeTime(const QString&) ) );
75 
76  // ... position validity
77  __iRow++;
78  __pqGridLayout->addWidget( new QLabel( tr("Position")+":" ), __iRow, 0 );
79  QLineEdit* __pqLineEditMinValuePosition = new QLineEdit();
80  __pqLineEditMinValuePosition->setToolTip( tr("in meters [m]") );
81  __pqLineEditMinValuePosition->setInputMask( "009.99" );
82  __pqLineEditMinValuePosition->setText( QString::number( __poSettings->getMinValuePosition(), 'f', 2 ).prepend(" ").right(6) );
83  __pqGridLayout->addWidget( __pqLineEditMinValuePosition, __iRow, 1 );
84  connect( __pqLineEditMinValuePosition, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMinValuePosition(const QString&) ) );
85  QLineEdit* __pqLineEditMaxErrorPosition = new QLineEdit();
86  __pqLineEditMaxErrorPosition->setToolTip( tr("in meters [m]") );
87  __pqLineEditMaxErrorPosition->setInputMask( "009.99" );
88  __pqLineEditMaxErrorPosition->setText( QString::number( __poSettings->getMaxErrorPosition(), 'f', 2 ).prepend(" ").right(6) );
89  __pqGridLayout->addWidget( __pqLineEditMaxErrorPosition, __iRow, 2 );
90  connect( __pqLineEditMaxErrorPosition, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMaxErrorPosition(const QString&) ) );
91  QLineEdit* __pqLineEditMaxAgePosition = new QLineEdit();
92  __pqLineEditMaxAgePosition->setToolTip( tr("in seconds [s]") );
93  __pqLineEditMaxAgePosition->setInputMask( "09.99" );
94  __pqLineEditMaxAgePosition->setText( QString::number( __poSettings->getMaxAgePosition(), 'f', 2 ).prepend(" ").right(5) );
95  __pqGridLayout->addWidget( __pqLineEditMaxAgePosition, __iRow, 3 );
96  connect( __pqLineEditMaxAgePosition, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMaxAgePosition(const QString&) ) );
97 
98  // ... elevation validity
99  __iRow++;
100  __pqGridLayout->addWidget( new QLabel( tr("Elevation")+":" ), __iRow, 0 );
101  QLineEdit* __pqLineEditMaxErrorElevation = new QLineEdit();
102  __pqLineEditMaxErrorElevation->setToolTip( tr("in meters [m]") );
103  __pqLineEditMaxErrorElevation->setInputMask( "009.99" );
104  __pqLineEditMaxErrorElevation->setText( QString::number( __poSettings->getMaxErrorElevation(), 'f', 2 ).prepend(" ").right(6) );
105  __pqGridLayout->addWidget( __pqLineEditMaxErrorElevation, __iRow, 2 );
106  connect( __pqLineEditMaxErrorElevation, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMaxErrorElevation(const QString&) ) );
107  QLineEdit* __pqLineEditMaxAgeElevation = new QLineEdit();
108  __pqLineEditMaxAgeElevation->setToolTip( tr("in seconds [s]") );
109  __pqLineEditMaxAgeElevation->setInputMask( "09.99" );
110  __pqLineEditMaxAgeElevation->setText( QString::number( __poSettings->getMaxAgeElevation(), 'f', 2 ).prepend(" ").right(5) );
111  __pqGridLayout->addWidget( __pqLineEditMaxAgeElevation, __iRow, 3 );
112  connect( __pqLineEditMaxAgeElevation, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMaxAgeElevation(const QString&) ) );
113 
114  // ... bearing validity
115  __iRow++;
116  __pqGridLayout->addWidget( new QLabel( tr("Bearing")+":" ), __iRow, 0 );
117  QLineEdit* __pqLineEditMinValueBearing = new QLineEdit();
118  __pqLineEditMinValueBearing->setToolTip( tr("in degrees [deg]") );
119  __pqLineEditMinValueBearing->setInputMask( "009.99" );
120  __pqLineEditMinValueBearing->setText( QString::number( __poSettings->getMinValueBearing(), 'f', 2 ).prepend(" ").right(6) );
121  __pqGridLayout->addWidget( __pqLineEditMinValueBearing, __iRow, 1 );
122  connect( __pqLineEditMinValueBearing, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMinValueBearing(const QString&) ) );
123  QLineEdit* __pqLineEditMaxErrorBearing = new QLineEdit();
124  __pqLineEditMaxErrorBearing->setToolTip( tr("in degrees [deg]") );
125  __pqLineEditMaxErrorBearing->setInputMask( "09.99" );
126  __pqLineEditMaxErrorBearing->setText( QString::number( __poSettings->getMaxErrorBearing(), 'f', 2 ).prepend(" ").right(5) );
127  __pqGridLayout->addWidget( __pqLineEditMaxErrorBearing, __iRow, 2 );
128  connect( __pqLineEditMaxErrorBearing, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMaxErrorBearing(const QString&) ) );
129  QLineEdit* __pqLineEditMaxAgeBearing = new QLineEdit();
130  __pqLineEditMaxAgeBearing->setToolTip( tr("in seconds [s]") );
131  __pqLineEditMaxAgeBearing->setInputMask( "09.99" );
132  __pqLineEditMaxAgeBearing->setText( QString::number( __poSettings->getMaxAgeBearing(), 'f', 2 ).prepend(" ").right(5) );
133  __pqGridLayout->addWidget( __pqLineEditMaxAgeBearing, __iRow, 3 );
134  connect( __pqLineEditMaxAgeBearing, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMaxAgeBearing(const QString&) ) );
135 
136  // ... horizontal speed validity
137  __iRow++;
138  __pqGridLayout->addWidget( new QLabel( tr("Speed (horizontal)")+":" ), __iRow, 0 );
139  QLineEdit* __pqLineEditMinValueSpeed = new QLineEdit();
140  __pqLineEditMinValueSpeed->setToolTip( tr("in meters-per-second [m/s]") );
141  __pqLineEditMinValueSpeed->setInputMask( "09.99" );
142  __pqLineEditMinValueSpeed->setText( QString::number( __poSettings->getMinValueSpeed(), 'f', 2 ).prepend(" ").right(5) );
143  __pqGridLayout->addWidget( __pqLineEditMinValueSpeed, __iRow, 1 );
144  connect( __pqLineEditMinValueSpeed, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMinValueSpeed(const QString&) ) );
145  QLineEdit* __pqLineEditMaxErrorSpeed = new QLineEdit();
146  __pqLineEditMaxErrorSpeed->setToolTip( tr("in meters-per-second [m/s]") );
147  __pqLineEditMaxErrorSpeed->setInputMask( "09.99" );
148  __pqLineEditMaxErrorSpeed->setText( QString::number( __poSettings->getMaxErrorSpeed(), 'f', 2 ).prepend(" ").right(5) );
149  __pqGridLayout->addWidget( __pqLineEditMaxErrorSpeed, __iRow, 2 );
150  connect( __pqLineEditMaxErrorSpeed, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMaxErrorSpeed(const QString&) ) );
151  QLineEdit* __pqLineEditMaxAgeSpeed = new QLineEdit();
152  __pqLineEditMaxAgeSpeed->setToolTip( tr("in seconds [s]") );
153  __pqLineEditMaxAgeSpeed->setInputMask( "09.99" );
154  __pqLineEditMaxAgeSpeed->setText( QString::number( __poSettings->getMaxAgeSpeed(), 'f', 2 ).prepend(" ").right(5) );
155  __pqGridLayout->addWidget( __pqLineEditMaxAgeSpeed, __iRow, 3 );
156  connect( __pqLineEditMaxAgeSpeed, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMaxAgeSpeed(const QString&) ) );
157 
158  // ... vertical speed validity
159  __iRow++;
160  __pqGridLayout->addWidget( new QLabel( tr("Speed (vertical)")+":" ), __iRow, 0 );
161  QLineEdit* __pqLineEditMinValueSpeedVertical = new QLineEdit();
162  __pqLineEditMinValueSpeedVertical->setToolTip( tr("in meters-per-second [m/s]") );
163  __pqLineEditMinValueSpeedVertical->setInputMask( "09.99" );
164  __pqLineEditMinValueSpeedVertical->setText( QString::number( __poSettings->getMinValueSpeedVertical(), 'f', 2 ).prepend(" ").right(5) );
165  __pqGridLayout->addWidget( __pqLineEditMinValueSpeedVertical, __iRow, 1 );
166  connect( __pqLineEditMinValueSpeedVertical, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMinValueSpeedVertical(const QString&) ) );
167  QLineEdit* __pqLineEditMaxErrorSpeedVertical = new QLineEdit();
168  __pqLineEditMaxErrorSpeedVertical->setToolTip( tr("in meters-per-second [m/s]") );
169  __pqLineEditMaxErrorSpeedVertical->setInputMask( "09.99" );
170  __pqLineEditMaxErrorSpeedVertical->setText( QString::number( __poSettings->getMaxErrorSpeedVertical(), 'f', 2 ).prepend(" ").right(5) );
171  __pqGridLayout->addWidget( __pqLineEditMaxErrorSpeedVertical, __iRow, 2 );
172  connect( __pqLineEditMaxErrorSpeedVertical, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMaxErrorSpeedVertical(const QString&) ) );
173  QLineEdit* __pqLineEditMaxAgeSpeedVertical = new QLineEdit();
174  __pqLineEditMaxAgeSpeedVertical->setToolTip( tr("in seconds [s]") );
175  __pqLineEditMaxAgeSpeedVertical->setInputMask( "09.99" );
176  __pqLineEditMaxAgeSpeedVertical->setText( QString::number( __poSettings->getMaxAgeSpeedVertical(), 'f', 2 ).prepend(" ").right(5) );
177  __pqGridLayout->addWidget( __pqLineEditMaxAgeSpeedVertical, __iRow, 3 );
178  connect( __pqLineEditMaxAgeSpeedVertical, SIGNAL( textChanged(const QString&) ), __poSettings, SLOT( slotMaxAgeSpeedVertical(const QString&) ) );
179 
180  // Set the layout
181  __iRow++;
182  __pqGridLayout->addItem( new QSpacerItem( 0, this->height() ), __iRow, 0, 4 );
183  QWidget::setLayout( __pqGridLayout );
184 }
void constructLayout()
Constructs the layout of the user interface.
CSettingsValidityEditView(QWidget *_pqParent=0)
[UI] Container for the application's settings
Definition: CSettings.hpp:51
double getMaxAgePosition()
[MaxAge] Returns the position's maximum error, in seconds
Definition: CSettings.hpp:399
double getMinValueSpeedVertical()
[MinValue] Returns the minimum (absolute) vertical speed, in meters per second
Definition: CSettings.hpp:383
double getMaxErrorBearing()
[MaxError] Returns the bearing's maximum error, in degrees
Definition: CSettings.hpp:392
double getMinValueSpeed()
[MinValue] Returns the minimum (absolute) horizontal speed, in meters per second
Definition: CSettings.hpp:381
double getMaxAgeBearing()
[MaxAge] Returns the bearing's maximum error, in seconds
Definition: CSettings.hpp:405
double getMaxErrorSpeed()
[MaxError] Returns the horizontal speed's maximum error, in meters per second
Definition: CSettings.hpp:394
double getMaxAgeTime()
[MaxAge] Returns the time's maximum error, in seconds
Definition: CSettings.hpp:403
double getMaxErrorElevation()
[MaxError] Returns the elevation's maximum error, in meters
Definition: CSettings.hpp:388
double getMinValueBearing()
[MinValue] Returns the minimum (absolute) bearing (delta), in meters
Definition: CSettings.hpp:379
double getMinValuePosition()
[MinValue] Returns the minimum (absolute) position (delta), in meters
Definition: CSettings.hpp:377
double getMaxAgeSpeedVertical()
[MaxAge] Returns the vertical speed's maximum error, in seconds
Definition: CSettings.hpp:409
double getMaxErrorPosition()
[MaxError] Returns the position's maximum error, in meters
Definition: CSettings.hpp:386
double getMaxAgeSpeed()
[MaxAge] Returns the horizontal speed's maximum error, in seconds
Definition: CSettings.hpp:407
double getMaxAgeElevation()
[MaxAge] Returns the elevation's maximum error, in seconds
Definition: CSettings.hpp:401
double getMaxErrorSpeedVertical()
[MaxError] Returns the vertical speed's maximum error, in meters per second
Definition: CSettings.hpp:396
double getMaxErrorTime()
[MaxError] Returns the time's maximum error, in seconds
Definition: CSettings.hpp:390
static CSettings * useSettings()