22 #include <QDomDocument>
26 #include <QXmlStreamWriter>
49 , iPrecisionTimeDelta( 0 )
50 , iPrecisionPosition( 0 )
51 , iPrecisionBearing( 0 )
52 , iPrecisionDistance( 0 )
53 , iPrecisionSpeed( 0 )
54 , iPrecisionElevation( 0 )
55 , iPrecisionSpeedVertical( 0 )
56 , fdMinValuePosition( 100.0 )
57 , fdMinValueBearing( 30.0 )
58 , fdMinValueSpeed( 0.25 )
59 , fdMinValueSpeedVertical( 0.25 )
60 , fdMaxErrorPosition( 25.0 )
61 , fdMaxErrorElevation( 25.0 )
62 , fdMaxErrorTime( 1.0 )
63 , fdMaxErrorBearing( 10.0 )
64 , fdMaxErrorSpeed( 10.0 )
65 , fdMaxErrorSpeedVertical( 10.0 )
66 , fdMaxAgePosition( 5.0 )
67 , fdMaxAgeElevation( 5.0 )
69 , fdMaxAgeBearing( 5.0 )
70 , fdMaxAgeSpeed( 5.0 )
71 , fdMaxAgeSpeedVertical( 5.0 )
72 , qColorPointer( 64, 64, 64 )
73 , qColorLandmark( 0, 192, 0 )
74 , qColorRoute( 0, 0, 255 )
75 , qColorTrack( 255, 0, 255 )
76 , qColorVessel( 255, 0, 0 )
77 , qColorSelected( 192, 192, 0 )
79 , bScreenGestures( false )
80 , iRateRefresh( 1000 )
82 , iChartOpacity( 100 )
83 , bVisibleSymbols( true )
84 , bPrintHighRes( false )
286 if( !__qFileInfo.exists() || !__qFileInfo.isReadable() )
288 qCritical(
"INFO[%s]: Working directory can not be read (%s); resetting to default", Q_FUNC_INFO, qPrintable(
qsPathWorkingDirectory ) );
291 if( !__qDir.exists() && !__qDir.mkpath( __qDir.path() ) )
293 qCritical(
"ERROR[%s]: Failed to create directory (%s)", Q_FUNC_INFO, qPrintable( __qDir.path() ) );
300 if( !__qFileInfo.exists() || !__qFileInfo.isReadable() )
302 qCritical(
"INFO[%s]: Symbols directory can not be read (%s); resetting to default", Q_FUNC_INFO, qPrintable(
qsPathSymbolsDirectory ) );
305 if( !__qDir.exists() && !__qDir.mkpath( __qDir.path() ) )
307 qCritical(
"ERROR[%s]: Failed to create directory (%s)", Q_FUNC_INFO, qPrintable( __qDir.path() ) );
369 QFileInfo __qFileInfo( _rqsFilename );
370 QDir __qDir( __qFileInfo.absolutePath() );
371 if( !__qDir.exists() && !__qDir.mkpath( __qDir.path() ) )
373 qCritical(
"ERROR[%s]: Failed to create directory (%s)", Q_FUNC_INFO, qPrintable( __qDir.path() ) );
376 QFile __qFile( __qFileInfo.absoluteFilePath() );
377 if( !__qFile.open( QIODevice::WriteOnly ) )
379 qCritical(
"ERROR[%s]: Failed to open file (%s)", Q_FUNC_INFO, qPrintable( __qFile.fileName() ) );
384 QXmlStreamWriter __qXmlStreamWriter( &__qFile );
385 __qXmlStreamWriter.setAutoFormatting(
true );
386 __qXmlStreamWriter.writeStartDocument();
387 __qXmlStreamWriter.writeStartElement(
"QVCT" );
388 dumpQVCT( __qXmlStreamWriter,
false );
389 __qXmlStreamWriter.writeEndElement();
390 __qXmlStreamWriter.writeEndDocument();
399 _rqXmlStreamWriter.writeStartElement(
"Settings" );
404 _rqXmlStreamWriter.writeStartElement(
"Paths" );
406 _rqXmlStreamWriter.writeStartElement(
"Working" );
408 _rqXmlStreamWriter.writeEndElement();
410 _rqXmlStreamWriter.writeStartElement(
"Symbols" );
412 _rqXmlStreamWriter.writeEndElement();
414 _rqXmlStreamWriter.writeEndElement();
418 _rqXmlStreamWriter.writeStartElement(
"Units" );
420 _rqXmlStreamWriter.writeStartElement(
"Date" );
422 _rqXmlStreamWriter.writeEndElement();
424 _rqXmlStreamWriter.writeStartElement(
"Time" );
426 _rqXmlStreamWriter.writeAttribute(
"precision", QString::number(
iPrecisionTime ) );
427 _rqXmlStreamWriter.writeEndElement();
429 _rqXmlStreamWriter.writeStartElement(
"TimeDelta" );
432 _rqXmlStreamWriter.writeEndElement();
434 _rqXmlStreamWriter.writeStartElement(
"TimeZone" );
436 _rqXmlStreamWriter.writeEndElement();
438 _rqXmlStreamWriter.writeStartElement(
"Position" );
440 _rqXmlStreamWriter.writeAttribute(
"precision", QString::number(
iPrecisionPosition ) );
441 _rqXmlStreamWriter.writeEndElement();
443 _rqXmlStreamWriter.writeStartElement(
"Elevation" );
446 _rqXmlStreamWriter.writeEndElement();
448 _rqXmlStreamWriter.writeStartElement(
"Bearing" );
450 _rqXmlStreamWriter.writeAttribute(
"precision", QString::number(
iPrecisionBearing ) );
451 _rqXmlStreamWriter.writeEndElement();
453 _rqXmlStreamWriter.writeStartElement(
"Distance" );
455 _rqXmlStreamWriter.writeAttribute(
"precision", QString::number(
iPrecisionDistance ) );
456 _rqXmlStreamWriter.writeEndElement();
458 _rqXmlStreamWriter.writeStartElement(
"Speed" );
460 _rqXmlStreamWriter.writeAttribute(
"precision", QString::number(
iPrecisionSpeed ) );
461 _rqXmlStreamWriter.writeEndElement();
463 _rqXmlStreamWriter.writeStartElement(
"SpeedVertical" );
466 _rqXmlStreamWriter.writeEndElement();
468 _rqXmlStreamWriter.writeEndElement();
471 _rqXmlStreamWriter.writeStartElement(
"Validity" );
473 _rqXmlStreamWriter.writeStartElement(
"Position" );
474 _rqXmlStreamWriter.writeAttribute(
"min_value", QString::number(
fdMinValuePosition ) );
475 _rqXmlStreamWriter.writeAttribute(
"max_error", QString::number(
fdMaxErrorPosition ) );
476 _rqXmlStreamWriter.writeAttribute(
"max_age", QString::number(
fdMaxAgePosition ) );
477 _rqXmlStreamWriter.writeEndElement();
479 _rqXmlStreamWriter.writeStartElement(
"Elevation" );
481 _rqXmlStreamWriter.writeAttribute(
"max_age", QString::number(
fdMaxAgeElevation ) );
482 _rqXmlStreamWriter.writeEndElement();
484 _rqXmlStreamWriter.writeStartElement(
"Time" );
485 _rqXmlStreamWriter.writeAttribute(
"max_error", QString::number(
fdMaxErrorTime ) );
486 _rqXmlStreamWriter.writeAttribute(
"max_age", QString::number(
fdMaxAgeTime ) );
487 _rqXmlStreamWriter.writeEndElement();
489 _rqXmlStreamWriter.writeStartElement(
"Bearing" );
490 _rqXmlStreamWriter.writeAttribute(
"min_value", QString::number(
fdMinValueBearing ) );
491 _rqXmlStreamWriter.writeAttribute(
"max_error", QString::number(
fdMaxErrorBearing ) );
492 _rqXmlStreamWriter.writeAttribute(
"max_age", QString::number(
fdMaxAgeBearing ) );
493 _rqXmlStreamWriter.writeEndElement();
495 _rqXmlStreamWriter.writeStartElement(
"Speed" );
496 _rqXmlStreamWriter.writeAttribute(
"min_value", QString::number(
fdMinValueSpeed ) );
497 _rqXmlStreamWriter.writeAttribute(
"max_error", QString::number(
fdMaxErrorSpeed ) );
498 _rqXmlStreamWriter.writeAttribute(
"max_age", QString::number(
fdMaxAgeSpeed ) );
499 _rqXmlStreamWriter.writeEndElement();
501 _rqXmlStreamWriter.writeStartElement(
"SpeedVertical" );
505 _rqXmlStreamWriter.writeEndElement();
507 _rqXmlStreamWriter.writeEndElement();
512 _rqXmlStreamWriter.writeStartElement(
"Colors" );
514 _rqXmlStreamWriter.writeStartElement(
"Pointer" );
515 _rqXmlStreamWriter.writeAttribute(
"red", QString::number(
qColorPointer.red() ) );
516 _rqXmlStreamWriter.writeAttribute(
"green", QString::number(
qColorPointer.green() ) );
517 _rqXmlStreamWriter.writeAttribute(
"blue", QString::number(
qColorPointer.blue() ) );
518 _rqXmlStreamWriter.writeEndElement();
520 _rqXmlStreamWriter.writeStartElement(
"Landmark" );
521 _rqXmlStreamWriter.writeAttribute(
"red", QString::number(
qColorLandmark.red() ) );
522 _rqXmlStreamWriter.writeAttribute(
"green", QString::number(
qColorLandmark.green() ) );
523 _rqXmlStreamWriter.writeAttribute(
"blue", QString::number(
qColorLandmark.blue() ) );
524 _rqXmlStreamWriter.writeEndElement();
526 _rqXmlStreamWriter.writeStartElement(
"Route" );
527 _rqXmlStreamWriter.writeAttribute(
"red", QString::number(
qColorRoute.red() ) );
528 _rqXmlStreamWriter.writeAttribute(
"green", QString::number(
qColorRoute.green() ) );
529 _rqXmlStreamWriter.writeAttribute(
"blue", QString::number(
qColorRoute.blue() ) );
530 _rqXmlStreamWriter.writeEndElement();
532 _rqXmlStreamWriter.writeStartElement(
"Track" );
533 _rqXmlStreamWriter.writeAttribute(
"red", QString::number(
qColorTrack.red() ) );
534 _rqXmlStreamWriter.writeAttribute(
"green", QString::number(
qColorTrack.green() ) );
535 _rqXmlStreamWriter.writeAttribute(
"blue", QString::number(
qColorTrack.blue() ) );
536 _rqXmlStreamWriter.writeEndElement();
538 _rqXmlStreamWriter.writeStartElement(
"Vessel" );
539 _rqXmlStreamWriter.writeAttribute(
"red", QString::number(
qColorVessel.red() ) );
540 _rqXmlStreamWriter.writeAttribute(
"green", QString::number(
qColorVessel.green() ) );
541 _rqXmlStreamWriter.writeAttribute(
"blue", QString::number(
qColorVessel.blue() ) );
542 _rqXmlStreamWriter.writeEndElement();
544 _rqXmlStreamWriter.writeStartElement(
"Selected" );
545 _rqXmlStreamWriter.writeAttribute(
"red", QString::number(
qColorSelected.red() ) );
546 _rqXmlStreamWriter.writeAttribute(
"green", QString::number(
qColorSelected.green() ) );
547 _rqXmlStreamWriter.writeAttribute(
"blue", QString::number(
qColorSelected.blue() ) );
548 _rqXmlStreamWriter.writeEndElement();
550 _rqXmlStreamWriter.writeEndElement();
556 _rqXmlStreamWriter.writeStartElement(
"Options" );
558 _rqXmlStreamWriter.writeStartElement(
"MainWindow" );
561 _rqXmlStreamWriter.writeEndElement();
563 _rqXmlStreamWriter.writeStartElement(
"Screen" );
564 _rqXmlStreamWriter.writeAttribute(
"dpi", QString::number(
iScreenDpi ) );
565 _rqXmlStreamWriter.writeAttribute(
"gestures", QString::number( (
int)
bScreenGestures ) );
566 _rqXmlStreamWriter.writeEndElement();
568 _rqXmlStreamWriter.writeStartElement(
"Rates" );
569 _rqXmlStreamWriter.writeAttribute(
"refresh", QString::number(
iRateRefresh ) );
570 _rqXmlStreamWriter.writeAttribute(
"redraw", QString::number(
iRateRedraw ) );
571 _rqXmlStreamWriter.writeEndElement();
573 _rqXmlStreamWriter.writeStartElement(
"Charts" );
574 _rqXmlStreamWriter.writeAttribute(
"opacity", QString::number(
iChartOpacity ) );
575 _rqXmlStreamWriter.writeEndElement();
577 _rqXmlStreamWriter.writeStartElement(
"Symbols" );
578 _rqXmlStreamWriter.writeAttribute(
"visible", QString::number( (
int)
bVisibleSymbols ) );
579 _rqXmlStreamWriter.writeEndElement();
581 _rqXmlStreamWriter.writeStartElement(
"Print" );
582 _rqXmlStreamWriter.writeAttribute(
"high_res", QString::number( (
int)
bPrintHighRes ) );
583 _rqXmlStreamWriter.writeEndElement();
585 _rqXmlStreamWriter.writeEndElement();
589 _rqXmlStreamWriter.writeEndElement();
597 QFileInfo __qFileInfo( _rqsFilename );
598 QFile __qFile( __qFileInfo.absoluteFilePath() );
599 if( !__qFile.open( QIODevice::ReadOnly ) )
601 qCritical(
"INFO[%s]: Failed to open file (%s)", Q_FUNC_INFO, qPrintable( __qFile.fileName() ) );
604 QDomDocument __qDocDocument;
605 if( !__qDocDocument.setContent( &__qFile ) )
607 qCritical(
"ERROR[%s]: Failed to parse XML (%s)", Q_FUNC_INFO, qPrintable( __qFile.fileName() ) );
614 QDomElement __qDomElement = __qDocDocument.documentElement();
615 if( __qDomElement.isNull() || __qDomElement.nodeName() !=
"QVCT" )
617 qCritical(
"ERROR[%s]: Invalid XML document type (%s); expected: 'QVCT'", Q_FUNC_INFO, qPrintable( __qFile.fileName() ) );
620 if( __qDomElement.firstChildElement(
"Settings" ).isNull() )
622 qCritical(
"ERROR[%s]: Invalid XML content (%s); expected: 'Settings'", Q_FUNC_INFO, qPrintable( __qFile.fileName() ) );
631 QDomElement __qDomElementSettings = _rqDomElement.firstChildElement(
"Settings" );
632 if( __qDomElementSettings.isNull() )
return;
633 QDomElement __qDomElement;
637 QDomElement __qDomElementContext = __qDomElementSettings.firstChildElement(
"Paths" );
638 if( !__qDomElementContext.isNull() )
641 __qDomElement = __qDomElementContext.firstChildElement(
"Working" );
642 if( !__qDomElement.isNull() )
648 __qDomElement = __qDomElementContext.firstChildElement(
"Symbols" );
649 if( !__qDomElement.isNull() )
658 QDomElement __qDomElementContext = __qDomElementSettings.firstChildElement(
"Units" );
659 if( !__qDomElementContext.isNull() )
662 __qDomElement = __qDomElementContext.firstChildElement(
"Date" );
663 if( !__qDomElement.isNull() )
668 __qDomElement = __qDomElementContext.firstChildElement(
"Time" );
669 if( !__qDomElement.isNull() )
672 iPrecisionTime = __qDomElement.attribute(
"precision",
"0" ).toInt();
675 __qDomElement = __qDomElementContext.firstChildElement(
"TimeDelta" );
676 if( !__qDomElement.isNull() )
682 __qDomElement = __qDomElementContext.firstChildElement(
"TimeZone" );
683 if( !__qDomElement.isNull() )
688 __qDomElement = __qDomElementContext.firstChildElement(
"Position" );
689 if( !__qDomElement.isNull() )
695 __qDomElement = __qDomElementContext.firstChildElement(
"Bearing" );
696 if( !__qDomElement.isNull() )
702 __qDomElement = __qDomElementContext.firstChildElement(
"Distance" );
703 if( !__qDomElement.isNull() )
709 __qDomElement = __qDomElementContext.firstChildElement(
"Speed" );
710 if( !__qDomElement.isNull() )
716 __qDomElement = __qDomElementContext.firstChildElement(
"Elevation" );
717 if( !__qDomElement.isNull() )
723 __qDomElement = __qDomElementContext.firstChildElement(
"SpeedVertical" );
724 if( !__qDomElement.isNull() )
734 QDomElement __qDomElementContext = __qDomElementSettings.firstChildElement(
"Validity" );
735 if( !__qDomElementContext.isNull() )
738 __qDomElement = __qDomElementContext.firstChildElement(
"Position" );
739 if( !__qDomElement.isNull() )
746 __qDomElement = __qDomElementContext.firstChildElement(
"Elevation" );
747 if( !__qDomElement.isNull() )
753 __qDomElement = __qDomElementContext.firstChildElement(
"Time" );
754 if( !__qDomElement.isNull() )
756 fdMaxErrorTime = __qDomElement.attribute(
"max_error",
"1.0" ).toDouble();
757 fdMaxAgeTime = __qDomElement.attribute(
"max_age",
"5.0" ).toDouble();
760 __qDomElement = __qDomElementContext.firstChildElement(
"Bearing" );
761 if( !__qDomElement.isNull() )
765 fdMaxAgeBearing = __qDomElement.attribute(
"max_age",
"5.0" ).toDouble();
768 __qDomElement = __qDomElementContext.firstChildElement(
"Speed" );
769 if( !__qDomElement.isNull() )
771 fdMinValueSpeed = __qDomElement.attribute(
"min_value",
"0.25" ).toDouble();
772 fdMaxErrorSpeed = __qDomElement.attribute(
"max_error",
"10.0" ).toDouble();
773 fdMaxAgeSpeed = __qDomElement.attribute(
"max_age",
"5.0" ).toDouble();
776 __qDomElement = __qDomElementContext.firstChildElement(
"SpeedVertical" );
777 if( !__qDomElement.isNull() )
788 QDomElement __qDomElementContext = __qDomElementSettings.firstChildElement(
"Colors" );
789 if( !__qDomElementContext.isNull() )
791 int __iRed, __iGreen, __iBlue;
793 __qDomElement = __qDomElementContext.firstChildElement(
"Pointer" );
794 if( !__qDomElement.isNull() )
796 __iRed = __qDomElement.attribute(
"red",
"64" ).toInt();
797 __iGreen = __qDomElement.attribute(
"green",
"64" ).toInt();
798 __iBlue = __qDomElement.attribute(
"blue",
"64" ).toInt();
802 __qDomElement = __qDomElementContext.firstChildElement(
"Landmark" );
803 if( !__qDomElement.isNull() )
805 __iRed = __qDomElement.attribute(
"red",
"0" ).toInt();
806 __iGreen = __qDomElement.attribute(
"green",
"255" ).toInt();
807 __iBlue = __qDomElement.attribute(
"blue",
"0" ).toInt();
811 __qDomElement = __qDomElementContext.firstChildElement(
"Route" );
812 if( !__qDomElement.isNull() )
814 __iRed = __qDomElement.attribute(
"red",
"0" ).toInt();
815 __iGreen = __qDomElement.attribute(
"green",
"0" ).toInt();
816 __iBlue = __qDomElement.attribute(
"blue",
"255" ).toInt();
820 __qDomElement = __qDomElementContext.firstChildElement(
"Track" );
821 if( !__qDomElement.isNull() )
823 __iRed = __qDomElement.attribute(
"red",
"255" ).toInt();
824 __iGreen = __qDomElement.attribute(
"green",
"0" ).toInt();
825 __iBlue = __qDomElement.attribute(
"blue",
"255" ).toInt();
829 __qDomElement = __qDomElementContext.firstChildElement(
"Vessel" );
830 if( !__qDomElement.isNull() )
832 __iRed = __qDomElement.attribute(
"red",
"255" ).toInt();
833 __iGreen = __qDomElement.attribute(
"green",
"0" ).toInt();
834 __iBlue = __qDomElement.attribute(
"blue",
"0" ).toInt();
838 __qDomElement = __qDomElementContext.firstChildElement(
"Selected" );
839 if( !__qDomElement.isNull() )
841 __iRed = __qDomElement.attribute(
"red",
"255" ).toInt();
842 __iGreen = __qDomElement.attribute(
"green",
"0" ).toInt();
843 __iBlue = __qDomElement.attribute(
"blue",
"0" ).toInt();
851 QDomElement __qDomElementContext = __qDomElementSettings.firstChildElement(
"Options" );
852 if( !__qDomElementContext.isNull() )
855 __qDomElement = __qDomElementContext.firstChildElement(
"MainWindow" );
856 if( !__qDomElement.isNull() )
862 __qDomElement = __qDomElementContext.firstChildElement(
"Screen" );
863 if( !__qDomElement.isNull() )
865 iScreenDpi = __qDomElement.attribute(
"dpi",
"96" ).toInt();
866 bScreenGestures = (bool)__qDomElement.attribute(
"gestures",
"0" ).toInt();
869 __qDomElement = __qDomElementContext.firstChildElement(
"Rates" );
870 if( !__qDomElement.isNull() )
872 iRateRefresh = __qDomElement.attribute(
"refresh",
"1000" ).toInt();
873 iRateRedraw = __qDomElement.attribute(
"redraw",
"5" ).toInt();
876 __qDomElement = __qDomElementContext.firstChildElement(
"Charts" );
877 if( !__qDomElement.isNull() )
879 iChartOpacity = __qDomElement.attribute(
"opacity",
"100" ).toInt();
882 __qDomElement = __qDomElementContext.firstChildElement(
"Symbols" );
883 if( !__qDomElement.isNull() )
885 bVisibleSymbols = (bool)__qDomElement.attribute(
"visible",
"1" ).toInt();
888 __qDomElement = __qDomElementContext.firstChildElement(
"Print" );
889 if( !__qDomElement.isNull() )
891 bPrintHighRes = (bool)__qDomElement.attribute(
"high_res",
"1" ).toInt();
CUnitTimeDelta::EUnit eUnitTimeDelta
[Unit] Time difference format/unit
void slotMaxAgeSpeedVertical(const QString &_rqsMaxAge)
[MaxAge] Slot to modify the vertical speed maximum age
void slotChartOpacity(int _iChartOpacity)
[Misc] Slot to modify the chart opacity
double fdMaxErrorBearing
[MaxError] Bearing maximum error, in degrees
QString qsPathSymbolsDirectory
[Path] Symbols directory
void load(const QString &_rqsFilename)
Restore all parameters from the given file.
bool bVisibleSymbols
[Misc] Symbols visibility (on chart)
double fdMaxErrorSpeed
[MaxError] Horizontal speed maximum error, in meters per second
void slotRateRedraw(int _iRateRedraw)
[Misc] Slot to modify the content redraw rate
void slotUnitPosition(const QString &_rqsSymbol)
[Unit] Slot to modify the position format/unit
int iPrecisionPosition
[Precision] Position decimal precision
void slotMaxErrorBearing(const QString &_rqsMaxError)
[MaxError] Slot to modify the bearing maximum error
int iPrecisionSpeed
[Precision] Speed decimal precision
double fdMinValueSpeedVertical
[MinValue] Minimum (absolute) vertical speed, in meters per second
void parseQVCT(const QDomElement &_rqDomElement)
Retrieves parameters from the given QVCT source (file)
CUnitPosition::EUnit eUnitPosition
[Unit] Position format/unit
int iPrecisionTimeDelta
[Precision] Time difference decimal precision
void slotMaxErrorTime(const QString &_rqsMaxError)
[MaxError] Slot to modify the time maximum error
int iPrecisionBearing
[Precision] Bearing decimal precision
void slotMaxErrorPosition(const QString &_rqsMaxError)
[MaxError] Slot to modify the position maximum error
int iRateRedraw
[Misc] Content redraw rate, in seconds
double fdMinValuePosition
[MinValue] Minimum (absolute) position (delta), in meters
void slotScreenDpi(int _iScreenDpi)
[Misc] Slot to modify the screen Dots-per-Inch (DPI)
double fdMaxAgeSpeed
[MaxAge] Horizontal speed maximum age, in seconds
void dumpQVCT(QXmlStreamWriter &_rqXmlStreamWriter, bool _bProjectDump=false) const
Stores parameters to the given QVCT destination (file)
void slotMaxErrorElevation(const QString &_rqsMaxError)
[MaxError] Slot to modify the elevation maximum error
void slotUnitTime(const QString &_rqsSymbol)
[Unit] Slot to modify the time format/unit
void slotUnitTimeDelta(const QString &_rqsSymbol)
[Unit] Slot to modify the time difference format/unit
int iPrecisionSpeedVertical
[Precision] Vertical speed decimal precision
double fdMinValueBearing
[MinValue] Minimum (absolute) bearing (delta), in degrees
void slotPrintHighRes(int _iPrintHighRes)
[Misc] Slot to modify the high-resolution printing status
double fdMaxAgePosition
[MaxAge] Position maximum age, in seconds
CUnitDistance::EUnit eUnitDistance
[Unit] Distance format/unit
QColor qColorSelected
[Color] Selected objects base color
QColor qColorTrack
[Color] Track overlay's base color
int iChartOpacity
[Misc] Chart opacity [0,100]
double fdMaxErrorPosition
[MaxError] Position maximum error, in meters
CUnitElevation::EUnit eUnitElevation
[Unit] Elevation format/unit
double fdMaxAgeElevation
[MaxAge] Elevation maximum age, in seconds
CUnitTime::EUnit eUnitTime
[Unit] Time format/unit
void slotMaxErrorSpeed(const QString &_rqsMaxError)
[MaxError] Slot to modify the horizontal speed maximum error
bool bPrintHighRes
[Misc] High-resolution printing
void slotMaxAgeBearing(const QString &_rqsMaxAge)
[MaxAge] Slot to modify the bearing maximum age
double fdMaxAgeBearing
[MaxAge] Bearing maximum age, in seconds
void slotUnitDistance(const QString &_rqsSymbol)
[Unit] Slot to modify the distance format/unit
void slotUnitSpeed(const QString &_rqsSymbol)
[Unit] Slot to modify the speed format/unit
void slotScreenGestures(int _iScreenGestures)
[Misc] Slot to modify the (multitouch) screen gestures activation status
void slotMinValueSpeed(const QString &_rqsMinValue)
[MinValue] Slot to modify the minimum (absolute) horizontal speed
CUnitBearing::EUnit eUnitBearing
[Unit] Bearing format/unit
QColor qColorPointer
[Color] Pointer overlay's base color
QColor qColorRoute
[Color] Route overlay's base color
QColor qColorVessel
[Color] Vessel overlay's base color
double fdMaxErrorTime
[MaxError] Time maximum error, in seconds
CUnitSpeed::EUnit eUnitSpeed
[Unit] Speed format/unit
int iRateRefresh
[Misc] Content refresh rate, in milliseconds
double fdMinValueSpeed
[MinValue] Minimum (absolute) horizontal speed, in meters per second
CUnitTimeZone::EUnit eUnitTimeZone
[Unit] timezone format/unit
QString qsMainWindowGeometry
[Misc] Main window geometry (Base64-encoded binary data)
void slotRateRefresh(int _iRateRefresh)
[Misc] Slot to modify the content refresh rate
void slotMinValueSpeedVertical(const QString &_rqsMinValue)
[MinValue] Slot to modify the minimum (absolute) vertical speed
void slotUnitDate(const QString &_rqsSymbol)
[Unit] Slot to modify the date format/unit
double fdMaxErrorSpeedVertical
[MaxError] Vertical speed maximum error, in meters per second
void save(const QString &_rqsFilename) const
Store all parameters to the given file.
void slotUnitElevation(const QString &_rqsSymbol)
[Unit] Slot to modify the elevation format/unit
QColor qColorLandmark
[Color] Landmark overlay's base color
void slotUnitBearing(const QString &_rqsSymbol)
[Unit] Slot to modify the bearing format/unit
void slotMaxAgeElevation(const QString &_rqsMaxAge)
[MaxAge] Slot to modify the elevation maximum age
double fdMaxAgeTime
[MaxAge] Time maximum age, in seconds
void slotMaxErrorSpeedVertical(const QString &_rqsMaxError)
[MaxError] Slot to modify the vertical speed maximum error
int iPrecisionDistance
[Precision] Distance decimal precision
double fdMaxErrorElevation
[MaxError] Elevation maximum error, in meters
void validate()
Verifies and validates all parameters.
void slotUnitSpeedVertical(const QString &_rqsSymbol)
[Unit] Slot to modify the vertical speed format/unit
void slotMinValuePosition(const QString &_rqsMinValue)
[MinValue] Slot to modify the minimum (absolute) position (delta)
double fdMaxAgeSpeedVertical
[MaxAge] Vertical speed maximum age, in seconds
bool bScreenGestures
[Misc] Screen (multitouch) gestures (activation status)
void slotPathWorkingDirectory(const QString &_rqsPathWorkingDirectory)
[Path] Slot to modify the current working directory
void slotMaxAgeTime(const QString &_rqsMaxAge)
[MaxAge] Slot to modify the time maximum age
CUnitDate::EUnit eUnitDate
[Unit] Date format/unit
void slotUnitTimeZone(const QString &_rqsSymbol)
[Unit] Slot to modify the timezone format/unit
QString qsMainWindowState
[Misc] Main window state (Base64-encoded binary data)
int iScreenDpi
[Misc] Screen Dots-per-Inch (DPI)
void slotMaxAgePosition(const QString &_rqsMaxAge)
[MaxAge] Slot to modify the position maximum age
void slotMinValueBearing(const QString &_rqsMinValue)
[MinValue] Slot to modify the minimum (absolute) bearing (delta)
int iPrecisionTime
[Precision] Time decimal precision
void slotMaxAgeSpeed(const QString &_rqsMaxAge)
[MaxAge] Slot to modify the horizontal speed maximum age
void slotVisibleSymbols(int _iVisibleSymbols)
[Misc] Slot to modify the symbols visibility (on chart)
CUnitSpeedVertical::EUnit eUnitSpeedVertical
[Unit] Vertical speed format/unit
int iPrecisionElevation
[Precision] Elevation decimal precision
void slotPathSymbolsDirectory(const QString &_rqsPathSymbolsDirectory)
[Path] Slot to modify the symbols directory
QString qsPathWorkingDirectory
[Path] Current working directory
Bearing unit (deg,rad,grad) rendering/parsing class.
static QString toCode(EUnit _eUnit)
Returns the machine-friendly code corresponding to the given format/unit ID.
@ UNDEFINED
undefined format/unit
static EUnit fromCode(const QString &_rqsCode)
Returns the format/unit ID corresponding to the given machine-friendly code.
static EUnit fromSymbol(const QString &_rqsSymbol)
Returns the format/unit ID corresponding to the given human-readable symbol.
Date unit (YMD, DMY, MDY) rendering/parsing class.
static EUnit fromCode(const QString &_rqsCode)
Returns the format/unit ID corresponding to the given machine-friendly code.
@ UNDEFINED
undefined format/unit
static EUnit fromSymbol(const QString &_rqsSymbol)
Returns the format/unit ID corresponding to the given human-readable symbol.
static QString toCode(EUnit _eUnit)
Returns the machine-friendly code corresponding to the given format/unit ID.
Distance unit (m,km,ft,mi,nm) rendering/parsing class.
static QString toCode(EUnit _eUnit)
Returns the machine-friendly code corresponding to the given format/unit ID.
static EUnit fromCode(const QString &_rqsCode)
Returns the format/unit ID corresponding to the given machine-friendly code.
@ UNDEFINED
undefined format/unit
static EUnit fromSymbol(const QString &_rqsSymbol)
Returns the format/unit ID corresponding to the given human-readable symbol.
Elevation unit (m,ft) rendering/parsing class.
static QString toCode(EUnit _eUnit)
Returns the machine-friendly code corresponding to the given format/unit ID.
@ UNDEFINED
undefined format/unit
static EUnit fromSymbol(const QString &_rqsSymbol)
Returns the format/unit ID corresponding to the given human-readable symbol.
static EUnit fromCode(const QString &_rqsCode)
Returns the format/unit ID corresponding to the given machine-friendly code.
Geographical position unit (D,DM,DMS,RAD,GRAD) rendering/parsing class.
@ UNDEFINED
undefined format/unit
@ DMS
degrees, minutes, seconds
static QString toCode(EUnit _eUnit)
Returns the machine-friendly code corresponding to the given format/unit ID.
static EUnit fromSymbol(const QString &_rqsSymbol)
Returns the format/unit ID corresponding to the given human-readable symbol.
static EUnit fromCode(const QString &_rqsCode)
Returns the format/unit ID corresponding to the given machine-friendly code.
Vertical speed unit (m/s,ft/min) rendering/parsing class.
@ UNDEFINED
undefined format/unit
@ M_S
meters per second [m/s]
static EUnit fromSymbol(const QString &_rqsSymbol)
Returns the format/unit ID corresponding to the given human-readable symbol.
static EUnit fromCode(const QString &_rqsCode)
Returns the format/unit ID corresponding to the given machine-friendly code.
static QString toCode(EUnit _eUnit)
Returns the machine-friendly code corresponding to the given format/unit ID.
Speed unit (m/s,km/h,mi/h,kt) rendering/parsing class.
static QString toCode(EUnit _eUnit)
Returns the machine-friendly code corresponding to the given format/unit ID.
static EUnit fromSymbol(const QString &_rqsSymbol)
Returns the format/unit ID corresponding to the given human-readable symbol.
static EUnit fromCode(const QString &_rqsCode)
Returns the format/unit ID corresponding to the given machine-friendly code.
@ UNDEFINED
undefined format/unit
@ M_S
meters per second [m/s]
Time difference (HMS, HM, M, S) rendering/parsing class.
static EUnit fromCode(const QString &_rqsCode)
Returns the format/unit ID corresponding to the given machine-friendly code.
@ UNDEFINED
undefined format/unit
static QString toCode(EUnit _eUnit)
Returns the machine-friendly code corresponding to the given format/unit ID.
static EUnit fromSymbol(const QString &_rqsSymbol)
Returns the format/unit ID corresponding to the given human-readable symbol.
Time zone (UTC, local) selection class.
static QString toCode(EUnit _eUnit)
Returns the machine-friendly code corresponding to the given format/unit ID.
static EUnit fromSymbol(const QString &_rqsSymbol)
Returns the format/unit ID corresponding to the given human-readable symbol.
static EUnit fromCode(const QString &_rqsCode)
Returns the format/unit ID corresponding to the given machine-friendly code.
@ UNDEFINED
undefined format/unit
@ UTC
Universal Time Coordinates.
Time unit (HMS, HM) rendering/parsing class.
@ UNDEFINED
undefined format/unit
static EUnit fromSymbol(const QString &_rqsSymbol)
Returns the format/unit ID corresponding to the given human-readable symbol.
static EUnit fromCode(const QString &_rqsCode)
Returns the format/unit ID corresponding to the given machine-friendly code.
static QString toCode(EUnit _eUnit)
Returns the machine-friendly code corresponding to the given format/unit ID.