Engauge Digitizer  2
DocumentModelExportFormat.cpp
Go to the documentation of this file.
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 "CmdMediator.h"
9 #include "DocumentSerialize.h"
10 #include "Logger.h"
11 #include <QObject>
12 #include <QSettings>
13 #include <QTextStream>
14 #include <QXmlStreamWriter>
15 #include "Settings.h"
16 #include "Xml.h"
17 
19 const double DEFAULT_POINTS_INTERVAL_FUNCTIONS = 10; // Consistent with DEFAULT_POINTS_INTERVAL_UNITS_FUNCTIONS
20 const double DEFAULT_POINTS_INTERVAL_RELATIONS = 10; // Consistent with DEFAULT_POINTS_INTERVAL_UNITS_RELATIONS
21 const QString DEFAULT_X_LABEL ("x");
24 const bool DEFAULT_EXPORT_DELIMITER_OVERRIDE = false; // Target beginner users who expect simplest behavior. Issue #169
25 const bool DEFAULT_EXTRAPOLATE = true; // Traditional behavior before version 11
26 
28 {
29  QSettings settings (SETTINGS_ENGAUGE, SETTINGS_DIGITIZER);
30  settings.beginGroup (SETTINGS_GROUP_EXPORT);
31 
32  // Sync these settings with DlgSettingsExportFormat::slotLoadDefault()
33  // and DlgSettingsExportFormat::slotSaveDefault()
34  m_curveNamesNotExported = settings.value (SETTINGS_EXPORT_CURVE_NAMES_NOT_EXPORTED,
35  QVariant (DEFAULT_CURVE_NAMES_NOT_EXPORTED)).toStringList();
36  m_delimiter = static_cast<ExportDelimiter> (settings.value (SETTINGS_EXPORT_DELIMITER,
37  QVariant (EXPORT_DELIMITER_COMMA)).toInt());
38  m_extrapolateOutsideEndpoints = settings.value (SETTINGS_EXPORT_EXTRAPOLATE_OUTSIDE_ENDPOINTS,
39  QVariant (DEFAULT_EXTRAPOLATE)).toBool();
40  m_overrideCsvTsv = settings.value (SETTINGS_EXPORT_DELIMITER_OVERRIDE_CSV_TSV,
41  QVariant (DEFAULT_EXPORT_DELIMITER_OVERRIDE)).toBool();
42  m_header = static_cast<ExportHeader> (settings.value (SETTINGS_EXPORT_HEADER,
43  QVariant (EXPORT_HEADER_SIMPLE)).toInt());
44  m_layoutFunctions = static_cast<ExportLayoutFunctions> (settings.value (SETTINGS_EXPORT_LAYOUT_FUNCTIONS,
45  QVariant (EXPORT_LAYOUT_ALL_PER_LINE)).toInt());
46  m_pointsIntervalFunctions = settings.value (SETTINGS_EXPORT_POINTS_INTERVAL_FUNCTIONS,
47  QVariant (DEFAULT_POINTS_INTERVAL_FUNCTIONS)).toDouble();
48  m_pointsIntervalRelations = settings.value (SETTINGS_EXPORT_POINTS_INTERVAL_RELATIONS,
49  QVariant (DEFAULT_POINTS_INTERVAL_RELATIONS)).toDouble();
50  m_pointsIntervalUnitsFunctions = static_cast<ExportPointsIntervalUnits> (settings.value (SETTINGS_EXPORT_POINTS_INTERVAL_UNITS_FUNCTIONS,
51  QVariant (DEFAULT_POINTS_INTERVAL_UNITS_FUNCTIONS)).toInt());
52  m_pointsIntervalUnitsRelations = static_cast<ExportPointsIntervalUnits> (settings.value (SETTINGS_EXPORT_POINTS_INTERVAL_UNITS_RELATIONS,
53  QVariant (DEFAULT_POINTS_INTERVAL_UNITS_RELATIONS)).toInt());
54  m_pointsSelectionFunctions = static_cast<ExportPointsSelectionFunctions> (settings.value (SETTINGS_EXPORT_POINTS_SELECTION_FUNCTIONS,
56  m_pointsSelectionRelations = static_cast<ExportPointsSelectionRelations> (settings.value (SETTINGS_EXPORT_POINTS_SELECTION_RELATIONS,
58  m_xLabel = settings.value (SETTINGS_EXPORT_X_LABEL,
59  QVariant (DEFAULT_X_LABEL)).toString();
60 }
61 
63  m_curveNamesNotExported (document.modelExport().curveNamesNotExported()),
64  m_pointsSelectionFunctions (document.modelExport().pointsSelectionFunctions()),
65  m_pointsIntervalFunctions (document.modelExport().pointsIntervalFunctions()),
66  m_pointsIntervalUnitsFunctions (document.modelExport().pointsIntervalUnitsFunctions()),
67  m_pointsSelectionRelations (document.modelExport().pointsSelectionRelations()),
68  m_pointsIntervalRelations (document.modelExport().pointsIntervalRelations()),
69  m_pointsIntervalUnitsRelations (document.modelExport().pointsIntervalUnitsRelations()),
70  m_layoutFunctions (document.modelExport().layoutFunctions()),
71  m_delimiter (document.modelExport().delimiter()),
72  m_extrapolateOutsideEndpoints (document.modelExport().extrapolateOutsideEndpoints()),
73  m_overrideCsvTsv (document.modelExport().overrideCsvTsv()),
74  m_header (document.modelExport().header()),
75  m_xLabel (document.modelExport().xLabel())
76 {
77 }
78 
80  m_curveNamesNotExported (other.curveNamesNotExported()),
81  m_pointsSelectionFunctions (other.pointsSelectionFunctions()),
82  m_pointsIntervalFunctions (other.pointsIntervalFunctions()),
83  m_pointsIntervalUnitsFunctions (other.pointsIntervalUnitsFunctions()),
84  m_pointsSelectionRelations (other.pointsSelectionRelations()),
85  m_pointsIntervalRelations (other.pointsIntervalRelations()),
86  m_pointsIntervalUnitsRelations (other.pointsIntervalUnitsRelations()),
87  m_layoutFunctions (other.layoutFunctions()),
88  m_delimiter (other.delimiter()),
89  m_extrapolateOutsideEndpoints (other.extrapolateOutsideEndpoints()),
90  m_overrideCsvTsv (other.overrideCsvTsv()),
91  m_header (other.header()),
92  m_xLabel (other.xLabel ())
93 {
94 }
95 
97 {
98  m_curveNamesNotExported = other.curveNamesNotExported();
99  m_pointsSelectionFunctions = other.pointsSelectionFunctions();
100  m_pointsIntervalFunctions = other.pointsIntervalFunctions();
101  m_pointsIntervalUnitsFunctions = other.pointsIntervalUnitsFunctions();
102  m_pointsSelectionRelations = other.pointsSelectionRelations();
103  m_pointsIntervalRelations = other.pointsIntervalRelations();
104  m_pointsIntervalUnitsRelations = other.pointsIntervalUnitsRelations();
105  m_layoutFunctions = other.layoutFunctions();
106  m_delimiter = other.delimiter();
107  m_extrapolateOutsideEndpoints = other.extrapolateOutsideEndpoints();
108  m_overrideCsvTsv = other.overrideCsvTsv();
109  m_header = other.header();
110  m_xLabel = other.xLabel();
111 
112  return *this;
113 }
114 
116 {
117  return m_curveNamesNotExported;
118 }
119 
121 {
122  return m_delimiter;
123 }
124 
126 {
127  return m_extrapolateOutsideEndpoints;
128 }
129 
131 {
132  return m_header;
133 }
134 
136 {
137  return m_layoutFunctions;
138 }
139 
140 void DocumentModelExportFormat::loadXml(QXmlStreamReader &reader)
141 {
142  LOG4CPP_INFO_S ((*mainCat)) << "DocumentModelExportFormat::loadXml";
143 
144  bool success = true;
145 
146  QXmlStreamAttributes attributes = reader.attributes();
147 
148  // DOCUMENT_SERIALIZE_EXPORT_EXTRAPOLATE_OUTSIDE_ENDPOINTS is specific to versions 11 and newer
149  if (attributes.hasAttribute(DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_FUNCTIONS) &&
150  attributes.hasAttribute(DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_FUNCTIONS) &&
152  attributes.hasAttribute(DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_RELATIONS) &&
153  attributes.hasAttribute(DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_RELATIONS) &&
155  attributes.hasAttribute(DOCUMENT_SERIALIZE_EXPORT_LAYOUT_FUNCTIONS) &&
156  attributes.hasAttribute(DOCUMENT_SERIALIZE_EXPORT_DELIMITER) &&
157  attributes.hasAttribute(DOCUMENT_SERIALIZE_EXPORT_HEADER) &&
158  attributes.hasAttribute(DOCUMENT_SERIALIZE_EXPORT_X_LABEL)) {
159 
160  setPointsSelectionFunctions (static_cast<ExportPointsSelectionFunctions> (attributes.value(DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_FUNCTIONS).toInt()));
162  setPointsIntervalUnitsFunctions (static_cast<ExportPointsIntervalUnits> (attributes.value(DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_UNITS_FUNCTIONS).toInt()));
163  setPointsSelectionRelations (static_cast<ExportPointsSelectionRelations> (attributes.value(DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_RELATIONS).toInt()));
165  setPointsIntervalUnitsRelations (static_cast<ExportPointsIntervalUnits> (attributes.value(DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_UNITS_RELATIONS).toInt()));
166  setLayoutFunctions (static_cast<ExportLayoutFunctions> (attributes.value(DOCUMENT_SERIALIZE_EXPORT_LAYOUT_FUNCTIONS).toInt()));
167  setDelimiter (static_cast<ExportDelimiter> (attributes.value (DOCUMENT_SERIALIZE_EXPORT_DELIMITER).toInt()));
168  if (attributes.hasAttribute(DOCUMENT_SERIALIZE_EXPORT_DELIMITER_OVERRIDE_CSV_TSV)) {
169 
170  // Boolean value
171  QString stringOverrideCsvTsv = attributes.value (DOCUMENT_SERIALIZE_EXPORT_DELIMITER_OVERRIDE_CSV_TSV).toString();
172 
173  setOverrideCsvTsv(stringOverrideCsvTsv == DOCUMENT_SERIALIZE_BOOL_TRUE);
174  }
175  if (attributes.hasAttribute(DOCUMENT_SERIALIZE_EXPORT_EXTRAPOLATE_OUTSIDE_ENDPOINTS)) {
176 
177  // Boolean value
178  QString stringExtrapolate = attributes.value (DOCUMENT_SERIALIZE_EXPORT_EXTRAPOLATE_OUTSIDE_ENDPOINTS).toString();
179 
181  }
182 
183  setHeader (static_cast<ExportHeader> (attributes.value(DOCUMENT_SERIALIZE_EXPORT_HEADER).toInt()));
184  setXLabel (attributes.value(DOCUMENT_SERIALIZE_EXPORT_X_LABEL).toString());
185 
186  // Read element containing excluded curve names
187  while ((loadNextFromReader (reader) != QXmlStreamReader::StartElement) ||
189 
190  if (reader.atEnd()) {
191  success = false;
192  break;
193  }
194  }
195 
196  if (success) {
197 
198  QStringList curveNamesNotExported;
199 
200  QXmlStreamReader::TokenType tokenType = loadNextFromReader(reader);
201  while (tokenType == QXmlStreamReader::StartElement) {
202 
204  curveNamesNotExported << reader.text().toString();
205  }
206  tokenType = loadNextFromReader(reader);
207  }
208 
209  // Save curve names
211 
212  // Read until end of this subtree
213  while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
214  (reader.name() != DOCUMENT_SERIALIZE_EXPORT)){
215  loadNextFromReader(reader);
216  if (reader.atEnd()) {
217  success = false;
218  break;
219  }
220  }
221  }
222  }
223 
224  if (!success) {
225  reader.raiseError (QObject::tr ("Cannot read export data"));
226  }
227 }
228 
230 {
231  return m_overrideCsvTsv;
232 }
233 
235 {
236  return m_pointsIntervalFunctions;
237 }
238 
240 {
241  return m_pointsIntervalRelations;
242 }
243 
245 {
246  return m_pointsIntervalUnitsFunctions;
247 }
248 
250 {
251  return m_pointsIntervalUnitsRelations;
252 }
253 
255 {
256  return m_pointsSelectionFunctions;
257 }
258 
260 {
261  return m_pointsSelectionRelations;
262 }
263 
264 void DocumentModelExportFormat::printStream(QString indentation,
265  QTextStream &str) const
266 {
267  str << indentation << "DocumentModelExportFormat\n";
268 
269  indentation += INDENTATION_DELTA;
270 
271  str << indentation << "curveNamesNotExported=";
272  QStringList::const_iterator itr;
273  for (itr = m_curveNamesNotExported.begin (); itr != m_curveNamesNotExported.end(); itr++) {
274  QString curveName = *itr;
275  str << indentation << curveName << " ";
276  }
277  str << "\n";
278 
279  str << indentation << "exportPointsSelectionFunctions="
280  << exportPointsSelectionFunctionsToString (m_pointsSelectionFunctions) << "\n";
281  str << indentation << "pointsIntervalFunctions=" << m_pointsIntervalFunctions << "\n";
282  str << indentation << "pointsIntervalUnitsFunctions="
283  << exportPointsIntervalUnitsToString (m_pointsIntervalUnitsFunctions) << "\n";
284  str << indentation << "exportPointsSelectionRelations="
285  << exportPointsSelectionRelationsToString (m_pointsSelectionRelations) << "\n";
286  str << indentation << "pointsIntervalRelations=" << m_pointsIntervalRelations << "\n";
287  str << indentation << "pointsIntervalUnitsRelations="
288  << exportPointsIntervalUnitsToString (m_pointsIntervalUnitsRelations) << "\n";
289  str << indentation << "exportLayoutFunctions=" << exportLayoutFunctionsToString (m_layoutFunctions) << "\n";
290  str << indentation << "exportDelimiter=" << exportDelimiterToString (m_delimiter) << "\n";
291  str << indentation << "exportExtrapolateOutsideEndpoints=" << (m_extrapolateOutsideEndpoints ? "yes" : "no") << "\n";
292  str << indentation << "overrideCsvTsv=" << (m_overrideCsvTsv ? "true" : "false") << "\n";
293  str << indentation << "exportHeader=" << exportHeaderToString (m_header) << "\n";
294  str << indentation << "xLabel=" << m_xLabel << "\n";
295 }
296 
297 void DocumentModelExportFormat::saveXml(QXmlStreamWriter &writer) const
298 {
299  LOG4CPP_INFO_S ((*mainCat)) << "DocumentModelExportFormat::saveXml";
300 
301  writer.writeStartElement(DOCUMENT_SERIALIZE_EXPORT);
302  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_FUNCTIONS, QString::number (m_pointsSelectionFunctions));
304  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_FUNCTIONS, QString::number (m_pointsIntervalFunctions));
305  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_UNITS_FUNCTIONS, QString::number (m_pointsIntervalUnitsFunctions));
306  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_RELATIONS, QString::number (m_pointsSelectionRelations));
308  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_UNITS_RELATIONS, QString::number (m_pointsIntervalUnitsRelations));
309  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_RELATIONS, QString::number (m_pointsIntervalRelations));
310  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_LAYOUT_FUNCTIONS, QString::number (m_layoutFunctions));
311  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_LAYOUT_FUNCTIONS_STRING, exportLayoutFunctionsToString (m_layoutFunctions));
312  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_DELIMITER, QString::number (m_delimiter));
313  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_DELIMITER_OVERRIDE_CSV_TSV, m_overrideCsvTsv ?
316  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_DELIMITER_STRING, exportDelimiterToString (m_delimiter));
317  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_EXTRAPOLATE_OUTSIDE_ENDPOINTS, m_extrapolateOutsideEndpoints ?
320  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_HEADER, QString::number (m_header));
321  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_HEADER_STRING, exportHeaderToString (m_header));
322  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_X_LABEL, m_xLabel);
323 
324  // Loop through curve names that are not to be exported
325  writer.writeStartElement(DOCUMENT_SERIALIZE_EXPORT_CURVE_NAMES_NOT_EXPORTED);
326  QStringList::const_iterator itr;
327  for (itr = m_curveNamesNotExported.begin (); itr != m_curveNamesNotExported.end (); itr++) {
328  QString curveNameNotExported = *itr;
329  writer.writeStartElement(DOCUMENT_SERIALIZE_EXPORT_CURVE_NAME_NOT_EXPORTED);
330  writer.writeAttribute(DOCUMENT_SERIALIZE_EXPORT_CURVE_NAME_NOT_EXPORTED_NAME, curveNameNotExported);
331  writer.writeEndElement();
332  }
333  writer.writeEndElement();
334 
335  writer.writeEndElement();
336 }
337 
338 void DocumentModelExportFormat::setCurveNamesNotExported(const QStringList &curveNamesNotExported)
339 {
340  m_curveNamesNotExported = curveNamesNotExported;
341 }
342 
344 {
345  m_delimiter = delimiter;
346 }
347 
348 void DocumentModelExportFormat::setExtrapolateOutsideEndpoints(bool extrapolateOutsideEndpoints)
349 {
350  m_extrapolateOutsideEndpoints = extrapolateOutsideEndpoints;
351 }
352 
354 {
355  m_header = header;
356 }
357 
359 {
360  m_layoutFunctions = layoutFunctions;
361 }
362 
363 void DocumentModelExportFormat::setOverrideCsvTsv(bool overrideCsvTsv)
364 {
365  m_overrideCsvTsv = overrideCsvTsv;
366 }
367 
368 void DocumentModelExportFormat::setPointsIntervalFunctions(double pointsIntervalFunctions)
369 {
370  m_pointsIntervalFunctions = pointsIntervalFunctions;
371 }
372 
373 void DocumentModelExportFormat::setPointsIntervalRelations(double pointsIntervalRelations)
374 {
375  m_pointsIntervalRelations = pointsIntervalRelations;
376 }
377 
379 {
380  m_pointsIntervalUnitsFunctions = pointsIntervalUnitsFunctions;
381 }
382 
384 {
385  m_pointsIntervalUnitsRelations = pointsIntervalUnitsRelations;
386 }
387 
389 {
390  m_pointsSelectionFunctions = pointsSelectionFunctions;
391 }
392 
394 {
395  m_pointsSelectionRelations = pointsSelectionRelations;
396 }
397 
398 void DocumentModelExportFormat::setXLabel (const QString &xLabel)
399 {
400  m_xLabel = xLabel;
401 }
402 
403 QString DocumentModelExportFormat::xLabel () const
404 {
405  return m_xLabel;
406 }
exportPointsSelectionFunctionsToString
QString exportPointsSelectionFunctionsToString(ExportPointsSelectionFunctions exportPointsSelectionFunctions)
Definition: ExportPointsSelectionFunctions.cpp:10
Settings.h
DocumentModelExportFormat::pointsSelectionFunctions
ExportPointsSelectionFunctions pointsSelectionFunctions() const
Get method for point selection for functions.
Definition: DocumentModelExportFormat.cpp:253
Xml.h
DocumentModelExportFormat::saveXml
virtual void saveXml(QXmlStreamWriter &writer) const
Save entire model as xml into stream.
Definition: DocumentModelExportFormat.cpp:296
ExportPointsIntervalUnits
ExportPointsIntervalUnits
Definition: ExportPointsIntervalUnits.h:11
DOCUMENT_SERIALIZE_EXPORT_X_LABEL
const QString DOCUMENT_SERIALIZE_EXPORT_X_LABEL
SETTINGS_EXPORT_POINTS_INTERVAL_UNITS_FUNCTIONS
const QString SETTINGS_EXPORT_POINTS_INTERVAL_UNITS_FUNCTIONS
DOCUMENT_SERIALIZE_EXPORT
const QString DOCUMENT_SERIALIZE_EXPORT
DocumentModelExportFormat::setDelimiter
void setDelimiter(ExportDelimiter exportDelimiter)
Set method for delimiter.
Definition: DocumentModelExportFormat.cpp:342
exportDelimiterToString
QString exportDelimiterToString(ExportDelimiter exportDelimiter)
Definition: ExportDelimiter.cpp:10
DOCUMENT_SERIALIZE_EXPORT_EXTRAPOLATE_OUTSIDE_ENDPOINTS
const QString DOCUMENT_SERIALIZE_EXPORT_EXTRAPOLATE_OUTSIDE_ENDPOINTS
DOCUMENT_SERIALIZE_EXPORT_HEADER
const QString DOCUMENT_SERIALIZE_EXPORT_HEADER
EXPORT_HEADER_SIMPLE
Definition: ExportHeader.h:16
DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_RELATIONS_STRING
const QString DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_RELATIONS_STRING
EXPORT_DELIMITER_COMMA
Definition: ExportDelimiter.h:17
DOCUMENT_SERIALIZE_BOOL_TRUE
const QString DOCUMENT_SERIALIZE_BOOL_TRUE
SETTINGS_EXPORT_EXTRAPOLATE_OUTSIDE_ENDPOINTS
const QString SETTINGS_EXPORT_EXTRAPOLATE_OUTSIDE_ENDPOINTS
SETTINGS_EXPORT_HEADER
const QString SETTINGS_EXPORT_HEADER
SETTINGS_EXPORT_CURVE_NAMES_NOT_EXPORTED
const QString SETTINGS_EXPORT_CURVE_NAMES_NOT_EXPORTED
exportPointsIntervalUnitsToString
QString exportPointsIntervalUnitsToString(ExportPointsIntervalUnits exportPointsIntervalUnits)
Definition: ExportPointsIntervalUnits.cpp:9
DocumentModelExportFormat::pointsIntervalFunctions
double pointsIntervalFunctions() const
Get method for points interval for functions.
Definition: DocumentModelExportFormat.cpp:233
DocumentModelExportFormat.h
SETTINGS_GROUP_EXPORT
const QString SETTINGS_GROUP_EXPORT
CmdMediator.h
ExportPointsSelectionRelations
ExportPointsSelectionRelations
Definition: ExportPointsSelectionRelations.h:11
SETTINGS_DIGITIZER
const QString SETTINGS_DIGITIZER
Document
Storage of one imported image and the data attached to that image.
Definition: Document.h:40
EXPORT_POINTS_SELECTION_RELATIONS_INTERPOLATE
Definition: ExportPointsSelectionRelations.h:15
DocumentModelExportFormat::setCurveNamesNotExported
void setCurveNamesNotExported(const QStringList &curveNamesNotExported)
Set method for curve names not exported.
Definition: DocumentModelExportFormat.cpp:337
DocumentModelExportFormat::setXLabel
void setXLabel(const QString &xLabel)
Set method for x label.
Definition: DocumentModelExportFormat.cpp:397
DocumentModelExportFormat::setPointsSelectionRelations
void setPointsSelectionRelations(ExportPointsSelectionRelations exportPointsSelectionRelations)
Set method for point selection for relations.
Definition: DocumentModelExportFormat.cpp:392
DEFAULT_POINTS_INTERVAL_UNITS_FUNCTIONS
const ExportPointsIntervalUnits DEFAULT_POINTS_INTERVAL_UNITS_FUNCTIONS
Definition: DocumentModelExportFormat.cpp:21
SETTINGS_EXPORT_POINTS_INTERVAL_UNITS_RELATIONS
const QString SETTINGS_EXPORT_POINTS_INTERVAL_UNITS_RELATIONS
DocumentSerialize.h
DocumentModelExportFormat::curveNamesNotExported
QStringList curveNamesNotExported() const
Get method for curve names not exported.
Definition: DocumentModelExportFormat.cpp:114
DocumentModelExportFormat::setExtrapolateOutsideEndpoints
void setExtrapolateOutsideEndpoints(bool extrapolateOutsideEndpoints)
Set methods for extrapolation.
Definition: DocumentModelExportFormat.cpp:347
DocumentModelExportFormat::printStream
void printStream(QString indentation, QTextStream &str) const
Debugging method that supports print method of this class and printStream method of some other class(...
Definition: DocumentModelExportFormat.cpp:263
DocumentModelExportFormat::pointsSelectionRelations
ExportPointsSelectionRelations pointsSelectionRelations() const
Get method for point selection for relations.
Definition: DocumentModelExportFormat.cpp:258
SETTINGS_EXPORT_POINTS_SELECTION_RELATIONS
const QString SETTINGS_EXPORT_POINTS_SELECTION_RELATIONS
DEFAULT_EXTRAPOLATE
const bool DEFAULT_EXTRAPOLATE
Definition: DocumentModelExportFormat.cpp:24
exportLayoutFunctionsToString
QString exportLayoutFunctionsToString(ExportLayoutFunctions exportLayoutFunctions)
Definition: ExportLayoutFunctions.cpp:9
DOCUMENT_SERIALIZE_EXPORT_DELIMITER_OVERRIDE_CSV_TSV
const QString DOCUMENT_SERIALIZE_EXPORT_DELIMITER_OVERRIDE_CSV_TSV
DocumentModelExportFormat::operator=
DocumentModelExportFormat & operator=(const DocumentModelExportFormat &other)
Assignment constructor.
Definition: DocumentModelExportFormat.cpp:95
DocumentModelExportFormat::setPointsIntervalUnitsFunctions
void setPointsIntervalUnitsFunctions(ExportPointsIntervalUnits pointsIntervalUnitsFunctions)
Set method for points interval units for functions.
Definition: DocumentModelExportFormat.cpp:377
DocumentModelExportFormat::loadXml
virtual void loadXml(QXmlStreamReader &reader)
Load model from serialized xml.
Definition: DocumentModelExportFormat.cpp:139
DocumentModelExportFormat::layoutFunctions
ExportLayoutFunctions layoutFunctions() const
Get method for functions layout.
Definition: DocumentModelExportFormat.cpp:134
DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_UNITS_FUNCTIONS
const QString DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_UNITS_FUNCTIONS
Logger.h
DOCUMENT_SERIALIZE_EXPORT_CURVE_NAME_NOT_EXPORTED
const QString DOCUMENT_SERIALIZE_EXPORT_CURVE_NAME_NOT_EXPORTED
DocumentModelExportFormat::setPointsIntervalFunctions
void setPointsIntervalFunctions(double pointsIntervalFunctions)
Set method for points interval for functions.
Definition: DocumentModelExportFormat.cpp:367
DocumentModelExportFormat::pointsIntervalUnitsRelations
ExportPointsIntervalUnits pointsIntervalUnitsRelations() const
Get method for points interval units for relations.
Definition: DocumentModelExportFormat.cpp:248
DEFAULT_EXPORT_DELIMITER_OVERRIDE
const bool DEFAULT_EXPORT_DELIMITER_OVERRIDE
Definition: DocumentModelExportFormat.cpp:23
DocumentModelExportFormat::setPointsIntervalRelations
void setPointsIntervalRelations(double pointsIntervalRelations)
Set method for relations interval for relations.
Definition: DocumentModelExportFormat.cpp:372
DOCUMENT_SERIALIZE_EXPORT_LAYOUT_FUNCTIONS
const QString DOCUMENT_SERIALIZE_EXPORT_LAYOUT_FUNCTIONS
EXPORT_POINTS_SELECTION_FUNCTIONS_INTERPOLATE_ALL_CURVES
Definition: ExportPointsSelectionFunctions.h:15
DOCUMENT_SERIALIZE_EXPORT_CURVE_NAME_NOT_EXPORTED_NAME
const QString DOCUMENT_SERIALIZE_EXPORT_CURVE_NAME_NOT_EXPORTED_NAME
LOG4CPP_INFO_S
#define LOG4CPP_INFO_S(logger)
Definition: convenience.h:18
EXPORT_LAYOUT_ALL_PER_LINE
Definition: ExportLayoutFunctions.h:7
DocumentModelExportFormat::pointsIntervalUnitsFunctions
ExportPointsIntervalUnits pointsIntervalUnitsFunctions() const
Get method for points interval units for functions.
Definition: DocumentModelExportFormat.cpp:243
SETTINGS_ENGAUGE
const QString SETTINGS_ENGAUGE
DocumentModelExportFormat
Model for DlgSettingsExportFormat and CmdSettingsExportFormat.
Definition: DocumentModelExportFormat.h:22
DocumentModelExportFormat::xLabel
QString xLabel() const
Get method for x label.
Definition: DocumentModelExportFormat.cpp:402
ExportPointsSelectionFunctions
ExportPointsSelectionFunctions
Definition: ExportPointsSelectionFunctions.h:11
DOCUMENT_SERIALIZE_EXPORT_CURVE_NAMES_NOT_EXPORTED
const QString DOCUMENT_SERIALIZE_EXPORT_CURVE_NAMES_NOT_EXPORTED
DOCUMENT_SERIALIZE_EXPORT_LAYOUT_FUNCTIONS_STRING
const QString DOCUMENT_SERIALIZE_EXPORT_LAYOUT_FUNCTIONS_STRING
mainCat
log4cpp::Category * mainCat
Definition: Logger.cpp:14
DEFAULT_X_LABEL
const QString DEFAULT_X_LABEL("x")
DocumentModelExportFormat::setPointsSelectionFunctions
void setPointsSelectionFunctions(ExportPointsSelectionFunctions exportPointsSelectionFunctions)
Set method for point selection for functions.
Definition: DocumentModelExportFormat.cpp:387
EXPORT_POINTS_INTERVAL_UNITS_SCREEN
Definition: ExportPointsIntervalUnits.h:16
DOCUMENT_SERIALIZE_EXPORT_DELIMITER_STRING
const QString DOCUMENT_SERIALIZE_EXPORT_DELIMITER_STRING
DOCUMENT_SERIALIZE_EXPORT_DELIMITER
const QString DOCUMENT_SERIALIZE_EXPORT_DELIMITER
DocumentModelExportFormat::delimiter
ExportDelimiter delimiter() const
Get method for delimiter.
Definition: DocumentModelExportFormat.cpp:119
SETTINGS_EXPORT_POINTS_SELECTION_FUNCTIONS
const QString SETTINGS_EXPORT_POINTS_SELECTION_FUNCTIONS
DocumentModelExportFormat::setHeader
void setHeader(ExportHeader exportHeader)
Set method for header.
Definition: DocumentModelExportFormat.cpp:352
DocumentModelExportFormat::setLayoutFunctions
void setLayoutFunctions(ExportLayoutFunctions exportLayoutFunctions)
Set method for functions layout.
Definition: DocumentModelExportFormat.cpp:357
ExportDelimiter
ExportDelimiter
Delimiter values that may or may not be overridden by DOCUMENT_SERIALIZE_EXPORT_DELIMITER_OVERRIDE_CS...
Definition: ExportDelimiter.h:13
SETTINGS_EXPORT_X_LABEL
const QString SETTINGS_EXPORT_X_LABEL
ExportHeader
ExportHeader
Definition: ExportHeader.h:11
INDENTATION_DELTA
const QString INDENTATION_DELTA
DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_FUNCTIONS
const QString DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_FUNCTIONS
DocumentModelExportFormat::DocumentModelExportFormat
DocumentModelExportFormat()
Default constructor.
Definition: DocumentModelExportFormat.cpp:26
SETTINGS_EXPORT_LAYOUT_FUNCTIONS
const QString SETTINGS_EXPORT_LAYOUT_FUNCTIONS
DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_FUNCTIONS_STRING
const QString DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_FUNCTIONS_STRING
DocumentModelExportFormat::header
ExportHeader header() const
Get method for header.
Definition: DocumentModelExportFormat.cpp:129
DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_RELATIONS
const QString DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_RELATIONS
DEFAULT_POINTS_INTERVAL_RELATIONS
const double DEFAULT_POINTS_INTERVAL_RELATIONS
Definition: DocumentModelExportFormat.cpp:19
DocumentModelExportFormat::pointsIntervalRelations
double pointsIntervalRelations() const
Get method for relations interval for relations.
Definition: DocumentModelExportFormat.cpp:238
DEFAULT_CURVE_NAMES_NOT_EXPORTED
const QStringList DEFAULT_CURVE_NAMES_NOT_EXPORTED
Definition: DocumentModelExportFormat.cpp:17
exportHeaderToString
QString exportHeaderToString(ExportHeader exportHeader)
Definition: ExportHeader.cpp:9
DEFAULT_POINTS_INTERVAL_UNITS_RELATIONS
const ExportPointsIntervalUnits DEFAULT_POINTS_INTERVAL_UNITS_RELATIONS
Definition: DocumentModelExportFormat.cpp:22
DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_UNITS_RELATIONS
const QString DOCUMENT_SERIALIZE_EXPORT_POINTS_INTERVAL_UNITS_RELATIONS
SETTINGS_EXPORT_POINTS_INTERVAL_RELATIONS
const QString SETTINGS_EXPORT_POINTS_INTERVAL_RELATIONS
DEFAULT_POINTS_INTERVAL_FUNCTIONS
const double DEFAULT_POINTS_INTERVAL_FUNCTIONS
Definition: DocumentModelExportFormat.cpp:18
ExportLayoutFunctions
ExportLayoutFunctions
Definition: ExportLayoutFunctions.h:6
DOCUMENT_SERIALIZE_BOOL_FALSE
const QString DOCUMENT_SERIALIZE_BOOL_FALSE
SETTINGS_EXPORT_DELIMITER
const QString SETTINGS_EXPORT_DELIMITER
DOCUMENT_SERIALIZE_EXPORT_HEADER_STRING
const QString DOCUMENT_SERIALIZE_EXPORT_HEADER_STRING
DocumentModelExportFormat::setPointsIntervalUnitsRelations
void setPointsIntervalUnitsRelations(ExportPointsIntervalUnits pointsIntervalUnitsRelations)
Set method for points interval units for relations.
Definition: DocumentModelExportFormat.cpp:382
loadNextFromReader
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
Definition: Xml.cpp:14
DocumentModelExportFormat::overrideCsvTsv
bool overrideCsvTsv() const
Get method for csv/tsv format override.
Definition: DocumentModelExportFormat.cpp:228
DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_RELATIONS
const QString DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_RELATIONS
SETTINGS_EXPORT_POINTS_INTERVAL_FUNCTIONS
const QString SETTINGS_EXPORT_POINTS_INTERVAL_FUNCTIONS
DocumentModelExportFormat::extrapolateOutsideEndpoints
bool extrapolateOutsideEndpoints() const
Get methods for extrapolation.
Definition: DocumentModelExportFormat.cpp:124
DocumentModelExportFormat::setOverrideCsvTsv
void setOverrideCsvTsv(bool overrideCsvTsv)
Set method for csv/tsv format override.
Definition: DocumentModelExportFormat.cpp:362
exportPointsSelectionRelationsToString
QString exportPointsSelectionRelationsToString(ExportPointsSelectionRelations exportPointsSelectionRelations)
Definition: ExportPointsSelectionRelations.cpp:10
DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_FUNCTIONS
const QString DOCUMENT_SERIALIZE_EXPORT_POINTS_SELECTION_FUNCTIONS
SETTINGS_EXPORT_DELIMITER_OVERRIDE_CSV_TSV
const QString SETTINGS_EXPORT_DELIMITER_OVERRIDE_CSV_TSV