20 #include <QDomElement>
22 #include <QFileDialog>
25 #include <QTreeWidgetItem>
41 QTreeWidgetItem::setFlags( Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsDropEnabled );
48 QTreeWidgetItem* __pqTreeWidgetItem = QTreeWidgetItem::takeChild( 0 );
49 while( __pqTreeWidgetItem )
52 __pqTreeWidgetItem = QTreeWidgetItem::takeChild( 0 );
70 int __iCount = QTreeWidgetItem::childCount();
71 for(
int __i = 0; __i < __iCount; __i++ )
72 ((
CLandmarkPoint*)QTreeWidgetItem::child( __i ))->draw( _poChart, _pqPainter );
87 if( __poLandmarkContainerEditView->exec() == QDialog::Accepted )
showDetail();
88 delete __poLandmarkContainerEditView;
99 int __iCount = QTreeWidgetItem::childCount();
100 for(
int __i = __iCount-1 ; __i >= 0; __i-- )
104 return __poOverlayPoint;
119 int __iCount = QTreeWidgetItem::childCount();
120 for(
int __i = 0; __i < __iCount; __i++ )
141 QTreeWidgetItem::addChild( __poLandmarkPoint );
142 return __poLandmarkPoint;
150 for( QDomElement __qDomElement = _rqDomElement.firstChildElement(
"Point" );
151 !__qDomElement.isNull();
152 __qDomElement = __qDomElement.nextSiblingElement(
"Point" ) )
155 QString __qsName = __qDomElement.attribute(
"name" );
158 __poLandmarkPoint->
parseQVCT( __qDomElement );
159 addChild( __poLandmarkPoint );
168 for( QDomElement __qDomElement = _rqDomElement.firstChildElement(
"wpt" );
169 !__qDomElement.isNull();
170 __qDomElement = __qDomElement.nextSiblingElement(
"wpt" ) )
173 QString __qsName = __qDomElement.firstChildElement(
"name" ).text();
176 __poLandmarkPoint->
parseGPX( __qDomElement );
177 addChild( __poLandmarkPoint );
185 _rqXmlStreamWriter.writeStartElement(
"Landmarks" );
187 if( !
qsName.isEmpty() ) _rqXmlStreamWriter.writeAttribute(
"name",
qsName );
191 int __iCount = QTreeWidgetItem::childCount();
192 for(
int __i = 0; __i < __iCount; __i++ )
196 __poLandmarkPoint->
dumpQVCT( _rqXmlStreamWriter );
199 _rqXmlStreamWriter.writeEndElement();
208 int __iCount = QTreeWidgetItem::childCount();
209 for(
int __i = 0; __i < __iCount; __i++ )
213 __poLandmarkPoint->
dumpGPX( _rqXmlStreamWriter );
220 for(
int __i = QTreeWidgetItem::childCount()-1; __i >= 0; __i-- )
226 QTreeWidgetItem::removeChild( __poLandmarkPoint );
227 delete __poLandmarkPoint;
void setOverlayObjectSelected(COverlayObject *_poOverlayObject)
Sets the currently selected overlay object.
(Geographical) Position data [long,lat,elev]
virtual void refreshContent()
Refreshes the content of the underlying widget.
[UI] Landmark container's edit view
CLandmarkContainer(const QString &_rqsName)
virtual void toggleVisibility()
int deleteSelection()
Deletes selected items within this container.
virtual COverlayPoint * matchScrPosition(const CChart *_poChart, const QPointF &_rqPointFScrPosition) const
Returns the overlay container's point that (first) matches the given screen position (0 if none is fo...
int parseQVCT(const QDomElement &_rqDomElement)
Retrieves this object's content from the given QVCT source (file)
virtual void draw(const CChart *_poChart, QPainter *_pqPainter)
Draws this object (itself or its content)
void dumpQVCT(QXmlStreamWriter &_rqXmlStreamWriter, bool bOnlySelected=false) const
Stores this object's content to the given QVCT destination (file)
virtual ~CLandmarkContainer()
virtual void showEdit()
Displays this object's edit widget/view.
void dumpGPX(QXmlStreamWriter &_rqXmlStreamWriter, bool bOnlySelected=false) const
Stores this object's content to the given GPX destination (file)
virtual void unserialize(QDataStream &_rqDataStream)
Unserializes (restore) this object's data from binary format.
virtual void showDetail()
Displays this object's details (in the appropriate widget/view)
int parseGPX(const QDomElement &_rqDomElement)
Retrieves this object's content from the given GPX source (file)
CLandmarkPoint * addPoint(const QString &_rqsName, const CDataPosition &_roDataPosition=CDataPosition::UNDEFINED)
Add a new landmark (item/point) to this container.
@ VISIBLE
Landmark visibility status.
[UI] Landmark overlay point (item)
void dumpGPX(QXmlStreamWriter &_rqXmlStreamWriter) const
Stores this object's content to the given GPX destination (file)
void parseGPX(const QDomElement &_rqDomElement)
Retrieves this object's content from the given GPX source (file)
void dumpQVCT(QXmlStreamWriter &_rqXmlStreamWriter) const
Stores this object's content to the given QVCT destination (file)
void parseQVCT(const QDomElement &_rqDomElement)
Retrieves this object's content from the given QVCT source (file)
Generic overlay container.
void switchView(EView eView)
Displays the requested container/item details (switching to the appropriate widget)
@ LANDMARK_CONTAINER
Landmark container.
bool isMultiSelected() const
Returns this item's selection status.
@ LANDMARK
Landmark overlay.
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)
virtual void unserialize(QDataStream &_rqDataStream)
Unserializes (restore) this object's data from binary format.
QString newChildName(const QString &_rqsName, int _iZeroPrefix=0, bool _bForceSuffix=false) const
Returns a valid (non-duplicate) name for a new sibling of this object.
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 setVisiblePosition(bool _bVisiblePosition)
Sets the position's visibility status.
void setVisibility(int _iVisibilityCode)
Sets the global (coded) visibility status.
virtual void toggleVisibility(bool _bIncludeCourse, bool _bIncludeRouting)
Toggle the visibility status.
bool bVisible
Global (marker) visibility status.
bool bVisiblePosition
Position's visibility status.
bool bVisibleName
Name's (tag) visibility status.
int getVisibility() const
Returns the global (coded) visibility status.
virtual void setVisibleName(bool _bVisibleName)
Sets the name's (tag) visibility status.
static CLandmarkContainerDetailView * useLandmarkContainerDetailView()
static COverlayDetailView * useOverlayDetailView()
static COverlayListView * useOverlayListView()
static CChartTable * useChartTable()