Qt Virtual Chart Table (QVCT)
CRoutePoint.hpp
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 #ifndef QVCT_CROUTEPOINT_HPP
20 #define QVCT_CROUTEPOINT_HPP
21 
22 // QT
23 #include <QDataStream>
24 #include <QDomElement> // QtXml module
25 #include <QPainter>
26 #include <QPointF>
27 #include <QTreeWidgetItem>
28 #include <QXmlStreamWriter>
29 
30 // QVCT
32 
33 
35 
40 {
41 
42  //------------------------------------------------------------------------------
43  // FIELDS
44  //------------------------------------------------------------------------------
45 
46 private:
48  QString qsType;
50  QString qsDescription;
52  QString qsComment;
54 
55  QString qsSymbol;
57  QString qsUrl;
58 
59 
60  //------------------------------------------------------------------------------
61  // CONSTRUCTORS / DESTRUCTOR
62  //------------------------------------------------------------------------------
63 
64 public:
65  CRoutePoint( const QString& _rqsName );
66  CRoutePoint( const QString& _rqsName, const CDataPosition& _roDataPosition );
67  virtual ~CRoutePoint() {};
68 
69 
70  //------------------------------------------------------------------------------
71  // METHODS: COverlayObject (implement/override)
72  //------------------------------------------------------------------------------
73 
74 public:
75  virtual void serialize( QDataStream& _rqDataStream ) const;
76  virtual void unserialize( QDataStream& _rqDataStream );
77 
78 public:
79  virtual COverlay* useOverlay() { return (COverlay*)QTreeWidgetItem::parent()->parent(); };
80 
81 public:
82  virtual void draw( const CChart* _poChart, QPainter* _pqPainter );
83  virtual void showDetail();
84  virtual void showEdit();
85 
86 
87  //------------------------------------------------------------------------------
88  // METHODS: COverlayPoint (implement/override)
89  //------------------------------------------------------------------------------
90 
91 public:
92  virtual bool matchScrPosition( const CChart* _poChart, const QPointF& _rqPointFScrPosition ) const;
93 
94 
95  //------------------------------------------------------------------------------
96  // METHODS: COverlayVisibility (override)
97  //------------------------------------------------------------------------------
98 
99 public:
100  virtual void toggleVisibility() { COverlayVisibility::toggleVisibility( false, true ); };
101 
102 
103  //------------------------------------------------------------------------------
104  // METHODS
105  //------------------------------------------------------------------------------
106 
107  // SETTERS
108 public:
110  void toggleMultiSelected();
112  void setType( const QString& _rqsType ) { qsType = _rqsType; };
114  void setDescription( const QString& _rqsDescription ) { qsDescription = _rqsDescription; };
116  void setComment( const QString& _rqsComment ) { qsComment = _rqsComment; };
118  void setSymbol( const QString& _rqsSymbol ) { qsSymbol = _rqsSymbol; };
120  void setUrl( const QString& _rqsUrl ) { qsUrl = _rqsUrl; };
121 
122  // GETTERS
123 public:
125  QString getType() const { return qsType; };
127  QString getDescription() const { return qsDescription; };
129  QString getComment() const { return qsComment; };
131  QString getSymbol() const { return qsSymbol; };
133  QString getUrl() const { return qsUrl; };
134 
135  // OTHER
136 public:
138  void parseQVCT( const QDomElement& _rqDomElement );
140  void parseGPX( const QDomElement& _rqDomElement );
142  void dumpQVCT( QXmlStreamWriter & _rqXmlStreamWriter ) const;
144  void dumpGPX( QXmlStreamWriter & _rqXmlStreamWriter ) const;
145 
146 protected:
148 };
149 
150 #endif // QVCT_CROUTEPOINT_HPP
[UI] Chart (view)
Definition: CChart.hpp:44
(Geographical) Position data [long,lat,elev]
Generic overlay point.
virtual void toggleVisibility(bool _bIncludeCourse, bool _bIncludeRouting)
Toggle the visibility status.
Generic overlay.
Definition: COverlay.hpp:45
[UI] Route overlay point (item) / waypoint
Definition: CRoutePoint.hpp:40
virtual ~CRoutePoint()
Definition: CRoutePoint.hpp:67
QString qsComment
Waypoint's comment.
Definition: CRoutePoint.hpp:52
void setSymbol(const QString &_rqsSymbol)
Sets this waypoint's symbol.
virtual void unserialize(QDataStream &_rqDataStream)
Unserializes (restore) this object's data from binary format.
Definition: CRoutePoint.cpp:75
virtual void toggleVisibility()
void setUrl(const QString &_rqsUrl)
Sets this waypoint's URL.
void setType(const QString &_rqsType)
Sets this waypoint's type.
void dumpQVCT(QXmlStreamWriter &_rqXmlStreamWriter) const
Stores this object's content to the given QVCT destination (file)
QString getComment() const
Returns this waypoint's comment.
void setDescription(const QString &_rqsDescription)
Sets this waypoint's description.
virtual bool matchScrPosition(const CChart *_poChart, const QPointF &_rqPointFScrPosition) const
Returns whether this point matches the given screen position.
QString qsType
Waypoint's type.
Definition: CRoutePoint.hpp:48
CRoutePoint(const QString &_rqsName)
Definition: CRoutePoint.cpp:35
QString qsUrl
Waypoint's URL.
Definition: CRoutePoint.hpp:57
virtual void serialize(QDataStream &_rqDataStream) const
Serializes (store) this object's data to binary format.
Definition: CRoutePoint.cpp:69
virtual void showEdit()
Displays this object's edit widget/view.
QString getDescription() const
Returns this waypoint's description.
void dumpGPX(QXmlStreamWriter &_rqXmlStreamWriter) const
Stores this object's content to the given GPX destination (file)
void parseQVCT(const QDomElement &_rqDomElement)
Retrieves this object's content from the given QVCT source (file)
void setComment(const QString &_rqsComment)
Sets this waypoint's comment.
virtual void showDetail()
Displays this object's details (in the appropriate widget/view)
Definition: CRoutePoint.cpp:97
void toggleMultiSelected()
Toggles this waypoint's selection status.
virtual void draw(const CChart *_poChart, QPainter *_pqPainter)
Draws this object (itself or its content)
Definition: CRoutePoint.cpp:82
QString qsSymbol
Waypoint's symbol.
Definition: CRoutePoint.hpp:55
QString getType() const
Returns this waypoint's type.
QString getUrl() const
Returns this waypoint's URL.
QString qsDescription
Waypoint's description.
Definition: CRoutePoint.hpp:50
void parseGPX(const QDomElement &_rqDomElement)
Retrieves this object's content from the given GPX source (file)
virtual COverlay * useOverlay()
Returns this object's (base) overlay.
Definition: CRoutePoint.hpp:79
QString getSymbol() const
Returns this waypoint's symbol.