00001 /****************************************************************************************************** 00002 * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released * 00003 * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file * 00004 * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. * 00005 ******************************************************************************************************/ 00006 00007 #include "CurveNameListEntry.h" 00008 #include "DocumentSerialize.h" 00009 #include "EngaugeAssert.h" 00010 #include "Logger.h" 00011 #include <QStringList> 00012 #include <QXmlStreamWriter> 00013 00014 const int NUM_POINTS_UNDEFINED = -1; // Negative value indicates row is not yet been populated (since actual range is 0 or more) 00015 const QString DELIMITER ("\t"); 00016 00017 CurveNameListEntry:: CurveNameListEntry () : 00018 m_curveNameCurrent (""), 00019 m_curveNameOriginal (""), 00020 m_numPoints (NUM_POINTS_UNDEFINED) 00021 { 00022 } 00023 00024 CurveNameListEntry::CurveNameListEntry (const QString &curveNameCurrent, 00025 const QString &curveNameOriginal, 00026 int numPoints) : 00027 m_curveNameCurrent (curveNameCurrent), 00028 m_curveNameOriginal (curveNameOriginal), 00029 m_numPoints (numPoints) 00030 { 00031 } 00032 00033 CurveNameListEntry::CurveNameListEntry (const QString &fromText) 00034 { 00035 QStringList values = fromText.split (DELIMITER); 00036 ENGAUGE_ASSERT (values.count () == 3); 00037 m_curveNameCurrent = values.at (0); 00038 m_curveNameOriginal = values.at (1); 00039 m_numPoints = values.at (2).toInt(); 00040 } 00041 00042 QString CurveNameListEntry::curveNameCurrent () const 00043 { 00044 return m_curveNameCurrent; 00045 } 00046 00047 QString CurveNameListEntry::curveNameOriginal () const 00048 { 00049 return m_curveNameOriginal; 00050 } 00051 00052 bool CurveNameListEntry::entryHasNotBeenPopulated () const 00053 { 00054 return m_numPoints < 0; // See comment about NUM_POINTS_UNDEFINED 00055 } 00056 00057 int CurveNameListEntry::numPoints () const 00058 { 00059 return m_numPoints; 00060 } 00061 00062 void CurveNameListEntry::setCurveNameCurrent (const QString &curveNameCurrent) 00063 { 00064 m_curveNameCurrent = curveNameCurrent; 00065 } 00066 00067 void CurveNameListEntry::setCurveNameOriginal (const QString &curveNameOriginal) 00068 { 00069 m_curveNameOriginal = curveNameOriginal; 00070 } 00071 00072 void CurveNameListEntry::setNumPoints (int numPoints) 00073 { 00074 m_numPoints = numPoints; 00075 } 00076 00077 QString CurveNameListEntry::toString () const 00078 { 00079 return QString ("%1%2%3%4%5") 00080 .arg (m_curveNameCurrent) 00081 .arg (DELIMITER) 00082 .arg (m_curveNameOriginal) 00083 .arg (DELIMITER) 00084 .arg (m_numPoints); 00085 }