Reference point to fix scale of an ImageLayer. More...
#include <ImageLayer.h>
Public Member Functions | |
const QPoint & | image () const |
QPoint & | image () |
const QString & | name () const |
const Point2D & | real () const |
Point2D & | real () |
ReferencePoint () | |
ReferencePoint (const ReferencePoint &o) | |
void | setImage (const QPoint &p) |
void | setName (const QString &n) |
void | setReal (const Point2D &p) |
virtual const QString & | xml_tagName () const |
Static Public Attributes | |
static const QString | xmlReferencePointTag = "ReferencePoint" |
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 |
Reference point to fix scale of an ImageLayer.
SciFigs::ImageLayer::ReferencePoint::ReferencePoint | ( | ) | [inline] |
: XMLClass() {}
SciFigs::ImageLayer::ReferencePoint::ReferencePoint | ( | const ReferencePoint & | o | ) | [inline] |
: XMLClass(), _name(o._name), _image(o._image), _real(o._real) {}
const QPoint& SciFigs::ImageLayer::ReferencePoint::image | ( | ) | const [inline] |
Referenced by SciFigs::ImageLayer::scaling().
{return _image;}
QPoint& SciFigs::ImageLayer::ReferencePoint::image | ( | ) | [inline] |
{return _image;}
const QString& SciFigs::ImageLayer::ReferencePoint::name | ( | ) | const [inline] |
{return _name;}
const Point2D& SciFigs::ImageLayer::ReferencePoint::real | ( | ) | const [inline] |
Referenced by SciFigs::ImageLayer::scaling().
{return _real;}
Point2D& SciFigs::ImageLayer::ReferencePoint::real | ( | ) | [inline] |
{return _real;}
void SciFigs::ImageLayer::ReferencePoint::setImage | ( | const QPoint & | p | ) | [inline] |
Referenced by SciFigs::ImageScalingPoint::add().
{_image=p;}
void SciFigs::ImageLayer::ReferencePoint::setName | ( | const QString & | n | ) | [inline] |
Referenced by SciFigs::ImageScalingPoint::add().
{_name=n;}
void SciFigs::ImageLayer::ReferencePoint::setReal | ( | const Point2D & | p | ) | [inline] |
{_real=p;}
XMLMember SciFigs::ImageLayer::ReferencePoint::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 QGpCoreTools::XMLClass.
References TRACE.
bool SciFigs::ImageLayer::ReferencePoint::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 QGpCoreTools::XMLClass.
References QGpCoreTools::Point2D::fromString(), TRACE, QGpCoreTools::Point2D::x(), and QGpCoreTools::Point2D::y().
{ TRACE; Q_UNUSED(context); Q_UNUSED(tag); Q_UNUSED(attributes); switch(memberID) { case 0: _name=content.toString(); return true; case 1: { Point2D p; p.fromString(content.toString()); _image.setX((int)round(p.x())); _image.setY((int)round(p.y())); } return true; case 2: _real.fromString(content.toString()); return true; default: return false; } }
virtual const QString& SciFigs::ImageLayer::ReferencePoint::xml_tagName | ( | ) | const [inline, virtual] |
Implements QGpCoreTools::XMLClass.
{return xmlReferencePointTag;}
void SciFigs::ImageLayer::ReferencePoint::xml_writeProperties | ( | XML_WRITEPROPERTIES_ARGS | ) | const [protected, virtual] |
Reimplemented from QGpCoreTools::XMLClass.
References QGpCoreTools::Point2D::toString(), TRACE, and QGpCoreTools::XMLClass::writeProperty().
{ TRACE; Q_UNUSED(context); writeProperty(s, "name", _name); writeProperty(s, "image", Point2D(_image).toString(5)); writeProperty(s, "real", _real.toString(20)); }
const QString SciFigs::ImageLayer::ReferencePoint::xmlReferencePointTag = "ReferencePoint" [static] |