Engauge Digitizer  2
CurveNameListEntry.cpp
1 #include "CurveNameListEntry.h"
2 #include "DocumentSerialize.h"
3 #include "EngaugeAssert.h"
4 #include "Logger.h"
5 #include <QStringList>
6 #include <QXmlStreamWriter>
7 
8 const QString DELIMITER ("\t");
9 
11  m_curveNameCurrent (""),
12  m_curveNameOriginal (""),
13  m_numPoints (0)
14 {
15 }
16 
17 CurveNameListEntry::CurveNameListEntry (const QString &curveNameCurrent,
18  const QString &curveNameOriginal,
19  int numPoints) :
20  m_curveNameCurrent (curveNameCurrent),
21  m_curveNameOriginal (curveNameOriginal),
22  m_numPoints (numPoints)
23 {
24 }
25 
26 CurveNameListEntry::CurveNameListEntry (const QString &fromText)
27 {
28  QStringList values = fromText.split (DELIMITER);
29  ENGAUGE_ASSERT (values.count () == 3);
30  m_curveNameCurrent = values.at (0);
31  m_curveNameOriginal = values.at (1);
32  m_numPoints = values.at (2).toInt();
33 }
34 
36 {
37  return m_curveNameCurrent;
38 }
39 
41 {
42  return m_curveNameOriginal;
43 }
44 
46 {
47  return m_numPoints;
48 }
49 
50 void CurveNameListEntry::saveXml(QXmlStreamWriter &writer) const
51 {
52  LOG4CPP_INFO_S ((*mainCat)) << "CurveNameListEntry::saveXml";
53 
54  writer.writeStartElement(DOCUMENT_SERIALIZE_CURVES_ENTRY);
55  writer.writeAttribute (DOCUMENT_SERIALIZE_CURVES_ENTRY_CURVE_NAME_CURRENT, m_curveNameCurrent);
56  writer.writeAttribute (DOCUMENT_SERIALIZE_CURVES_ENTRY_CURVE_NAME_ORIGINAL, m_curveNameOriginal);
57  writer.writeAttribute (DOCUMENT_SERIALIZE_CURVES_ENTRY_NUM_POINTS, QString::number (m_numPoints));
58  writer.writeEndElement();
59 }
60 
61 void CurveNameListEntry::setCurveNameCurrent (const QString &curveNameCurrent)
62 {
63  m_curveNameCurrent = curveNameCurrent;
64 }
65 
66 void CurveNameListEntry::setCurveNameOriginal (const QString &curveNameOriginal)
67 {
68  m_curveNameOriginal = curveNameOriginal;
69 }
70 
72 {
73  m_numPoints = numPoints;
74 }
75 
77 {
78  return QString ("%1%2%3%4%5")
79  .arg (m_curveNameCurrent)
80  .arg (DELIMITER)
81  .arg (m_curveNameOriginal)
82  .arg (DELIMITER)
83  .arg (m_numPoints);
84 }
void saveXml(QXmlStreamWriter &writer) const
Serialize into stream.
void setCurveNameCurrent(const QString &curveNameCurrent)
Set method for current curve name.
QString curveNameOriginal() const
Original curve name in document. Empty if there was no original curve.
CurveNameListEntry()
Constructor for empty entry.
QString toString() const
QString for creating QVariant.
int numPoints() const
Number of points in curve.
void setCurveNameOriginal(const QString &curveNameOriginal)
Set method for original curve name.
QString curveNameCurrent() const
Curve name displayed in DlgSettingsCurveAddRemove.
void setNumPoints(int numPoints)
Set method for point count.