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

Brief description of class still missing. More...

#include <XMLSubSignalPool.h>

Inheritance diagram for GeopsyCore::XMLSubSignalPool:
QGpCoreTools::XMLClass

List of all members.

Public Member Functions

SubSignalPoolsubPool () const
virtual const QString & xml_tagName () const
 XMLSubSignalPool ()
 XMLSubSignalPool (const SubSignalPool &subPool)
virtual ~XMLSubSignalPool ()

Static Public Attributes

static const QString xmlSubSignalPoolTag = "SubPool"

Protected Member Functions

XMLMember xml_member (XML_MEMBER_ARGS)
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 GeopsyCore::SubSignalPool::at(), GeopsyCore::SubSignalPool::count(), and TRACE.

    : XMLClass()
{
  TRACE;
  int n=subPool.count();
  for(int i=0; i< n ; i++) {
    Signal * sig=subPool.at(i);
    _signals.append(new XMLSignal(sig));
  }
}

References TRACE.

{
  TRACE;
  qDeleteAll(_signals);
}

Member Function Documentation

References GeopsyCore::SubSignalPool::addSignal(), GeopsyCore::XMLSignal::signal(), and TRACE.

Referenced by GeopsyGui::ChronogramLayer::xml_polishChild(), and GeopsyGui::SignalLayer::xml_polishChild().

{
  TRACE;
  SubSignalPool * sub=new SubSignalPool;
  int n=_signals.count();
  for(int i=0; i< n ; i++ ) {
    XMLSignal * sig=_signals.at(i);
    sub->addSignal(sig->signal());
  }
  return sub;
}

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 GeopsyCore::XMLSignal::xmlSignalTag.

{
  TRACE;
  Q_UNUSED(attributes);
  Q_UNUSED(context);
  if(tag==XMLSignal::xmlSignalTag) {
    XMLSignal * sig=new XMLSignal;
    _signals.append(sig);
    return XMLMember(sig);
  } else {
    return XMLMember(XMLMember::Unknown);
  }
}
virtual const QString& GeopsyCore::XMLSubSignalPool::xml_tagName ( ) const [inline, virtual]

Reimplemented from QGpCoreTools::XMLClass.

References QGpCoreTools::XMLSaveAttributes::add(), TRACE, and QGpCoreTools::XMLClass::xml_save().

{
  TRACE;
  static const QString key("index");
  XMLSaveAttributes att;
  QString& value=att.add(key);
  int n=_signals.count();
  for(int i=0; i< n ; i++ ) {
    XMLSignal * sig=_signals.at(i);
    value=QString::number(i);
    sig->xml_save(s, context, att);
  }
}

Member Data Documentation

const QString GeopsyCore::XMLSubSignalPool::xmlSubSignalPoolTag = "SubPool" [static]

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