Brief description of class still missing. More...
#include <GoogleEarthKML.h>
Public Member Functions | |
| Document () | |
| const Folder * | mainFolder () const |
| Folder * | mainFolder () |
| const QString & | name () const |
| QList< NamedPoint > | points () const |
| void | setName (const QString &n) |
| virtual const QString & | xml_tagName () const |
Static Public Attributes | |
| static const QString | xmlDocumentTag = "Document" |
Protected Member Functions | |
| virtual XMLMember | xml_member (XML_MEMBER_ARGS) |
| virtual bool | xml_setProperty (XML_SETPROPERTY_ARGS) |
| virtual void | xml_writeChildren (XML_WRITECHILDREN_ARGS) const |
| virtual void | xml_writeProperties (XML_WRITEPROPERTIES_ARGS) const |
Brief description of class still missing.
Full description of class still missing
| const Folder* QGpCoreTools::GoogleEarthKML::Document::mainFolder | ( | ) | const [inline] |
Referenced by CoordReader::parse(), CoordReader::setOptions(), and QGpGuiTools::CoordinateFile::write().
{return &_root;}
| Folder* QGpCoreTools::GoogleEarthKML::Document::mainFolder | ( | ) | [inline] |
{return &_root;}
| const QString& QGpCoreTools::GoogleEarthKML::Document::name | ( | ) | const [inline] |
{return _name;}
| QList< NamedPoint > QGpCoreTools::GoogleEarthKML::Document::points | ( | ) | const |
References TRACE.
Referenced by CoordReader::terminate().
{
TRACE;
QList<NamedPoint> list;
_root.collectPoints(list);
return list;
}
| void QGpCoreTools::GoogleEarthKML::Document::setName | ( | const QString & | n | ) | [inline] |
Referenced by CoordReader::setOptions(), and QGpGuiTools::CoordinateFile::write().
{_name=n;}
| XMLMember QGpCoreTools::GoogleEarthKML::Document::xml_member | ( | XML_MEMBER_ARGS | ) | [protected, virtual] |
Re-implement this function to offer XML restore (children and properties) support to your class.
From tag and map (with contains the attibute value) return a unique identifier under the format of a XMLMember. XMLMember is initialized with 3 types of contructors:
Map of attributes can be inspected in this way (can be achived also in xml_setProperty()):
static const QString tmp("childrenName"); XMLRestoreAttributeIterator it=map.find(tmp); if(it!=map.end()) { // found attribute "childrenName" }
If the map of attributes is not used:
Q_UNUSED(attributes);
if(tag=="x1") return XMLMember(0);
else if(tag=="y1") return XMLMember(1);
else if(tag=="x2") return XMLMember(2);
else if(tag=="y2") return XMLMember(3);
else return XMLMember(XMLMember::Unknown);
Arithmetic operations + and - apply to XMLMember to avoid confusion of property id numbers between inherited objects. Offset 3 corresponds to the number of properties defined in this object.
if(tag=="anInteger") return XMLMember(0); else if(tag=="aString") return XMLMember(1); else if(tag=="aDouble") return XMLMember(2); return AbstractLine::xml_member(tag, attributes, context)+3;
For the arguments of this function use Macro XML_MEMBER_ARGS.
Reimplemented from QGpCoreTools::XMLClass.
References QGpCoreTools::XMLMember::Skip, TRACE, and QGpCoreTools::XMLMember::Unknown.
{
TRACE;
Q_UNUSED(attributes);
Q_UNUSED(context);
if(tag=="Placemark") {
Placemark * p=new Placemark;
_root.addPlacemark(p);
return XMLMember(p);
} else if(tag=="Folder") {
return XMLMember(&_root);
} else if(tag=="name") return XMLMember(0);
else if(tag=="StyleMap" || tag=="Style") {
return XMLMember(XMLMember::Skip);
} else return XMLMember(XMLMember::Unknown);
}
| bool QGpCoreTools::GoogleEarthKML::Document::xml_setProperty | ( | XML_SETPROPERTY_ARGS | ) | [protected, virtual] |
Re-implement this function to offer XML restore properties support to your class.
From memberID set the corresponding property with value content. The map of attributes is given as a supplementary information (not useful in all cases).
For a general case:
Q_UNUSED(attributes); double val=content.toDouble(); switch (memberID) { case 0: _x1=val; return true; case 1: _y1=val; return true; case 2: _x2=val; return true; case 3: _y2=val; return true; default: return false; }
For classes inheriting other classes (see also xml_member())
switch (memberID) { case 0: _anInteger=content.toString(); return true; case 1: _aString=content.toInt(); return true; case 2: _aDouble=content.toDouble(); return true; default: return AbstractLine::xml_setProperty(memberID-3, map, content);
For the arguments of this function use Macro XML_SETPROPERTY_ARGS.
Reimplemented from QGpCoreTools::XMLClass.
References TRACE.
{
TRACE;
Q_UNUSED(attributes);
Q_UNUSED(context);
Q_UNUSED(tag);
switch (memberID) {
case 0:
_name=content.toString();
return true;
default:
return false;
}
}
| virtual const QString& QGpCoreTools::GoogleEarthKML::Document::xml_tagName | ( | ) | const [inline, virtual] |
Implements QGpCoreTools::XMLClass.
{return xmlDocumentTag;}
| void QGpCoreTools::GoogleEarthKML::Document::xml_writeChildren | ( | XML_WRITECHILDREN_ARGS | ) | const [protected, virtual] |
| void QGpCoreTools::GoogleEarthKML::Document::xml_writeProperties | ( | XML_WRITEPROPERTIES_ARGS | ) | const [protected, virtual] |
Reimplemented from QGpCoreTools::XMLClass.
References TRACE, and QGpCoreTools::XMLClass::writeProperty().
{
TRACE;
Q_UNUSED(context);
writeProperty(s, "name", _name);
// TODO: complete support for style customization
s << s.indent() << "<StyleMap id=\"msn_ylw-pushpin\">\n";
s.incrementIndent();
s << s.indent() << "<Pair>\n";
s.incrementIndent();
s << s.indent() << "<key>normal</key>\n"
<< s.indent() << "<styleUrl>#sn_ylw-pushpin</styleUrl>\n";
s.decrementIndent();
s << s.indent() << "</Pair>\n"
<< s.indent() << "<Pair>\n";
s.incrementIndent();
s << s.indent() << "<key>normal</key>\n"
<< s.indent() << "<styleUrl>#sh_ylw-pushpin</styleUrl>\n";
s.decrementIndent();
s << s.indent() << "</Pair>\n";
s.decrementIndent();
s << s.indent() << "</StyleMap>\n"
<< s.indent() << "<Style id=\"sn_ylw-pushpin\">\n";
s.incrementIndent();
s << s.indent() << "<IconStyle>\n";
s.incrementIndent();
s << s.indent() << "<scale>1.1</scale>\n"
<< s.indent() << "<Icon>\n";
s.incrementIndent();
s << s.indent() << "<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>\n";
s.decrementIndent();
s << s.indent() << "</Icon>\n"
<< s.indent() << "<hotSpot x=\"20\" y=\"2\" xunits=\"pixels\" yunits=\"pixels\"/>\n";
s.decrementIndent();
s << s.indent() << "</IconStyle>\n";
s.decrementIndent();
s << s.indent() << "</Style>\n"
<< s.indent() << "<Style id=\"sh_ylw-pushpin\">\n";
s.incrementIndent();
s << s.indent() << "<IconStyle>\n";
s.incrementIndent();
s << s.indent() << "<scale>1.3</scale>\n"
<< s.indent() << "<Icon>\n";
s.incrementIndent();
s << s.indent() << "<href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>\n";
s.decrementIndent();
s << s.indent() << "</Icon>\n"
<< s.indent() << "<hotSpot x=\"20\" y=\"2\" xunits=\"pixels\" yunits=\"pixels\"/>\n";
s.decrementIndent();
s << s.indent() << "</IconStyle>\n";
s.decrementIndent();
s << s.indent() << "</Style>\n";
}
const QString QGpCoreTools::GoogleEarthKML::Document::xmlDocumentTag = "Document" [static] |