20 #include <QDomElement>
43 QTreeWidgetItem::setFlags( Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsDragEnabled );
58 QTreeWidgetItem::setFlags( Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsDragEnabled );
85 static const QPointF __qPointFSymbol(-32,-32);
86 static const QSize __qSizeSymbol(32,32);
92 COverlayPoint::drawMarker( _poChart, _pqPainter, 0, __poOverlayObjectSelected ==
this || __poOverlayObjectSelected == QTreeWidgetItem::parent() );
109 if( __poRoutePointEditView->exec() == QDialog::Accepted )
115 delete __poRoutePointEditView;
152 if( _rqDomElement.hasAttribute(
"longitude" ) && _rqDomElement.hasAttribute(
"longitude" ) )
155 _rqDomElement.attribute(
"latitude" ).toDouble(),
158 qsType = _rqDomElement.attribute(
"type" );
159 qsSymbol = _rqDomElement.attribute(
"symbol" );
160 qsUrl = _rqDomElement.attribute(
"url" );
161 qsDescription = _rqDomElement.firstChildElement(
"Description" ).text();
162 qsComment = _rqDomElement.firstChildElement(
"Comment" ).text();
168 if( _rqDomElement.hasAttribute(
"lon" ) && _rqDomElement.hasAttribute(
"lat" ) )
170 QString __qsElevation = _rqDomElement.firstChildElement(
"ele" ).text();
173 _rqDomElement.attribute(
"lat" ).toDouble(),
174 __qsElevation.toDouble() );
176 qsType = _rqDomElement.firstChildElement(
"type" ).text();
177 qsDescription = _rqDomElement.firstChildElement(
"desc" ).text();
178 qsComment = _rqDomElement.firstChildElement(
"cmt" ).text();
179 qsSymbol = _rqDomElement.firstChildElement(
"sym" ).text();
180 qsUrl = _rqDomElement.firstChildElement(
"link" ).attribute(
"href" );
187 _rqXmlStreamWriter.writeStartElement(
"Point" );
189 if( !
qsName.isEmpty() ) _rqXmlStreamWriter.writeAttribute(
"name",
qsName );
199 if( !
qsType.isEmpty() ) _rqXmlStreamWriter.writeAttribute(
"type",
qsType );
201 if( !
qsSymbol.isEmpty() ) _rqXmlStreamWriter.writeAttribute(
"symbol",
qsSymbol );
203 if( !
qsUrl.isEmpty() ) _rqXmlStreamWriter.writeAttribute(
"url",
qsUrl );
207 _rqXmlStreamWriter.writeStartElement(
"Description" );
209 _rqXmlStreamWriter.writeEndElement();
214 _rqXmlStreamWriter.writeStartElement(
"Comment" );
215 _rqXmlStreamWriter.writeCDATA(
qsComment );
216 _rqXmlStreamWriter.writeEndElement();
219 _rqXmlStreamWriter.writeEndElement();
227 _rqXmlStreamWriter.writeStartElement(
"rtept" );
234 _rqXmlStreamWriter.writeStartElement(
"name" );
235 _rqXmlStreamWriter.writeCharacters(
qsName );
236 _rqXmlStreamWriter.writeEndElement();
241 _rqXmlStreamWriter.writeStartElement(
"ele" );
243 _rqXmlStreamWriter.writeEndElement();
248 _rqXmlStreamWriter.writeStartElement(
"type" );
249 _rqXmlStreamWriter.writeCharacters(
qsType );
250 _rqXmlStreamWriter.writeEndElement();
255 _rqXmlStreamWriter.writeStartElement(
"desc" );
257 _rqXmlStreamWriter.writeEndElement();
262 _rqXmlStreamWriter.writeStartElement(
"cmt" );
263 _rqXmlStreamWriter.writeCDATA(
qsComment );
264 _rqXmlStreamWriter.writeEndElement();
269 _rqXmlStreamWriter.writeStartElement(
"sym" );
270 _rqXmlStreamWriter.writeCharacters(
qsSymbol );
271 _rqXmlStreamWriter.writeEndElement();
274 if( !
qsUrl.isEmpty() )
276 _rqXmlStreamWriter.writeStartElement(
"link" );
277 _rqXmlStreamWriter.writeAttribute(
"href",
qsUrl );
278 _rqXmlStreamWriter.writeEndElement();
281 _rqXmlStreamWriter.writeEndElement();
COverlayObject * getOverlayObjectSelected() const
Returns the currently selected overlay object.
void updateChart()
Update the (current) chart content (on screen)
void setOverlayObjectSelected(COverlayObject *_poOverlayObject)
Sets the currently selected overlay object.
QRectF getDrawArea() const
Returns the viewport draw area.
QPointF toDrawPosition(const CDataPosition &_roGeoPosition) const
Converts the given (geographical) position [long,lat,elev] to chart draw point [px].
(Geographical) Position data [long,lat,elev]
double getLongitude() const
Returns this position's longitude, in degrees.
double getElevation() const
Returns this position's elevation, in meters.
double getLatitude() const
Returns this position's latitude, in degrees.
static const CDataPosition UNDEFINED
Specific value for an undefined position.
void setPosition(double _fdLongitude, double _fdLatitude, double _fdElevation=UNDEFINED_ELEVATION)
Sets new coordinates.
static constexpr double UNDEFINED_ELEVATION
Specific value for an undefined elevation.
void switchView(EView eView)
Displays the requested container/item details (switching to the appropriate widget)
@ ROUTE_POINT
Route point.
void switchView(EView eView)
Displays the requested overlay (switching to the appropriate tab)
void setOverlayObject(COverlayObject *_poOverlayObject)
Sets the overlay object to be displayed (and refreshes the underlying widget)
QString qsName
Object name.
virtual bool matchScrPosition(const CChart *_poChart, const QPointF &_rqPointFScrPosition) const
Returns whether this point matches the given screen position.
virtual void drawSymbol(const CChart *_poChart, QPainter *_pqPainter, const QString &_rqsSymbol)
Draws the symbol (user-defined)
virtual void drawTag(const CChart *_poChart, QPainter *_pqPainter, ETagPosition _eTagPosition=TAG_AUTO, const CDataTimeValidity *_poDataTimeValidity=0, const CDataPositionValidity *_poDataPositionValidity=0)
Draws the tag (name)
virtual void drawMarker(const CChart *_poChart, QPainter *_pqPainter, const CDataPositionValidity *_poDataPositionValidity=0, bool _bSelected=false)
Draws the point (marker)
virtual void unserialize(QDataStream &_rqDataStream)
Unserializes (restore) this object's data from binary format.
virtual void serialize(QDataStream &_rqDataStream) const
Serializes (store) this object's data to binary format.
bool bVisibleRouting
Routing's (data) visibility status.
void setVisibility(int _iVisibilityCode)
Sets the global (coded) visibility status.
bool bVisible
Global (marker) visibility status.
int getVisibility() const
Returns the global (coded) visibility status.
void forceRedraw()
Forces this overlay's rendering (not matter its cache content)
@ VISIBLE
Route visibility status.
@ SELECT
Route selection status.
virtual void refreshContent()
Refreshes the content of the underlying widget.
[UI] Route item's edit view
QString qsComment
Waypoint's comment.
virtual void unserialize(QDataStream &_rqDataStream)
Unserializes (restore) this object's data from binary format.
void dumpQVCT(QXmlStreamWriter &_rqXmlStreamWriter) const
Stores this object's content to the given QVCT destination (file)
virtual bool matchScrPosition(const CChart *_poChart, const QPointF &_rqPointFScrPosition) const
Returns whether this point matches the given screen position.
QString qsType
Waypoint's type.
CRoutePoint(const QString &_rqsName)
QString qsUrl
Waypoint's URL.
virtual void serialize(QDataStream &_rqDataStream) const
Serializes (store) this object's data to binary format.
virtual void showEdit()
Displays this object's edit widget/view.
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)
virtual void showDetail()
Displays this object's details (in the appropriate widget/view)
void toggleMultiSelected()
Toggles this waypoint's selection status.
virtual void draw(const CChart *_poChart, QPainter *_pqPainter)
Draws this object (itself or its content)
QString qsSymbol
Waypoint's symbol.
QString qsDescription
Waypoint's description.
void parseGPX(const QDomElement &_rqDomElement)
Retrieves this object's content from the given GPX source (file)
static COverlayDetailView * useOverlayDetailView()
static CRoutePointDetailView * useRoutePointDetailView()
static CRouteOverlay * useRouteOverlay()
static COverlayListView * useOverlayListView()
static CChartTable * useChartTable()
static CSettings * useSettings()