All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Classes | Public Member Functions | Static Public Attributes | Protected Member Functions
QGpCoreTools::GoogleEarthKML Class Reference

Brief description of class still missing. More...

#include <GoogleEarthKML.h>

Inheritance diagram for QGpCoreTools::GoogleEarthKML:
QGpCoreTools::XMLClass

List of all members.

Classes

class  Document
 Brief description of class still missing. More...
class  Folder
 Brief description of class still missing. More...
class  Placemark
 Brief description of class still missing. More...
class  Point
 Brief description of class still missing. More...

Public Member Functions

Documentdocument ()
const Documentdocument () const
 GoogleEarthKML ()
bool save (const QString &fileName)
virtual void xml_attributes (XML_ATTRIBUTES_ARGS) const
virtual const QString & xml_tagName () const

Static Public Attributes

static const QString xmlGoogleEarthKMLTag = "kml"

Protected Member Functions

virtual XMLMember xml_member (XML_MEMBER_ARGS)
virtual void xml_writeChildren (XML_WRITECHILDREN_ARGS) const

Detailed Description

Brief description of class still missing.

Full description of class still missing


Constructor & Destructor Documentation

Description of constructor still missing

References TRACE.

    : XMLClass()
  {
    TRACE;
  }

Member Function Documentation

{return _document;}
bool QGpCoreTools::GoogleEarthKML::save ( const QString &  fileName)

References QGpCoreTools::Message::cancel(), MSG_ID, QGpCoreTools::tr(), TRACE, QGpCoreTools::Message::warning(), and QGpCoreTools::XMLHeader::xml_saveString().

Referenced by CoordReader::terminate(), and QGpGuiTools::CoordinateFile::write().

  {
    TRACE;
    XMLHeader hdr(this);
    QFile f(fileName);
    if(!f.open(QIODevice::WriteOnly)) {
      Message::warning(MSG_ID, tr("Saving coordinates as KML ..."),
                       tr("Error while writing to file %1").arg(fileName), Message::cancel());
      return false;
    }
    QTextStream s(&f);
    s << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
    s << hdr.xml_saveString(false);
    return true;
  }

Reimplemented from QGpCoreTools::XMLClass.

References TRACE.

  {
    TRACE;
    Q_UNUSED(context);
    static const QString keys[]={"xmlns", "xmlns:gx", "xmlns:kml", "xmlns:atom"};
    attributes.add(keys[0], "http://www.opengis.net/kml/2.2");
    attributes.add(keys[1], "http://www.google.com/kml/ext/2.2");
    attributes.add(keys[2], "http://www.opengis.net/kml/2.2");
    attributes.add(keys[3], "http://www.w3.org/2005/Atom");
  }

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:

  • An integer: id number of a property
  • A XMLClass * : a child of this object identified by tag
  • Default constructor: error, unknow child or property

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 TRACE, and QGpCoreTools::XMLMember::Unknown.

  {
    TRACE;
    Q_UNUSED(attributes);
    Q_UNUSED(context);
    if(tag=="Document") {
      return XMLMember(&_document);
    } else return XMLMember(XMLMember::Unknown);
  }
virtual const QString& QGpCoreTools::GoogleEarthKML::xml_tagName ( ) const [inline, virtual]

Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines