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

Brief description of class still missing. More...

#include <TimeWindowList.h>

Inheritance diagram for GeopsyGui::TimeWindowList:
GeopsyCore::TimeRangeList QGpCoreTools::XMLClass

List of all members.

Public Member Functions

TimeWindowaddOne (const TimeRange &r)
TimeWindowaddOne ()
const TimeWindowat (int index) const
TimeWindowat (int index)
const QColor & defaultColor () const
void resetColors ()
void setDefaultColor (const QColor &c)
 TimeWindowList ()
 TimeWindowList (const TimeWindowList &o, int firstIndex)
virtual const QString & xml_tagName () const
 ~TimeWindowList ()

Static Public Attributes

static const QString xmlTimeWindowListTag = "TimeWindowList"

Protected Member Functions

virtual TimeRangecloneTimeRange (TimeRange *r)
virtual void deleteTimeRange (TimeRange *r)
virtual TimeRangenewTimeRange (double start, double end)
virtual XMLMember xml_member (XML_MEMBER_ARGS)
virtual bool xml_setProperty (XML_SETPROPERTY_ARGS)
virtual void xml_writeProperties (XML_WRITEPROPERTIES_ARGS) const

Detailed Description

Brief description of class still missing.

Full description of class still missing


Constructor & Destructor Documentation

      : TimeRangeList(), XMLClass(), _defaultColor(QColor(200, 255, 193)) {}
GeopsyGui::TimeWindowList::TimeWindowList ( const TimeWindowList o,
int  firstIndex 
) [inline]
      : TimeRangeList(o, firstIndex), XMLClass(), _defaultColor(QColor(200, 255, 193)) {}

This function must be re-impleted in all subclass. Virtual mechanism for deleteTimeRange() does not work for destructors. In each subclass, the list must be cleared to avoid re-delete in lower level classes.

References GeopsyCore::TimeRangeList::begin(), GeopsyCore::TimeRangeList::end(), GeopsyCore::TimeRangeList::internalClear(), and TRACE.

  {
    TRACE;
    for(iterator it=begin(); it!=end(); ++it) {
      delete static_cast<TimeWindow *>(*it);
    }
    internalClear();
  }

Member Function Documentation

Reimplemented from GeopsyCore::TimeRangeList.

Referenced by LinearFKActiveArrayStations::addTimeWindow().

{return static_cast<TimeWindow&>(TimeRangeList::addOne(r));}

Reimplemented from GeopsyCore::TimeRangeList.

Referenced by xml_setProperty().

{return static_cast<TimeWindow&>(TimeRangeList::addOne());}
const TimeWindow& GeopsyGui::TimeWindowList::at ( int  index) const [inline]
TimeWindow& GeopsyGui::TimeWindowList::at ( int  index) [inline]

Reimplemented from GeopsyCore::TimeRangeList.

{return static_cast<TimeWindow&>(TimeRangeList::at(index));}
virtual TimeRange* GeopsyGui::TimeWindowList::cloneTimeRange ( TimeRange r) [inline, protected, virtual]

Reimplemented from GeopsyCore::TimeRangeList.

{return new TimeWindow(*static_cast<TimeWindow *>(r));}
const QColor& GeopsyGui::TimeWindowList::defaultColor ( ) const [inline]
{return _defaultColor;}
virtual void GeopsyGui::TimeWindowList::deleteTimeRange ( TimeRange r) [inline, protected, virtual]

Reimplemented from GeopsyCore::TimeRangeList.

{delete static_cast<TimeWindow *>(r);}
virtual TimeRange* GeopsyGui::TimeWindowList::newTimeRange ( double  start,
double  end 
) [inline, protected, virtual]

Reimplemented from GeopsyCore::TimeRangeList.

{return new TimeWindow(start, end, _defaultColor);}

References at(), GeopsyCore::TimeRangeList::count(), GeopsyGui::TimeWindow::setColor(), TRACE, and w.

Referenced by FKTimeWindows::setCurrentWindow().

  {
    TRACE;
    int n=count();
    for(int i=0; i<n; i++) {
      TimeWindow& w=at(i);
      w.setColor(_defaultColor);
    }
  }
void GeopsyGui::TimeWindowList::setDefaultColor ( const QColor &  c) [inline]
{_defaultColor=c;}

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 GeopsyGui::TimeWindow::xmlTimeWindowTag.

  {
    TRACE;
    Q_UNUSED(context);
    Q_UNUSED(attributes);
    if(tag==TimeWindow::xmlTimeWindowTag) {
      return XMLMember(0);
    }
    return XMLMember(XMLMember::Unknown);
  }

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 addOne(), GeopsyCore::TimeRangeList::count(), TRACE, w, and GeopsyGui::TimeWindow::xml_setAttributes().

  {
    TRACE;
    Q_UNUSED(content);
    Q_UNUSED(tag);
    if(memberID==0) {
      TimeWindow& w=addOne();
      if(w.xml_setAttributes(attributes, context)) {
        return true;
      } else {
        remove(count()-1, 0);
      }
    }
    return false;
  }
virtual const QString& GeopsyGui::TimeWindowList::xml_tagName ( ) const [inline, virtual]

Member Data Documentation

const QString GeopsyGui::TimeWindowList::xmlTimeWindowListTag = "TimeWindowList" [static]

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