Engauge Digitizer 2
Loading...
Searching...
No Matches
CurveStyles Class Reference

Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties. More...

#include <CurveStyles.h>

Collaboration diagram for CurveStyles:
Collaboration graph

Public Member Functions

 CurveStyles ()
 Default constructor.
 CurveStyles (const CoordSystem &coordSystem)
 Initial constructor from Document.
 CurveStyles (const CurveStyles &other)
 Copy constructor.
CurveStylesoperator= (const CurveStyles &other)
 Assignment constructor.
QStringList curveNames () const
 List of all curve names.
CurveStyle curveStyle (const QString &curveName) const
 CurveStyle in specified curve.
ColorPalette lineColor (const QString &curveName) const
 Get method for line color in specified curve.
CurveConnectAs lineConnectAs (const QString &curveName) const
 Get method for connect as method for lines in specified curve.
const LineStyle lineStyle (const QString &curveName) const
 Get method for copying one line style in one step.
int lineWidth (const QString &curveName) const
 Get method for line width in specified curve.
void loadXml (QXmlStreamReader &reader)
 Load from serialized xml.
ColorPalette pointColor (const QString &curveName) const
 Get method for curve point color in specified curve.
bool pointIsCircle (const QString &curveName) const
 Get method for curve point is circle in specified curve.
int pointLineWidth (const QString &curveName) const
 Get method for curve point line width.
QPolygonF pointPolygon (const QString &curveName) const
 Get method for curve point polygon in specified curve.
int pointRadius (const QString &curveName) const
 Get method for curve point radius.
PointShape pointShape (const QString &curveName) const
 Get method for curve point shape.
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 about returning reference to temporary.
void saveXml (QXmlStreamWriter &writer) const
 Serialize to xml.
void setCurveStyle (const QString &curveName, const CurveStyle &curveStyle)
 Set method for curve style.
void setLineColor (const QString &curveName, ColorPalette lineColor)
 Set method for line color 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.
void setPointColor (const QString &curveName, ColorPalette curveColor)
 Set method curve point color in specified curve.
void setPointIsCircle (const QString &curveName, bool pointIsCircle)
 Set method for curve point is circle in specified curve.
void setPointLineWidth (const QString &curveName, int width)
 Set method for curve point perimeter line width.
void setPointRadius (const QString &curveName, int radius)
 Set method for curve point radius.
void setPointShape (const QString &curveName, PointShape shape)
 Set method for curve point shape in specified curve.

Detailed Description

Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties.

Definition at line 22 of file CurveStyles.h.

Constructor & Destructor Documentation

◆ CurveStyles() [1/3]

CurveStyles::CurveStyles ( )

Default constructor.

Definition at line 18 of file CurveStyles.cpp.

19{
20}

◆ CurveStyles() [2/3]

CurveStyles::CurveStyles ( const CoordSystem & coordSystem)

Initial constructor from Document.

Definition at line 22 of file CurveStyles.cpp.

23{
24 // Axis curve
25 const Curve &curveAxes = coordSystem.curveAxes();
26 m_curveStyles [AXIS_CURVE_NAME].setLineStyle (curveAxes.curveStyle().lineStyle());
27 m_curveStyles [AXIS_CURVE_NAME].setPointStyle (curveAxes.curveStyle().pointStyle());
28
29 // Graph curves
30 QStringList graphCurveNames = coordSystem.curvesGraphsNames();
31 QStringList::const_iterator itr;
32 for (itr = graphCurveNames.begin (); itr != graphCurveNames.end (); itr++) {
33
34 const QString &graphCurveName = *itr;
35 const Curve *graphCurve = coordSystem.curveForCurveName(graphCurveName);
36 m_curveStyles [graphCurveName].setLineStyle (graphCurve->curveStyle().lineStyle());
37 m_curveStyles [graphCurveName].setPointStyle (graphCurve->curveStyle().pointStyle());
38 }
39}
const QString AXIS_CURVE_NAME
virtual Curve * curveForCurveName(const QString &curveName)
See CurvesGraphs::curveForCurveName, although this also works for AXIS_CURVE_NAME.
virtual const Curve & curveAxes() const
Get method for axis curve.
virtual QStringList curvesGraphsNames() const
See CurvesGraphs::curvesGraphsNames.
LineStyle lineStyle() const
Get method for LineStyle.
PointStyle pointStyle() const
Get method for PointStyle.
CurveStyle curveStyle() const
Return the curve style.
Definition Curve.cpp:149

◆ CurveStyles() [3/3]

CurveStyles::CurveStyles ( const CurveStyles & other)

Copy constructor.

Definition at line 41 of file CurveStyles.cpp.

42{
43 const QStringList curveNames = other.curveNames();
44 QStringList::const_iterator itr;
45 for (itr = curveNames.begin(); itr != curveNames.end(); itr++) {
46
47 QString curveName = *itr;
48
49 m_curveStyles [curveName] = other.curveStyle (curveName);
50 }
51}
CurveStyle curveStyle(const QString &curveName) const
CurveStyle in specified curve.
QStringList curveNames() const
List of all curve names.

Member Function Documentation

◆ curveNames()

QStringList CurveStyles::curveNames ( ) const

List of all curve names.

Definition at line 67 of file CurveStyles.cpp.

68{
69 QStringList curveNames;
70 CurveStylesInternal::const_iterator itr;
71 for (itr = m_curveStyles.begin(); itr != m_curveStyles.end(); itr++) {
72
73 curveNames << itr.key();
74 }
75
76 return curveNames;
77}

◆ curveStyle()

CurveStyle CurveStyles::curveStyle ( const QString & curveName) const

CurveStyle in specified curve.

Definition at line 79 of file CurveStyles.cpp.

80{
81 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
82 return m_curveStyles [curveName];
83}
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT.

◆ lineColor()

ColorPalette CurveStyles::lineColor ( const QString & curveName) const

Get method for line color in specified curve.

Definition at line 85 of file CurveStyles.cpp.

86{
87 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
88 return m_curveStyles [curveName].lineStyle().paletteColor();
89}

◆ lineConnectAs()

CurveConnectAs CurveStyles::lineConnectAs ( const QString & curveName) const

Get method for connect as method for lines in specified curve.

Definition at line 91 of file CurveStyles.cpp.

92{
93 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
94 return m_curveStyles [curveName].lineStyle().curveConnectAs();
95}

◆ lineStyle()

const LineStyle CurveStyles::lineStyle ( const QString & curveName) const

Get method for copying one line style in one step.

Definition at line 97 of file CurveStyles.cpp.

98{
99 return m_curveStyles [curveName].lineStyle();
100}

◆ lineWidth()

int CurveStyles::lineWidth ( const QString & curveName) const

Get method for line width in specified curve.

Definition at line 102 of file CurveStyles.cpp.

103{
104 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
105 return signed (m_curveStyles [curveName].lineStyle().width());
106}
const LineStyle lineStyle(const QString &curveName) const
Get method for copying one line style in one step.

◆ loadXml()

void CurveStyles::loadXml ( QXmlStreamReader & reader)

Load from serialized xml.

Definition at line 108 of file CurveStyles.cpp.

109{
110 bool success = true;
111
112 // Read through each DOCUMENT_SERIALIZE_LINE_STYLE and DOCUMENT_SERIALIZE_POINT_STYLE until end of DOCUMENT_SERIALIZE_CURVE_STYLES is encountered
113 while (loadNextFromReader (reader)) {
114
115 if (reader.atEnd() || reader.hasError ()) {
116 success = false;
117 break;
118 }
119
120 if ((reader.tokenType() == QXmlStreamReader::EndElement) &&
121 (reader.name() == DOCUMENT_SERIALIZE_CURVE_STYLES)) {
122 break;
123 }
124
125 // Not done yet
126 if ((reader.tokenType() == QXmlStreamReader::StartElement) &&
127 (reader.name() == DOCUMENT_SERIALIZE_CURVE_STYLE)) {
128
129 // Node has a CurveStyle that we need to parse and save
130 CurveStyle curveStyle;
131 QString curveName = curveStyle.loadXml (reader);
132
133 m_curveStyles [curveName] = curveStyle;
134 }
135 }
136
137 if (!success) {
138 reader.raiseError ("Cannot read curve styles");
139 }
140}
const QString DOCUMENT_SERIALIZE_CURVE_STYLES
const QString DOCUMENT_SERIALIZE_CURVE_STYLE
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
Definition Xml.cpp:14

◆ operator=()

CurveStyles & CurveStyles::operator= ( const CurveStyles & other)

Assignment constructor.

Definition at line 53 of file CurveStyles.cpp.

54{
55 const QStringList curveNames = other.curveNames();
56 QStringList::const_iterator itr;
57 for (itr = curveNames.begin(); itr != curveNames.end(); itr++) {
58
59 QString curveName = *itr;
60
61 m_curveStyles [curveName] = other.curveStyle (curveName);
62 }
63
64 return *this;
65}

◆ pointColor()

ColorPalette CurveStyles::pointColor ( const QString & curveName) const

Get method for curve point color in specified curve.

Definition at line 142 of file CurveStyles.cpp.

143{
144 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
145 return m_curveStyles [curveName].pointStyle().paletteColor();
146}

◆ pointIsCircle()

bool CurveStyles::pointIsCircle ( const QString & curveName) const

Get method for curve point is circle in specified curve.

Definition at line 148 of file CurveStyles.cpp.

149{
150 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
151 return m_curveStyles [curveName].pointStyle().isCircle();
152}

◆ pointLineWidth()

int CurveStyles::pointLineWidth ( const QString & curveName) const

Get method for curve point line width.

Definition at line 154 of file CurveStyles.cpp.

155{
156 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
157 return m_curveStyles [curveName].pointStyle().lineWidth();
158}

◆ pointPolygon()

QPolygonF CurveStyles::pointPolygon ( const QString & curveName) const

Get method for curve point polygon in specified curve.

Definition at line 160 of file CurveStyles.cpp.

161{
162 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
163 return m_curveStyles [curveName].pointStyle().polygon();
164}

◆ pointRadius()

int CurveStyles::pointRadius ( const QString & curveName) const

Get method for curve point radius.

Definition at line 166 of file CurveStyles.cpp.

167{
168 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
169 return m_curveStyles [curveName].pointStyle().radius();
170}

◆ pointShape()

PointShape CurveStyles::pointShape ( const QString & curveName) const

Get method for curve point shape.

Definition at line 172 of file CurveStyles.cpp.

173{
174 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
175 return m_curveStyles [curveName].pointStyle().shape ();
176}

◆ pointStyle()

const PointStyle CurveStyles::pointStyle ( const QString & curveName) const

Get method for copying one point style. Cannot return just a reference or else there is a warning about returning reference to temporary.

Definition at line 178 of file CurveStyles.cpp.

179{
180 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
181 return m_curveStyles [curveName].pointStyle();
182}

◆ saveXml()

void CurveStyles::saveXml ( QXmlStreamWriter & writer) const

Serialize to xml.

Definition at line 184 of file CurveStyles.cpp.

185{
186 LOG4CPP_INFO_S ((*mainCat)) << "CurveStyles::saveXml";
187
188 writer.writeStartElement(DOCUMENT_SERIALIZE_CURVE_STYLES);
189 CurveStylesInternal::const_iterator itr;
190 for (itr = m_curveStyles.begin(); itr != m_curveStyles.end(); itr++) {
191
192 QString curveName = itr.key();
193 const CurveStyle &curveStyle = itr.value();
194
195 curveStyle.saveXml(writer,
196 curveName);
197 }
198 writer.writeEndElement();
199}
log4cpp::Category * mainCat
Definition Logger.cpp:14
#define LOG4CPP_INFO_S(logger)
Definition convenience.h:18

◆ setCurveStyle()

void CurveStyles::setCurveStyle ( const QString & curveName,
const CurveStyle & curveStyle )

Set method for curve style.

Definition at line 201 of file CurveStyles.cpp.

203{
204 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
205 m_curveStyles [curveName] = curveStyle;
206}

◆ setLineColor()

void CurveStyles::setLineColor ( const QString & curveName,
ColorPalette lineColor )

Set method for line color in specified curve.

Definition at line 208 of file CurveStyles.cpp.

210{
211 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
212 CurveStyle &curveStyle = m_curveStyles [curveName];
213 curveStyle.setLineColor (lineColor);
214}
ColorPalette lineColor(const QString &curveName) const
Get method for line color in specified curve.

◆ setLineConnectAs()

void CurveStyles::setLineConnectAs ( const QString & curveName,
CurveConnectAs curveConnectAs )

Set method for connect as method for lines in specified curve.

Definition at line 216 of file CurveStyles.cpp.

218{
219 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
220 CurveStyle &curveStyle = m_curveStyles [curveName];
221 curveStyle.setLineConnectAs(curveConnectAs);
222}

◆ setLineWidth()

void CurveStyles::setLineWidth ( const QString & curveName,
int width )

Set method for line width in specified curve.

Definition at line 224 of file CurveStyles.cpp.

226{
227 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
228 CurveStyle &curveStyle = m_curveStyles [curveName];
229 curveStyle.setLineWidth(width);
230}

◆ setPointColor()

void CurveStyles::setPointColor ( const QString & curveName,
ColorPalette curveColor )

Set method curve point color in specified curve.

Definition at line 232 of file CurveStyles.cpp.

234{
235 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
236 CurveStyle &curveStyle = m_curveStyles [curveName];
237 curveStyle.setPointColor (curveColor);
238}

◆ setPointIsCircle()

void CurveStyles::setPointIsCircle ( const QString & curveName,
bool pointIsCircle )

Set method for curve point is circle in specified curve.

◆ setPointLineWidth()

void CurveStyles::setPointLineWidth ( const QString & curveName,
int width )

Set method for curve point perimeter line width.

Definition at line 240 of file CurveStyles.cpp.

242{
243 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
244 CurveStyle &curveStyle = m_curveStyles [curveName];
245 curveStyle.setPointLineWidth (width);
246}

◆ setPointRadius()

void CurveStyles::setPointRadius ( const QString & curveName,
int radius )

Set method for curve point radius.

Definition at line 248 of file CurveStyles.cpp.

250{
251 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
252 CurveStyle &curveStyle = m_curveStyles [curveName];
253 curveStyle.setPointRadius (radius);
254}

◆ setPointShape()

void CurveStyles::setPointShape ( const QString & curveName,
PointShape shape )

Set method for curve point shape in specified curve.

Definition at line 256 of file CurveStyles.cpp.

258{
259 ENGAUGE_ASSERT (m_curveStyles.contains (curveName));
260 CurveStyle &curveStyle = m_curveStyles [curveName];
261 curveStyle.setPointShape (shape);
262}

The documentation for this class was generated from the following files: