Engauge Digitizer  2
Public Member Functions | Static Public Member Functions | List of all members
LineStyle Class Reference

Details for a specific Line. More...

#include <LineStyle.h>

Collaboration diagram for LineStyle:
Collaboration graph

Public Member Functions

 LineStyle ()
 Default constructor only for use when this class is being stored by a container that requires the default constructor. More...
 
 LineStyle (unsigned int width, ColorPalette paletteColor, CurveConnectAs curveConnectAs)
 Normal constructor. More...
 
 LineStyle (const LineStyle &other)
 Copy constructor. More...
 
LineStyleoperator= (const LineStyle &other)
 Assignment operator. More...
 
CurveConnectAs curveConnectAs () const
 Get method for connect type. More...
 
void loadXml (QXmlStreamReader &reader)
 Load model from serialized xml. Returns the curve name. More...
 
ColorPalette paletteColor () const
 Line color. More...
 
void printStream (QString indentation, QTextStream &str) const
 Debugging method that supports print method of this class and printStream method of some other class(es) More...
 
void saveXml (QXmlStreamWriter &writer) const
 Serialize to stream. More...
 
void setCurveConnectAs (CurveConnectAs curveConnectAs)
 Set connect as. More...
 
void setPaletteColor (ColorPalette paletteColor)
 Set method for line color. More...
 
void setWidth (int width)
 Set width of line. More...
 
unsigned int width () const
 Width of line. More...
 

Static Public Member Functions

static LineStyle defaultAxesCurve ()
 Initial default for axes curve. More...
 
static LineStyle defaultGraphCurve (int index)
 Initial default for index'th graph curve. More...
 

Detailed Description

Details for a specific Line.

Definition at line 19 of file LineStyle.h.

Constructor & Destructor Documentation

◆ LineStyle() [1/3]

LineStyle::LineStyle ( )

Default constructor only for use when this class is being stored by a container that requires the default constructor.

Definition at line 26 of file LineStyle.cpp.

27 {
28  QSettings settings (SETTINGS_ENGAUGE, SETTINGS_DIGITIZER);
29  settings.beginGroup (SETTINGS_GROUP_CURVE_AXES);
30  m_width = settings.value (SETTINGS_CURVE_LINE_WIDTH,
31  DEFAULT_LINE_WIDTH_AXES).toUInt();
32  m_paletteColor = static_cast<ColorPalette> (settings.value (SETTINGS_CURVE_LINE_COLOR,
33  DEFAULT_LINE_COLOR_AXES).toInt());
34  m_curveConnectAs = static_cast<CurveConnectAs> (settings.value (SETTINGS_CURVE_LINE_CONNECT_AS,
36 }
const QString SETTINGS_GROUP_CURVE_AXES
const QString SETTINGS_CURVE_LINE_WIDTH
const QString SETTINGS_CURVE_LINE_CONNECT_AS
const CurveConnectAs DEFAULT_LINE_CONNECT_AS_AXES
Definition: LineStyle.cpp:21
const QString SETTINGS_DIGITIZER
const QString SETTINGS_CURVE_LINE_COLOR
const ColorPalette DEFAULT_LINE_COLOR_AXES
Definition: LineStyle.cpp:19
const QString SETTINGS_ENGAUGE
const int DEFAULT_LINE_WIDTH_AXES
Definition: LineStyle.cpp:23

◆ LineStyle() [2/3]

LineStyle::LineStyle ( unsigned int  width,
ColorPalette  paletteColor,
CurveConnectAs  curveConnectAs 
)

Normal constructor.

Definition at line 38 of file LineStyle.cpp.

40  :
41  m_width (width),
42  m_paletteColor (paletteColor),
43  m_curveConnectAs (curveConnectAs)
44 {
45 }
CurveConnectAs curveConnectAs() const
Get method for connect type.
Definition: LineStyle.cpp:63
unsigned int width() const
Width of line.
Definition: LineStyle.cpp:173
ColorPalette paletteColor() const
Line color.
Definition: LineStyle.cpp:128

◆ LineStyle() [3/3]

LineStyle::LineStyle ( const LineStyle other)

Copy constructor.

Definition at line 47 of file LineStyle.cpp.

47  :
48  m_width (other.width ()),
49  m_paletteColor (other.paletteColor()),
50  m_curveConnectAs (other.curveConnectAs())
51 {
52 }
CurveConnectAs curveConnectAs() const
Get method for connect type.
Definition: LineStyle.cpp:63
unsigned int width() const
Width of line.
Definition: LineStyle.cpp:173
ColorPalette paletteColor() const
Line color.
Definition: LineStyle.cpp:128

Member Function Documentation

◆ curveConnectAs()

CurveConnectAs LineStyle::curveConnectAs ( ) const

Get method for connect type.

Definition at line 63 of file LineStyle.cpp.

64 {
65  return m_curveConnectAs;
66 }

◆ defaultAxesCurve()

LineStyle LineStyle::defaultAxesCurve ( )
static

Initial default for axes curve.

Definition at line 68 of file LineStyle.cpp.

69 {
70  QSettings settings (SETTINGS_ENGAUGE, SETTINGS_DIGITIZER);
71  settings.beginGroup (SETTINGS_GROUP_CURVE_AXES);
72  int width = settings.value (SETTINGS_CURVE_LINE_WIDTH,
73  DEFAULT_LINE_WIDTH_AXES).toInt();
74  ColorPalette color = static_cast<ColorPalette> (settings.value (SETTINGS_CURVE_LINE_COLOR,
75  DEFAULT_LINE_COLOR_AXES).toInt());
76  CurveConnectAs connectAs = static_cast<CurveConnectAs> (settings.value (SETTINGS_CURVE_LINE_CONNECT_AS,
78 
79  return LineStyle (unsigned (width),
80  color,
81  connectAs);
82 }
const QString SETTINGS_GROUP_CURVE_AXES
unsigned int width() const
Width of line.
Definition: LineStyle.cpp:173
const QString SETTINGS_CURVE_LINE_WIDTH
const QString SETTINGS_CURVE_LINE_CONNECT_AS
const CurveConnectAs DEFAULT_LINE_CONNECT_AS_AXES
Definition: LineStyle.cpp:21
const QString SETTINGS_DIGITIZER
const QString SETTINGS_CURVE_LINE_COLOR
const ColorPalette DEFAULT_LINE_COLOR_AXES
Definition: LineStyle.cpp:19
const QString SETTINGS_ENGAUGE
CurveConnectAs
const int DEFAULT_LINE_WIDTH_AXES
Definition: LineStyle.cpp:23
LineStyle()
Default constructor only for use when this class is being stored by a container that requires the def...
Definition: LineStyle.cpp:26
ColorPalette
Definition: ColorPalette.h:12

◆ defaultGraphCurve()

LineStyle LineStyle::defaultGraphCurve ( int  index)
static

Initial default for index'th graph curve.

Definition at line 84 of file LineStyle.cpp.

85 {
86  SettingsForGraph settingsForGraph;
87  int indexOneBased = index + 1;
88  QString groupName = settingsForGraph.groupNameForNthCurve (indexOneBased);
89 
90  QSettings settings (SETTINGS_ENGAUGE, SETTINGS_DIGITIZER);
91  settings.beginGroup (groupName);
92  int width = settings.value (SETTINGS_CURVE_LINE_WIDTH,
93  DEFAULT_LINE_WIDTH_GRAPH).toInt();
94  ColorPalette color = static_cast<ColorPalette> (settings.value (SETTINGS_CURVE_LINE_COLOR,
95  DEFAULT_LINE_COLOR_GRAPH).toInt());
96  CurveConnectAs connectAs = static_cast<CurveConnectAs> (settings.value (SETTINGS_CURVE_LINE_CONNECT_AS,
98 
99  return LineStyle (unsigned (width),
100  color,
101  connectAs);
102 }
Manage storage and retrieval of the settings for the curves.
const ColorPalette DEFAULT_LINE_COLOR_GRAPH
Definition: LineStyle.cpp:20
unsigned int width() const
Width of line.
Definition: LineStyle.cpp:173
const QString SETTINGS_CURVE_LINE_WIDTH
const QString SETTINGS_CURVE_LINE_CONNECT_AS
const QString SETTINGS_DIGITIZER
const QString SETTINGS_CURVE_LINE_COLOR
const QString SETTINGS_ENGAUGE
CurveConnectAs
const int DEFAULT_LINE_WIDTH_GRAPH
Definition: LineStyle.cpp:24
QString groupNameForNthCurve(int indexOneBased) const
Return the group name, that appears in the settings file/registry, for the specified curve index.
LineStyle()
Default constructor only for use when this class is being stored by a container that requires the def...
Definition: LineStyle.cpp:26
const CurveConnectAs DEFAULT_LINE_CONNECT_AS_GRAPH
Definition: LineStyle.cpp:22
ColorPalette
Definition: ColorPalette.h:12

◆ loadXml()

void LineStyle::loadXml ( QXmlStreamReader &  reader)

Load model from serialized xml. Returns the curve name.

Definition at line 104 of file LineStyle.cpp.

105 {
106  LOG4CPP_INFO_S ((*mainCat)) << "LineStyle::loadXml";
107 
108  QXmlStreamAttributes attributes = reader.attributes();
109 
110  if (attributes.hasAttribute(DOCUMENT_SERIALIZE_LINE_STYLE_WIDTH) &&
111  attributes.hasAttribute(DOCUMENT_SERIALIZE_LINE_STYLE_COLOR) &&
112  attributes.hasAttribute(DOCUMENT_SERIALIZE_LINE_STYLE_CONNECT_AS)) {
113 
114  setWidth (attributes.value(DOCUMENT_SERIALIZE_LINE_STYLE_WIDTH).toInt());
115  setPaletteColor (static_cast<ColorPalette> (attributes.value(DOCUMENT_SERIALIZE_LINE_STYLE_COLOR).toInt()));
116  setCurveConnectAs (static_cast<CurveConnectAs> (attributes.value(DOCUMENT_SERIALIZE_LINE_STYLE_CONNECT_AS).toInt()));
117 
118  // Read until end of this subtree
119  while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
120  (reader.name() != DOCUMENT_SERIALIZE_LINE_STYLE)){
121  loadNextFromReader(reader);
122  }
123  } else {
124  reader.raiseError (QObject::tr ("Cannot read line style data"));
125  }
126 }
const QString DOCUMENT_SERIALIZE_LINE_STYLE_WIDTH
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
Definition: Xml.cpp:14
const QString DOCUMENT_SERIALIZE_LINE_STYLE_COLOR
#define LOG4CPP_INFO_S(logger)
Definition: convenience.h:18
const QString DOCUMENT_SERIALIZE_LINE_STYLE_CONNECT_AS
log4cpp::Category * mainCat
Definition: Logger.cpp:14
const QString DOCUMENT_SERIALIZE_LINE_STYLE
void setCurveConnectAs(CurveConnectAs curveConnectAs)
Set connect as.
Definition: LineStyle.cpp:158
void setPaletteColor(ColorPalette paletteColor)
Set method for line color.
Definition: LineStyle.cpp:163
void setWidth(int width)
Set width of line.
Definition: LineStyle.cpp:168

◆ operator=()

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

Assignment operator.

Definition at line 54 of file LineStyle.cpp.

55 {
56  m_width = other.width ();
57  m_paletteColor = other.paletteColor();
58  m_curveConnectAs = other.curveConnectAs();
59 
60  return *this;
61 }
CurveConnectAs curveConnectAs() const
Get method for connect type.
Definition: LineStyle.cpp:63
unsigned int width() const
Width of line.
Definition: LineStyle.cpp:173
ColorPalette paletteColor() const
Line color.
Definition: LineStyle.cpp:128

◆ paletteColor()

ColorPalette LineStyle::paletteColor ( ) const

Line color.

Definition at line 128 of file LineStyle.cpp.

129 {
130  return m_paletteColor;
131 }

◆ printStream()

void LineStyle::printStream ( QString  indentation,
QTextStream &  str 
) const

Debugging method that supports print method of this class and printStream method of some other class(es)

Definition at line 133 of file LineStyle.cpp.

135 {
136  str << indentation << "LineStyle\n";
137 
138  indentation += INDENTATION_DELTA;
139 
140  str << indentation << "width=" << m_width << "\n";
141  str << indentation << "color=" << colorPaletteToString (m_paletteColor) << "\n";
142  str << indentation << "curveConnectAs=" << curveConnectAsToString (m_curveConnectAs) << "\n";
143 }
QString colorPaletteToString(ColorPalette colorPalette)
Definition: ColorPalette.cpp:9
const QString INDENTATION_DELTA
QString curveConnectAsToString(CurveConnectAs curveConnectAs)

◆ saveXml()

void LineStyle::saveXml ( QXmlStreamWriter &  writer) const

Serialize to stream.

Definition at line 145 of file LineStyle.cpp.

146 {
147  LOG4CPP_INFO_S ((*mainCat)) << "LineStyle::saveXml";
148 
149  writer.writeStartElement(DOCUMENT_SERIALIZE_LINE_STYLE);
150  writer.writeAttribute (DOCUMENT_SERIALIZE_LINE_STYLE_WIDTH, QString::number(m_width));
151  writer.writeAttribute (DOCUMENT_SERIALIZE_LINE_STYLE_COLOR, QString::number (m_paletteColor));
152  writer.writeAttribute (DOCUMENT_SERIALIZE_LINE_STYLE_COLOR_STRING, colorPaletteToString (m_paletteColor));
153  writer.writeAttribute (DOCUMENT_SERIALIZE_LINE_STYLE_CONNECT_AS, QString::number (m_curveConnectAs));
154  writer.writeAttribute (DOCUMENT_SERIALIZE_LINE_STYLE_CONNECT_AS_STRING, curveConnectAsToString (m_curveConnectAs));
155  writer.writeEndElement();
156 }
const QString DOCUMENT_SERIALIZE_LINE_STYLE_WIDTH
QString colorPaletteToString(ColorPalette colorPalette)
Definition: ColorPalette.cpp:9
const QString DOCUMENT_SERIALIZE_LINE_STYLE_COLOR
#define LOG4CPP_INFO_S(logger)
Definition: convenience.h:18
const QString DOCUMENT_SERIALIZE_LINE_STYLE_COLOR_STRING
const QString DOCUMENT_SERIALIZE_LINE_STYLE_CONNECT_AS
const QString DOCUMENT_SERIALIZE_LINE_STYLE_CONNECT_AS_STRING
log4cpp::Category * mainCat
Definition: Logger.cpp:14
const QString DOCUMENT_SERIALIZE_LINE_STYLE
QString curveConnectAsToString(CurveConnectAs curveConnectAs)

◆ setCurveConnectAs()

void LineStyle::setCurveConnectAs ( CurveConnectAs  curveConnectAs)

Set connect as.

Definition at line 158 of file LineStyle.cpp.

159 {
160  m_curveConnectAs = curveConnectAs;
161 }
CurveConnectAs curveConnectAs() const
Get method for connect type.
Definition: LineStyle.cpp:63

◆ setPaletteColor()

void LineStyle::setPaletteColor ( ColorPalette  paletteColor)

Set method for line color.

Definition at line 163 of file LineStyle.cpp.

164 {
165  m_paletteColor = paletteColor;
166 }
ColorPalette paletteColor() const
Line color.
Definition: LineStyle.cpp:128

◆ setWidth()

void LineStyle::setWidth ( int  width)

Set width of line.

Definition at line 168 of file LineStyle.cpp.

169 {
170  m_width = unsigned (width);
171 }
unsigned int width() const
Width of line.
Definition: LineStyle.cpp:173

◆ width()

unsigned int LineStyle::width ( ) const

Width of line.

Definition at line 173 of file LineStyle.cpp.

174 {
175  return m_width;
176 }

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