Engauge Digitizer  2
CurveStyles.h
1 #ifndef CURVE_STYLES_H
2 #define CURVE_STYLES_H
3 
4 #include "ColorPalette.h"
5 #include "CurveStyle.h"
6 #include <QHash>
7 #include <QString>
8 
9 class Document;
10 class QXmlStreamReader;
11 class QXmlStreamWriter;
12 
13 typedef QHash<QString, CurveStyle> CurveStylesInternal;
14 
17 {
18 public:
20  CurveStyles();
21 
23  CurveStyles(const Document &document);
24 
26  CurveStyles (const CurveStyles &other);
27 
29  CurveStyles &operator=(const CurveStyles &other);
30 
32  QStringList curveNames () const;
33 
35  CurveStyle curveStyle (const QString &curveName) const;
36 
38  ColorPalette lineColor (const QString &curveName) const;
39 
41  CurveConnectAs lineConnectAs (const QString &curveName) const;
42 
44  const LineStyle lineStyle (const QString &curveName) const;
45 
47  int lineWidth (const QString &curveName) const;
48 
50  void loadXml (QXmlStreamReader &reader);
51 
53  ColorPalette pointColor (const QString &curveName) const;
54 
56  bool pointIsCircle (const QString &curveName) const;
57 
59  int pointLineWidth (const QString &curveName) const;
60 
62  QPolygonF pointPolygon (const QString &curveName) const;
63 
65  int pointRadius (const QString &curveName) const;
66 
68  PointShape pointShape(const QString &curveName) const;
69 
71  const PointStyle pointStyle (const QString &curveName) const;
72 
74  void saveXml(QXmlStreamWriter &writer) const;
75 
77  void setCurveStyle (const QString &curveName,
78  const CurveStyle &curveStyle);
79 
81  void setLineColor (const QString &curveName,
82  ColorPalette lineColor);
83 
85  void setLineConnectAs (const QString &curveName,
86  CurveConnectAs curveConnectAs);
87 
89  void setLineWidth (const QString &curveName,
90  int width);
91 
93  void setPointColor (const QString &curveName,
94  ColorPalette curveColor);
95 
97  void setPointIsCircle (const QString &curveName,
98  bool pointIsCircle);
99 
101  void setPointLineWidth (const QString &curveName,
102  int width);
103 
105  void setPointRadius (const QString &curveName,
106  int radius);
107 
109  void setPointShape (const QString &curveName,
110  PointShape shape);
111 
112 private:
113 
114  CurveStylesInternal m_curveStyles;
115 
116 };
117 
118 #endif // CURVE_STYLES_H
void setLineColor(const QString &curveName, ColorPalette lineColor)
Set method for line color in specified curve.
QStringList curveNames() const
List of all curve names.
Definition: CurveStyles.cpp:60
QPolygonF pointPolygon(const QString &curveName) const
Get method for curve point polygon in specified curve.
void setLineConnectAs(const QString &curveName, CurveConnectAs curveConnectAs)
Set method for connect as method for lines in specified curve.
bool pointIsCircle(const QString &curveName) const
Get method for curve point is circle in specified curve.
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...
void setLineWidth(const QString &curveName, int width)
Set method for line width in specified curve.
CurveStyles()
Default constructor.
Definition: CurveStyles.cpp:11
void setPointLineWidth(const QString &curveName, int width)
Set method for curve point perimeter line width.
Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties.
Definition: CurveStyles.h:16
CurveStyles & operator=(const CurveStyles &other)
Assignment constructor.
Definition: CurveStyles.cpp:46
void loadXml(QXmlStreamReader &reader)
Load from serialized xml.
int pointRadius(const QString &curveName) const
Get method for curve point radius.
int lineWidth(const QString &curveName) const
Get method for line width in specified curve.
Definition: CurveStyles.cpp:95
ColorPalette lineColor(const QString &curveName) const
Get method for line color in specified curve.
Definition: CurveStyles.cpp:78
const LineStyle lineStyle(const QString &curveName) const
Get method for copying one line style in one step.
Definition: CurveStyles.cpp:90
void setCurveStyle(const QString &curveName, const CurveStyle &curveStyle)
Set method for curve style.
Details for a specific Point.
Definition: PointStyle.h:14
CurveConnectAs lineConnectAs(const QString &curveName) const
Get method for connect as method for lines in specified curve.
Definition: CurveStyles.cpp:84
Container for LineStyle and PointStyle for one Curve.
Definition: CurveStyle.h:12
Storage of one imported image and the data attached to that image.
Definition: Document.h:29
Details for a specific Line.
Definition: LineStyle.h:13
PointShape pointShape(const QString &curveName) const
Get method for curve point shape.
ColorPalette pointColor(const QString &curveName) const
Get method for curve point color in specified curve.
void setPointRadius(const QString &curveName, int radius)
Set method for curve point radius.
void saveXml(QXmlStreamWriter &writer) const
Serialize to xml.
void setPointIsCircle(const QString &curveName, bool pointIsCircle)
Set method for curve point is circle in specified curve.
int pointLineWidth(const QString &curveName) const
Get method for curve point line width.
CurveStyle curveStyle(const QString &curveName) const
CurveStyle in specified curve.
Definition: CurveStyles.cpp:72
void setPointShape(const QString &curveName, PointShape shape)
Set method for curve point shape in specified curve.
void setPointColor(const QString &curveName, ColorPalette curveColor)
Set method curve point color in specified curve.