Engauge Digitizer  2
CurveNameListEntry.cpp
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #include "CurveNameListEntry.h"
8 #include "DocumentSerialize.h"
9 #include "EngaugeAssert.h"
10 #include "Logger.h"
11 #include <QStringList>
12 #include <QXmlStreamWriter>
13 
14 const int NUM_POINTS_UNDEFINED = -1; // Negative value indicates row is not yet been populated (since actual range is 0 or more)
15 const QString DELIMITER ("\t");
16 
18  m_curveNameCurrent (""),
19  m_curveNameOriginal (""),
20  m_numPoints (NUM_POINTS_UNDEFINED)
21 {
22 }
23 
25  const QString &curveNameOriginal,
26  int numPoints) :
27  m_curveNameCurrent (curveNameCurrent),
28  m_curveNameOriginal (curveNameOriginal),
29  m_numPoints (numPoints)
30 {
31 }
32 
33 CurveNameListEntry::CurveNameListEntry (const QString &fromText)
34 {
35  QStringList values = fromText.split (DELIMITER);
36  ENGAUGE_ASSERT (values.count () == 3);
37  m_curveNameCurrent = values.at (0);
38  m_curveNameOriginal = values.at (1);
39  m_numPoints = values.at (2).toInt();
40 }
41 
43 {
44  return m_curveNameCurrent;
45 }
46 
48 {
49  return m_curveNameOriginal;
50 }
51 
53 {
54  return m_numPoints < 0; // See comment about NUM_POINTS_UNDEFINED
55 }
56 
58 {
59  return m_numPoints;
60 }
61 
63 {
64  m_curveNameCurrent = curveNameCurrent;
65 }
66 
68 {
69  m_curveNameOriginal = curveNameOriginal;
70 }
71 
73 {
74  m_numPoints = numPoints;
75 }
76 
78 {
79  return QString ("%1%2%3%4%5")
80  .arg (m_curveNameCurrent)
81  .arg (DELIMITER)
82  .arg (m_curveNameOriginal)
83  .arg (DELIMITER)
84  .arg (m_numPoints);
85 }
bool entryHasNotBeenPopulated() const
Return true if entry is unpopulated. This is true between insertRows (where added to model) and setDa...
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.