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] |