Brief description of class still missing Abstract line with points and names. More...
#include <AbstractNameLine.h>
Public Member Functions | |
AbstractNameLine () | |
virtual bool | fromString (int index, const StringSection &str, const QChar *&ptr, const CurvePointOptions *) |
virtual QString | name (int index) const =0 |
void | operator= (const AbstractNameLine &o) |
virtual void | setName (int index, QString n)=0 |
void | setTextColor (const QColor &c) |
void | setTextDx (double dx) |
void | setTextDy (double dy) |
void | setTextOrientation (double orientation) |
QColor | textColor () const |
double | textDx () const |
double | textDy () const |
double | textOrientation () const |
virtual QString | toString (int index, const CurvePointOptions *options) const |
virtual const QString & | xml_tagName () const |
Static Public Attributes | |
static const QString | xmlAbstractNameLineTag = "NameLine" |
Protected Member Functions | |
virtual XMLMember | xml_member (XML_MEMBER_ARGS) |
virtual bool | xml_setProperty (XML_SETPROPERTY_ARGS) |
virtual void | xml_writeProperties (XML_WRITEPROPERTIES_ARGS) const |
Protected Attributes | |
QColor | _textColor |
double | _textDx |
double | _textDy |
double | _textOrientation |
Brief description of class still missing Abstract line with points and names.
SciFigs::AbstractNameLine::AbstractNameLine | ( | ) | [inline] |
{_textDx=0.0; _textDy=0.01; _textOrientation=0.0;}
bool SciFigs::AbstractNameLine::fromString | ( | int | index, |
const StringSection & | str, | ||
const QChar *& | ptr, | ||
const CurvePointOptions * | options | ||
) | [virtual] |
Reimplemented from SciFigs::AbstractLine.
References QGpCoreTools::StringSection::isValid(), QGpCoreTools::StringSection::nextField(), setName(), SciFigs::AbstractLine::setX(), SciFigs::AbstractLine::setY(), SciFigs::AbstractLine::setZ(), QGpCoreTools::StringSection::toDouble(), QGpCoreTools::StringSection::toString(), and TRACE.
Referenced by xml_setProperty().
{ TRACE; bool ok=true; StringSection f; f=str.nextField(ptr); if(f.isValid()) { setX(index, f.toDouble(&ok)); if(!ok) return false; } else { return false; } f=str.nextField(ptr); if(f.isValid()) { setY(index, f.toDouble(&ok), options); if(!ok) return false; } else { return false; } const QChar * oldPtr=ptr; f=str.nextField(ptr); if(f.isValid()) { double z=f.toDouble(&ok); if(ok) { // Z is optional setZ(index, z, options); oldPtr=ptr; } else { setZ(index, 0.0, options); ptr=oldPtr; } f=str.nextField(ptr, "\r\n", false); if(f.isValid()) { setName(index, f.toString()); } else { setName(index, QString::null); ptr=oldPtr; } } else { // Z and Name are optional setZ(index, 0.0, options); setName(index, QString::null); ptr=oldPtr; } return true; }
virtual QString SciFigs::AbstractNameLine::name | ( | int | index | ) | const [pure virtual] |
Implemented in SciFigs::NameLine, and MonoStation::StationLine.
Referenced by SciFigs::NameLineLayer::paintText(), and toString().
void SciFigs::AbstractNameLine::operator= | ( | const AbstractNameLine & | o | ) |
References _textColor, _textDx, _textDy, and _textOrientation.
{ _textColor=o._textColor; _textDx=o._textDx; _textDy=o._textDy; _textOrientation=o._textOrientation; AbstractLine::operator=(o); }
virtual void SciFigs::AbstractNameLine::setName | ( | int | index, |
QString | n | ||
) | [pure virtual] |
Implemented in MonoStation::StationLine, and SciFigs::NameLine.
Referenced by fromString().
void SciFigs::AbstractNameLine::setTextColor | ( | const QColor & | c | ) | [inline] |
Referenced by MonoStation::AbstractSummary::setBubbleValues(), and SciFigs::NameLineLayer::setLegend().
{_textColor=c;}
void SciFigs::AbstractNameLine::setTextDx | ( | double | dx | ) | [inline] |
Referenced by SciFigs::NameLineItem::setData().
{_textDx=dx;}
void SciFigs::AbstractNameLine::setTextDy | ( | double | dy | ) | [inline] |
Referenced by SciFigs::NameLineItem::setData().
{_textDy=dy;}
void SciFigs::AbstractNameLine::setTextOrientation | ( | double | orientation | ) | [inline] |
Referenced by SciFigs::NameLineItem::setData().
{_textOrientation=orientation;}
QColor SciFigs::AbstractNameLine::textColor | ( | ) | const [inline] |
Referenced by SciFigs::NameLineLayer::legend(), and SciFigs::NameLineLayer::paintData().
{return _textColor;}
double SciFigs::AbstractNameLine::textDx | ( | ) | const [inline] |
Referenced by SciFigs::NameLineItem::data(), and SciFigs::NameLineLayer::paintData().
{return _textDx;}
double SciFigs::AbstractNameLine::textDy | ( | ) | const [inline] |
Referenced by SciFigs::NameLineItem::data(), and SciFigs::NameLineLayer::paintData().
{return _textDy;}
double SciFigs::AbstractNameLine::textOrientation | ( | ) | const [inline] |
Referenced by SciFigs::NameLineItem::data(), and SciFigs::NameLineLayer::paintData().
{return _textOrientation;}
QString SciFigs::AbstractNameLine::toString | ( | int | index, |
const CurvePointOptions * | options | ||
) | const [virtual] |
Reimplemented from SciFigs::AbstractLine.
Reimplemented in SciFigs::NameLine.
References name(), SciFigs::AbstractLine::point(), QGpCoreTools::NamedPoint::setName(), QGpCoreTools::NamedPoint::toString(), and TRACE.
XMLMember SciFigs::AbstractNameLine::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 SciFigs::AbstractLine.
References SciFigs::XMLSciFigs::data(), SciFigs::XMLSciFigs::makeUp(), and TRACE.
{ TRACE; XMLSciFigs * scifigsContext=static_cast<LineLayerContext *>(context)->parent(); if(scifigsContext->data()) { if(tag=="points") return XMLMember(0); } if(scifigsContext->makeUp()) { if(tag=="dx") return XMLMember(1); else if(tag=="dy") return XMLMember(2); else if(tag=="orientation") return XMLMember(3); else if(tag=="color") return XMLMember(4); } return AbstractLine::xml_member(tag, attributes, context)+5; }
bool SciFigs::AbstractNameLine::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 SciFigs::AbstractLine.
References _textColor, _textDx, _textDy, _textOrientation, SciFigs::AbstractLine::append(), SciFigs::AbstractLine::clear(), fromString(), SciFigs::LineLayerContext::options(), SciFigs::AbstractLine::removeLast(), and TRACE.
{ TRACE; Q_UNUSED(tag); LineLayerContext * lineContext=static_cast<LineLayerContext *>(context); switch (memberID) { case 0: { const QChar * ptr=0; clear(); int i=0; while(true) { append(); if(!content.nextLine(ptr)) break; if(!fromString(i, content, ptr, lineContext->options())) break; i++; } removeLast(); } return true; case 1: _textDx=content.toDouble(); return true; case 2: _textDy=content.toDouble(); return true; case 3: _textOrientation=content.toDouble(); return true; case 4: { QColor col(content.toString()); _textColor=col; return true; } return true; default: return AbstractLine::xml_setProperty(memberID-5, tag, attributes, content, context); } }
virtual const QString& SciFigs::AbstractNameLine::xml_tagName | ( | ) | const [inline, virtual] |
Reimplemented from SciFigs::AbstractLine.
Reimplemented in MonoStation::StationLine, and SciFigs::NameLine.
{return xmlAbstractNameLineTag;}
void SciFigs::AbstractNameLine::xml_writeProperties | ( | XML_WRITEPROPERTIES_ARGS | ) | const [protected, virtual] |
Reimplemented from SciFigs::AbstractLine.
References _textColor, _textDx, _textDy, _textOrientation, SciFigs::XMLSciFigs::makeUp(), TRACE, and QGpCoreTools::XMLClass::writeProperty().
{ TRACE; XMLSciFigs * scifigsContext=static_cast<LineLayerContext *>(context)->parent(); if(scifigsContext->makeUp()) { writeProperty(s, "color",_textColor.name()); writeProperty(s, "dx",_textDx); writeProperty(s, "dy",_textDy); writeProperty(s, "orientation",_textOrientation); } AbstractLine::xml_writeProperties(s, context); }
QColor SciFigs::AbstractNameLine::_textColor [protected] |
Referenced by operator=(), xml_setProperty(), and xml_writeProperties().
double SciFigs::AbstractNameLine::_textDx [protected] |
Referenced by operator=(), xml_setProperty(), and xml_writeProperties().
double SciFigs::AbstractNameLine::_textDy [protected] |
Referenced by operator=(), xml_setProperty(), and xml_writeProperties().
double SciFigs::AbstractNameLine::_textOrientation [protected] |
Referenced by operator=(), xml_setProperty(), and xml_writeProperties().
const QString SciFigs::AbstractNameLine::xmlAbstractNameLineTag = "NameLine" [static] |