15 #include <QTextStream> 17 #include <QXmlStreamWriter> 20 const double PI = 3.1415926535;
42 m_coordsType (document.modelCoords().coordsType()),
43 m_originRadius(document.modelCoords().originRadius()),
44 m_coordScaleXTheta(document.modelCoords().coordScaleXTheta()),
45 m_coordScaleYRadius(document.modelCoords().coordScaleYRadius()),
46 m_coordUnitsX(document.modelCoords().coordUnitsX()),
47 m_coordUnitsY(document.modelCoords().coordUnitsY()),
48 m_coordUnitsTheta(document.modelCoords().coordUnitsTheta()),
49 m_coordUnitsRadius(document.modelCoords().coordUnitsRadius()),
50 m_coordUnitsDate(document.modelCoords().coordUnitsDate()),
51 m_coordUnitsTime(document.modelCoords().coordUnitsTime())
56 m_coordsType (other.coordsType ()),
57 m_originRadius (other.originRadius ()),
58 m_coordScaleXTheta (other.coordScaleXTheta()),
59 m_coordScaleYRadius (other.coordScaleYRadius ()),
60 m_coordUnitsX (other.coordUnitsX()),
61 m_coordUnitsY (other.coordUnitsY()),
62 m_coordUnitsTheta (other.coordUnitsTheta ()),
63 m_coordUnitsRadius (other.coordUnitsRadius ()),
64 m_coordUnitsDate (other.coordUnitsDate ()),
65 m_coordUnitsTime (other.coordUnitsTime ())
87 return m_coordScaleXTheta;
92 return m_coordScaleYRadius;
102 return m_coordUnitsDate;
107 return m_coordUnitsRadius;
112 return m_coordUnitsTheta;
117 return m_coordUnitsTime;
122 return m_coordUnitsX;
127 return m_coordUnitsY;
136 QXmlStreamAttributes attributes = reader.attributes();
161 while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
164 if (reader.atEnd()) {
172 reader.raiseError (QObject::tr (
"Cannot read coordinates data"));
178 return m_originRadius;
182 QTextStream &str)
const 184 str << indentation <<
"DocumentModelCoords\n";
189 str << indentation <<
"originRadius=" << m_originRadius <<
"\n";
190 str << indentation <<
"coordScaleXTheta=" <<
coordScaleToString (m_coordScaleXTheta) <<
"\n";
191 str << indentation <<
"coordScaleYRadius=" <<
coordScaleToString (m_coordScaleYRadius) <<
"\n";
224 writer.writeEndElement();
229 m_coordScaleXTheta = coordScale;
234 m_coordScaleYRadius = coordScale;
244 m_coordUnitsDate = coordUnits;
249 m_coordUnitsRadius = coordUnits;
254 m_coordUnitsTheta = coordUnits;
259 m_coordUnitsTime = coordUnits;
264 m_coordUnitsX = coordUnits;
269 m_coordUnitsY = coordUnits;
279 switch (m_coordUnitsTheta) {
void setCoordUnitsTime(CoordUnitsTime coordUnits)
Set method for time units.
void setCoordUnitsDate(CoordUnitsDate coordUnits)
Set method for date units.
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
const QString DOCUMENT_SERIALIZE_COORDS_UNITS_DATE_STRING
const QString DOCUMENT_SERIALIZE_COORDS_UNITS_RADIUS
const QString DOCUMENT_SERIALIZE_COORDS_UNITS_RADIUS_STRING
const QString DOCUMENT_SERIALIZE_COORDS_UNITS_Y
CoordUnitsNonPolarTheta coordUnitsRadius() const
Get method for radius units.
const QString INDENTATION_DELTA
void setCoordUnitsY(CoordUnitsNonPolarTheta coordUnits)
Set method for y units.
const QString DOCUMENT_SERIALIZE_COORDS_ORIGIN_RADIUS
virtual void loadXml(QXmlStreamReader &reader)
Load model from serialized xml.
void setCoordUnitsX(CoordUnitsNonPolarTheta coordUnits)
Set method for x units.
const QString DOCUMENT_SERIALIZE_COORDS
const QString DOCUMENT_SERIALIZE_COORDS_UNITS_THETA_STRING
QString coordUnitsNonPolarThetaToString(CoordUnitsNonPolarTheta coordUnits)
void setCoordScaleYRadius(CoordScale coordScale)
Set method for linear/log scale on y/radius.
CoordUnitsNonPolarTheta coordUnitsY() const
Get method for x units.
double thetaPeriod() const
Return the period of the theta value for polar coordinates, consistent with CoordThetaUnits.
virtual void saveXml(QXmlStreamWriter &writer) const
Save entire model as xml into stream.
const QString DOCUMENT_SERIALIZE_COORDS_UNITS_TIME_STRING
#define LOG4CPP_INFO_S(logger)
CoordUnitsPolarTheta coordUnitsTheta() const
Get method for theta unit.
QString coordUnitsDateToString(CoordUnitsDate coordUnits)
QString coordUnitsPolarThetaToString(CoordUnitsPolarTheta coordUnits)
const QString DOCUMENT_SERIALIZE_COORDS_TYPE_STRING
DocumentModelCoords & operator=(const DocumentModelCoords &other)
Assignment constructor.
const QString DOCUMENT_SERIALIZE_COORDS_SCALE_Y_RADIUS
void printStream(QString indentation, QTextStream &str) const
Debugging method that supports print method of this class and printStream method of some other class(...
const QString DOCUMENT_SERIALIZE_COORDS_TYPE
DocumentModelCoords()
Default constructor.
#define LOG4CPP_ERROR_S(logger)
const QString DOCUMENT_SERIALIZE_COORDS_UNITS_X
const QString DOCUMENT_SERIALIZE_COORDS_UNITS_TIME
const QString DOCUMENT_SERIALIZE_COORDS_SCALE_X_THETA_STRING
const QString DOCUMENT_SERIALIZE_COORDS_UNITS_DATE
CoordUnitsTime coordUnitsTime() const
Get method for time format when used.
CoordScale coordScaleXTheta() const
Get method for linear/log scale on x/theta.
void setCoordUnitsTheta(CoordUnitsPolarTheta coordUnits)
Set method for theta units.
const QString DOCUMENT_SERIALIZE_COORDS_SCALE_X_THETA
CoordUnitsDate coordUnitsDate() const
Get method for date format when used.
Model for DlgSettingsCoords and CmdSettingsCoords.
void setOriginRadius(double originRadius)
Set method for origin radius in polar mode.
Storage of one imported image and the data attached to that image.
const QString DOCUMENT_SERIALIZE_COORDS_UNITS_THETA
void setCoordUnitsRadius(CoordUnitsNonPolarTheta coordUnits)
Set method for radius units.
CoordScale coordScaleYRadius() const
Get method for linear/log scale on y/radius.
log4cpp::Category * mainCat
CoordsType coordsType() const
Get method for coordinates type.
const QString DOCUMENT_SERIALIZE_COORDS_UNITS_X_STRING
QString coordsTypeToString(CoordsType coordsType)
CoordUnitsNonPolarTheta coordUnitsX() const
Get method for x units.
QString coordUnitsTimeToString(CoordUnitsTime coordUnits)
double originRadius() const
Get method for origin radius in polar mode.
const QString DOCUMENT_SERIALIZE_COORDS_UNITS_Y_STRING
const QString DOCUMENT_SERIALIZE_COORDS_SCALE_Y_RADIUS_STRING
const double DEFAULT_ORIGIN_RADIUS_LINEAR
void setCoordScaleXTheta(CoordScale coordScale)
Set method for linear/log scale on x/theta.
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS) define ENGAUGE...
QString coordScaleToString(CoordScale coordScale)
void setCoordsType(CoordsType coordsType)
Set method for coordinates type.