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

#include <LegendItem.h>

Inheritance diagram for SciFigs::LegendItem:
QGpCoreTools::XMLClass SciFigs::LegendItemDisplay SciFigs::LegendItemWidget

List of all members.

Public Member Functions

 LegendItem ()
 LegendItem (const QString &t, const Pen &p, const Symbol &s)
bool operator!= (const LegendItem &o) const
LegendItemoperator= (const LegendItem &o)
bool operator== (const LegendItem &o) const
Penpen ()
const Penpen () const
void setPen (const Pen &p)
void setSymbol (const Symbol &s)
void setText (const QString &t)
void setTextColor (const QColor &c)
Symbolsymbol ()
const Symbolsymbol () const
const QString & text () const
const QColor & textColor () const
virtual const QString & xml_tagName () const
virtual ~LegendItem ()

Static Public Attributes

static const QString xmlLegendItemTag = "LegendItem"

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

Pen _pen
Symbol _symbol
QString _text
QColor _textColor

Constructor & Destructor Documentation

{}
SciFigs::LegendItem::LegendItem ( const QString &  t,
const Pen p,
const Symbol s 
) [inline]

References _pen, _symbol, _text, and TRACE.

{
  TRACE;
  _text=t;
  _pen=p;
  _symbol=s;
}
virtual SciFigs::LegendItem::~LegendItem ( ) [inline, virtual]
{}

Member Function Documentation

bool SciFigs::LegendItem::operator!= ( const LegendItem o) const [inline]
{return !operator==(o);}
LegendItem & SciFigs::LegendItem::operator= ( const LegendItem o)

References _pen, _symbol, _text, _textColor, and TRACE.

{
  TRACE;
  _text=o._text;
  _textColor=o._textColor;
  _pen=o._pen;
  _symbol=o._symbol;
  return *this;
}
bool SciFigs::LegendItem::operator== ( const LegendItem o) const

References _pen, _symbol, _text, _textColor, and TRACE.

{
  TRACE;
  return _text==o._text &&
         _textColor==o._textColor &&
         _pen==o._pen &&
         _symbol==o._symbol;
}
{return _pen;}
const Pen& SciFigs::LegendItem::pen ( ) const [inline]
{return _pen;}
void SciFigs::LegendItem::setPen ( const Pen p) [inline]
{_pen=p;}
void SciFigs::LegendItem::setSymbol ( const Symbol s) [inline]
{_symbol=s;}
void SciFigs::LegendItem::setText ( const QString &  t) [inline]
{_text=t;}
void SciFigs::LegendItem::setTextColor ( const QColor &  c) [inline]
{return _symbol;}
const Symbol& SciFigs::LegendItem::symbol ( ) const [inline]
{return _symbol;}
const QString& SciFigs::LegendItem::text ( ) const [inline]
{return _text;}
const QColor& SciFigs::LegendItem::textColor ( ) const [inline]
{return _textColor;}

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

{
  TRACE;
  Q_UNUSED(attributes);
  Q_UNUSED(context);
  if(tag=="text") return XMLMember(0);
  else if(tag=="textColor") return XMLMember(1);
  else if(tag=="Pen") return XMLMember(&_pen);
  else if(tag=="Symbol") return XMLMember(&_symbol);
  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 _text, _textColor, and TRACE.

{
  TRACE;
  Q_UNUSED(tag);
  Q_UNUSED(attributes);
  Q_UNUSED(context);
  switch (memberID) {
  case 0:
    _text=content.toString();
    return true;
  case 1: {
      QColor col(content.toString());
      _textColor=col;
    }
    return true;
  default:
    return false;
  }
}
virtual const QString& SciFigs::LegendItem::xml_tagName ( ) const [inline, virtual]
void SciFigs::LegendItem::xml_writeChildren ( XML_WRITECHILDREN_ARGS  ) const [protected, virtual]

Reimplemented from QGpCoreTools::XMLClass.

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

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

Reimplemented from QGpCoreTools::XMLClass.

References _text, _textColor, TRACE, and QGpCoreTools::XMLClass::writeProperty().

{
  TRACE;
  Q_UNUSED(context);
  writeProperty(s, "text",_text);
  writeProperty(s, "textColor",_textColor.name());
}

Member Data Documentation

QString SciFigs::LegendItem::_text [protected]
QColor SciFigs::LegendItem::_textColor [protected]
const QString SciFigs::LegendItem::xmlLegendItemTag = "LegendItem" [static]

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