7 #include "CmdMediator.h" 8 #include "CoordSystem.h" 9 #include "CurveStyles.h" 10 #include "DocumentSerialize.h" 11 #include "EngaugeAssert.h" 14 #include <QXmlStreamReader> 15 #include <QXmlStreamWriter> 31 QStringList::const_iterator itr;
32 for (itr = graphCurveNames.begin (); itr != graphCurveNames.end (); itr++) {
34 const QString &graphCurveName = *itr;
44 QStringList::const_iterator itr;
45 for (itr = curveNames.begin(); itr != curveNames.end(); itr++) {
47 QString curveName = *itr;
49 m_curveStyles [curveName] = other.
curveStyle (curveName);
56 QStringList::const_iterator itr;
57 for (itr = curveNames.begin(); itr != curveNames.end(); itr++) {
59 QString curveName = *itr;
61 m_curveStyles [curveName] = other.
curveStyle (curveName);
70 CurveStylesInternal::const_iterator itr;
71 for (itr = m_curveStyles.begin(); itr != m_curveStyles.end(); itr++) {
73 curveNames << itr.key();
81 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
82 return m_curveStyles [curveName];
87 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
88 return m_curveStyles [curveName].lineStyle().paletteColor();
93 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
94 return m_curveStyles [curveName].lineStyle().curveConnectAs();
99 return m_curveStyles [curveName].lineStyle();
104 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
105 return m_curveStyles [curveName].lineStyle().width();
113 while (loadNextFromReader (reader)) {
115 if (reader.atEnd() || reader.hasError ()) {
120 if ((reader.tokenType() == QXmlStreamReader::EndElement) &&
121 (reader.name() == DOCUMENT_SERIALIZE_CURVE_STYLES)) {
126 if ((reader.tokenType() == QXmlStreamReader::StartElement) &&
127 (reader.name() == DOCUMENT_SERIALIZE_CURVE_STYLE)) {
131 QString curveName = curveStyle.
loadXml (reader);
138 reader.raiseError (
"Cannot read curve styles");
144 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
145 return m_curveStyles [curveName].pointStyle().paletteColor();
150 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
151 return m_curveStyles [curveName].pointStyle().isCircle();
156 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
157 return m_curveStyles [curveName].pointStyle().lineWidth();
162 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
163 return m_curveStyles [curveName].pointStyle().polygon();
168 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
169 return m_curveStyles [curveName].pointStyle().radius();
174 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
175 return m_curveStyles [curveName].pointStyle().shape ();
180 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
181 return m_curveStyles [curveName].pointStyle();
186 LOG4CPP_INFO_S ((*mainCat)) <<
"CurveStyles::saveXml";
188 writer.writeStartElement(DOCUMENT_SERIALIZE_CURVE_STYLES);
189 CurveStylesInternal::const_iterator itr;
190 for (itr = m_curveStyles.begin(); itr != m_curveStyles.end(); itr++) {
192 QString curveName = itr.key();
198 writer.writeEndElement();
204 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
211 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
213 curveStyle.setLineColor (lineColor);
217 CurveConnectAs curveConnectAs)
219 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
221 curveStyle.setLineConnectAs(curveConnectAs);
227 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
229 curveStyle.setLineWidth(width);
233 ColorPalette curveColor)
235 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
237 curveStyle.setPointColor (curveColor);
243 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
245 curveStyle.setPointLineWidth (width);
251 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
253 curveStyle.setPointRadius (radius);
259 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
261 curveStyle.setPointShape (shape);
void setLineColor(const QString &curveName, ColorPalette lineColor)
Set method for line color in specified curve.
CurveStyle curveStyle(const QString &curveName) const
CurveStyle in specified curve.
void setLineConnectAs(const QString &curveName, CurveConnectAs curveConnectAs)
Set method for connect as method for lines in specified curve.
void setLineWidth(const QString &curveName, int width)
Set method for line width in specified curve.
CurveStyles()
Default constructor.
void setPointLineWidth(const QString &curveName, int width)
Set method for curve point perimeter line width.
QStringList curveNames() const
List of all curve names.
Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties.
int lineWidth(const QString &curveName) const
Get method for line width in specified curve.
CurveStyles & operator=(const CurveStyles &other)
Assignment constructor.
Storage of data belonging to one coordinate system.
PointStyle pointStyle() const
Get method for PointStyle.
void loadXml(QXmlStreamReader &reader)
Load from serialized xml.
const PointStyle pointStyle(const QString &curveName) const
Get method for copying one point style. Cannot return just a reference or else there is a warning abo...
virtual QStringList curvesGraphsNames() const
See CurvesGraphs::curvesGraphsNames.
void saveXml(QXmlStreamWriter &writer) const
Serialize to xml.
PointShape pointShape(const QString &curveName) const
Get method for curve point shape.
bool pointIsCircle(const QString &curveName) const
Get method for curve point is circle in specified curve.
void setCurveStyle(const QString &curveName, const CurveStyle &curveStyle)
Set method for curve style.
ColorPalette pointColor(const QString &curveName) const
Get method for curve point color in specified curve.
Details for a specific Point.
QString loadXml(QXmlStreamReader &reader)
Load from serialized xml. Returns the curve name.
QPolygonF pointPolygon(const QString &curveName) const
Get method for curve point polygon in specified curve.
const LineStyle lineStyle(const QString &curveName) const
Get method for copying one line style in one step.
LineStyle lineStyle() const
Get method for LineStyle.
int pointRadius(const QString &curveName) const
Get method for curve point radius.
Container for LineStyle and PointStyle for one Curve.
Container for one set of digitized Points.
Details for a specific Line.
void setPointRadius(const QString &curveName, int radius)
Set method for curve point radius.
virtual Curve * curveForCurveName(const QString &curveName)
See CurvesGraphs::curveForCurveName, although this also works for AXIS_CURVE_NAME.
void saveXml(QXmlStreamWriter &writer, const QString &curveName) const
Serialize to xml.
CurveConnectAs lineConnectAs(const QString &curveName) const
Get method for connect as method for lines in specified curve.
CurveStyle curveStyle() const
Return the curve style.
ColorPalette lineColor(const QString &curveName) const
Get method for line color in specified curve.
int pointLineWidth(const QString &curveName) const
Get method for curve point line width.
void setPointShape(const QString &curveName, PointShape shape)
Set method for curve point shape in specified curve.
virtual const Curve & curveAxes() const
Get method for axis curve.
void setPointColor(const QString &curveName, ColorPalette curveColor)
Set method curve point color in specified curve.