Marble
6 #ifndef MARBLE_GEOPARSER_H
7 #define MARBLE_GEOPARSER_H
11 #include <QXmlStreamReader>
13 #include "geodata_export.h"
18 using GeoDataGenericSourceType = int;
29 explicit GeoParser( GeoDataGenericSourceType sourceType );
45 GeoDocument* releaseDocument();
46 GeoDocument* activeDocument() {
return m_document; }
49 virtual bool isValidElement(
const QString& tagName )
const;
52 GeoStackItem parentElement(
unsigned int depth = 0 )
const;
55 void raiseWarning(
const QString& );
58 QString attribute(
const char* attributeName )
const;
68 virtual bool isValidRootElement() = 0;
70 virtual GeoDocument* createDocument()
const = 0;
73 GeoDocument* m_document;
74 GeoDataGenericSourceType m_source;
90 GeoStackItem(
const GeoParser::QualifiedName& qualifiedName, GeoNode* node )
91 : m_qualifiedName( qualifiedName ),
97 bool represents(
const char* tagName )
const
99 return m_node && tagName == m_qualifiedName.first;
106 Q_ASSERT(
dynamic_cast<T*
>( m_node ) !=
nullptr );
107 return static_cast<T*
>(m_node);
113 return nullptr !=
dynamic_cast<T*
>(m_node);
116 GeoParser::QualifiedName qualifiedName()
const {
return m_qualifiedName; }
117 GeoNode* associatedNode()
const {
return m_node; }
120 friend class GeoParser;
121 void assignNode( GeoNode* node ) { m_node = node; }
122 GeoParser::QualifiedName m_qualifiedName;
Binds a QML item to a specific geodetic location in screen coordinates.
QVariant read(const QByteArray &data, int versionOverride=0)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Thu Sep 21 2023 04:12:26 by
doxygen 1.8.17 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.