All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Member Functions | Protected Member Functions
DinverCore::XMLDinverHeader Class Reference

Brief description of class still missing. More...

#include <XMLDinverHeader.h>

Inheritance diagram for DinverCore::XMLDinverHeader:
QGpCoreTools::XMLHeader QGpCoreTools::XMLClass

List of all members.

Public Member Functions

 XMLDinverHeader (XMLDinver *object)
 XMLDinverHeader (const XMLDinverHeader &o)

Protected Member Functions

virtual XMLMember xml_member (XML_MEMBER_ARGS)
virtual void xml_polishChild (XML_POLISHCHILD_ARGS)

Detailed Description

Brief description of class still missing.

No dependency to dinverCore nor current plugin


Constructor & Destructor Documentation

: XMLHeader(object) {}
: XMLHeader(o) {}

Member Function Documentation

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::XMLHeader.

References QGpCoreTools::XMLHeader::_object, QGpCoreTools::XMLHeader::_tag, QGpCoreTools::XMLClass::xml_member(), and QGpCoreTools::XMLHeader::xmlHeaderTag.

{
  if(tag=="Dinver") {
    _tag="Dinver";
    return XMLMember(_object);
  } else if(tag==XMLHeader::xmlHeaderTag) {
    _tag=xmlHeaderTag;
    return XMLMember(this);
  } else if(tag==XMLHeader::xmlHeaderOldTag) {
    _tag=xmlHeaderTag;
    return XMLMember(this);
  } else {
    return _object->xml_member(tag, attributes, context);
  }
}

Reimplemented from QGpCoreTools::XMLHeader.

References QGpCoreTools::XMLHeader::_object, QGpCoreTools::XMLHeader::_polished, TRACE, and QGpCoreTools::XMLClass::xml_polishChild().

{
  TRACE;
  if(child->xml_tagName()!="Dinver") {
    _object->xml_polishChild(child, context);
  }
  _polished=true;
}

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