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

#include <ParallelBand.h>

Inheritance diagram for SciFigs::ParallelBand:
QGpCoreTools::XMLClass

List of all members.

Public Member Functions

const Brushbrush () const
double maximum () const
double minimum () const
 ParallelBand (const Brush &b=Qt::SolidPattern, const Pen &p=Qt::NoPen)
 ParallelBand (double value, const Pen &p=Qt::SolidLine)
 ParallelBand (double min, double max, const Brush &b=Qt::SolidPattern, const Pen &p=Qt::NoPen)
const Penpen () const
void setBrush (const Brush &b)
void setMaximum (double m)
void setMinimum (double m)
void setPen (const Pen &p)
void setValue (double v)
double value () const
virtual const QString & xml_tagName () const
virtual ~ParallelBand ()

Static Public Attributes

static const QString xmlParallelBandTag = "ParallelBand"

Protected Member Functions

virtual XMLMember xml_member (XML_MEMBER_ARGS)
virtual bool xml_setProperty (XML_SETPROPERTY_ARGS)
virtual void xml_writeChildren (XML_WRITECHILDREN_ARGS) const
virtual void xml_writeProperties (XML_WRITEPROPERTIES_ARGS) const

Protected Attributes

Brush _brush
double _maximum
double _minimum
Pen _pen

Constructor & Destructor Documentation

SciFigs::ParallelBand::ParallelBand ( const Brush b = Qt::SolidPattern,
const Pen p = Qt::NoPen 
)
  :  _pen(p),
    _brush(b),
    _minimum(0.0),
    _maximum(0.0)
{
}
SciFigs::ParallelBand::ParallelBand ( double  value,
const Pen p = Qt::SolidLine 
)
  :  _pen(p),
    _brush(Qt::NoBrush),
    _minimum(value),
    _maximum(value)
{
}
SciFigs::ParallelBand::ParallelBand ( double  min,
double  max,
const Brush b = Qt::SolidPattern,
const Pen p = Qt::NoPen 
)
  :  _pen(p),
    _brush(b),
    _minimum(min),
    _maximum(max)
{
}
virtual SciFigs::ParallelBand::~ParallelBand ( ) [inline, virtual]
{}

Member Function Documentation

const Brush& SciFigs::ParallelBand::brush ( ) const [inline]

Referenced by SciFigs::ParallelBands::paintData().

{return _brush;}
double SciFigs::ParallelBand::maximum ( ) const [inline]
double SciFigs::ParallelBand::minimum ( ) const [inline]
const Pen& SciFigs::ParallelBand::pen ( ) const [inline]

Referenced by SciFigs::ParallelBands::paintData().

{return _pen;}
void SciFigs::ParallelBand::setBrush ( const Brush b) [inline]
{_brush=b;}
void SciFigs::ParallelBand::setMaximum ( double  m) [inline]
void SciFigs::ParallelBand::setMinimum ( double  m) [inline]
void SciFigs::ParallelBand::setPen ( const Pen p) [inline]
{_pen=p;}
void SciFigs::ParallelBand::setValue ( double  v) [inline]

Referenced by Results::setThreshold().

double SciFigs::ParallelBand::value ( ) const [inline]
{return _minimum;}

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 _brush, _pen, and TRACE.

{
  TRACE;
  Q_UNUSED(attributes);
  Q_UNUSED(context);
  if(tag=="minimum") return XMLMember(0);
  else if(tag=="maximum") return XMLMember(1);
  else if(tag=="Pen") return XMLMember(&_pen);
  else if(tag=="Brush") return XMLMember(&_brush);
  else if(tag=="limits") return XMLMember(2);  // Kept for compatibility
  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 _maximum, _minimum, QGpCoreTools::Point2D::fromString(), TRACE, QGpCoreTools::Point2D::x(), and QGpCoreTools::Point2D::y().

{
  TRACE;
  Q_UNUSED(tag);
  Q_UNUSED(attributes);
  Q_UNUSED(context);
  switch (memberID) {
  case 0: _minimum=content.toDouble(); return true;
  case 1: _maximum=content.toDouble(); return true;
  case 2: {                 // Kept for compatibility
      Point2D p;
      p.fromString(content);
      _minimum=p.x();
      _maximum=p.y();
    }
    return true;
  default:
    return false;
  }
}
virtual const QString& SciFigs::ParallelBand::xml_tagName ( ) const [inline, virtual]

Reimplemented from QGpCoreTools::XMLClass.

References _brush, _pen, TRACE, and QGpCoreTools::XMLClass::xml_save().

{
  TRACE;
  _pen.xml_save(s, context);
  _brush.xml_save(s, context);
}

Reimplemented from QGpCoreTools::XMLClass.

References _maximum, _minimum, TRACE, and QGpCoreTools::XMLClass::writeProperty().

{
  TRACE;
  Q_UNUSED(context);
  writeProperty(s, "minimum", _minimum);
  writeProperty(s, "maximum", _maximum);
}

Member Data Documentation

Referenced by xml_member(), and xml_writeChildren().

double SciFigs::ParallelBand::_maximum [protected]
double SciFigs::ParallelBand::_minimum [protected]

Referenced by xml_member(), and xml_writeChildren().

const QString SciFigs::ParallelBand::xmlParallelBandTag = "ParallelBand" [static]

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