Brief description of class still missing. More...
#include <XMLDinver.h>
Public Member Functions | |
virtual const QString & | xml_tagName () const |
XMLDinver () | |
~XMLDinver () | |
Static Public Attributes | |
static const QString | xmlDinverTag = "Dinver" |
Protected Member Functions | |
virtual XMLMember | xml_member (XML_MEMBER_ARGS) |
virtual void | xml_polishChild (XML_POLISHCHILD_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
XMLMember DinverCore::XMLDinver::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.
Reimplemented in DinverCore::XMLVirtualPlugin, and XMLDinverGui.
References DinverCore::dinverCore, DinverCore::DinverCoreObject::plugin(), and DinverCore::DinverInterface::xml_member().
{ if(tag=="InversionThread") return XMLMember(XMLMember::Skip); else if(tag=="pluginTag") return XMLMember(0); else if(tag=="pluginTitle") return XMLMember(1); else if(tag=="newRunDirectory") return XMLMember(2); // Kept for compatibility else { return dinverCore->plugin()->xml_member(tag, attributes, context)+3; } }
void DinverCore::XMLDinver::xml_polishChild | ( | XML_POLISHCHILD_ARGS | ) | [protected, virtual] |
Reimplemented from QGpCoreTools::XMLClass.
Reimplemented in DinverCore::XMLVirtualPlugin.
References DinverCore::dinverCore, DinverCore::DinverCoreObject::plugin(), TRACE, and DinverCore::DinverInterface::xml_polishChild().
{ TRACE; dinverCore->plugin()->xml_polishChild(child, context); }
bool DinverCore::XMLDinver::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.
Reimplemented in DinverCore::XMLVirtualPlugin.
References DinverCore::dinverCore, MSG_ID, DinverCore::DinverCoreObject::plugin(), DinverCore::DinverInterface::tag(), QGpCoreTools::tr(), and TRACE.
{ TRACE; Q_UNUSED(tag) Q_UNUSED(attributes) Q_UNUSED(context); switch (memberID) { case 0: if(content!=dinverCore->plugin()->tag()) { Message::critical(MSG_ID,tr("Loading environment"), tr("This environment was not saved with the current Dinver" "plugin (%1).\nRestart Dinver with the appropriate module or select another environment file.") .arg(dinverCore->plugin()->tag()), Message::cancel()); return false; } return true; case 1: // silently ignored return true; case 2: // Kept for compatibility return true; default: return false; } }
virtual const QString& DinverCore::XMLDinver::xml_tagName | ( | ) | const [inline, virtual] |
Implements QGpCoreTools::XMLClass.
{return xmlDinverTag;}
void DinverCore::XMLDinver::xml_writeChildren | ( | XML_WRITECHILDREN_ARGS | ) | const [protected, virtual] |
Reimplemented from QGpCoreTools::XMLClass.
Reimplemented in DinverCore::XMLVirtualPlugin, and XMLDinverGui.
References DinverCore::dinverCore, DinverCore::DinverCoreObject::plugin(), TRACE, and DinverCore::DinverInterface::xml_writeChildren().
{ TRACE; dinverCore->plugin()->xml_writeChildren(s, context); }
void DinverCore::XMLDinver::xml_writeProperties | ( | XML_WRITEPROPERTIES_ARGS | ) | const [protected, virtual] |
Reimplemented from QGpCoreTools::XMLClass.
Reimplemented in DinverCore::XMLVirtualPlugin.
References DinverCore::dinverCore, DinverCore::DinverCoreObject::plugin(), DinverCore::DinverInterface::tag(), DinverCore::DinverInterface::title(), TRACE, and QGpCoreTools::XMLClass::writeProperty().
{ TRACE; Q_UNUSED(context); DinverInterface * plugin=dinverCore->plugin(); writeProperty(s, "pluginTag", plugin->tag()); writeProperty(s, "pluginTitle", plugin->title()); }
const QString DinverCore::XMLDinver::xmlDinverTag = "Dinver" [static] |