Engauge Digitizer  2
DocumentModelExportFormat.h
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 #ifndef DOCUMENT_MODEL_EXPORT_FORMAT_H
8 #define DOCUMENT_MODEL_EXPORT_FORMAT_H
9 
11 #include "ExportDelimiter.h"
12 #include "ExportHeader.h"
13 #include "ExportLayoutFunctions.h"
17 #include <QStringList>
18 
19 class Document;
20 class QTextStream;
21 
24 {
25 public:
28 
30  DocumentModelExportFormat(const Document &document);
31 
34 
37 
39  QStringList curveNamesNotExported() const;
40 
42  ExportDelimiter delimiter() const;
43 
45  bool extrapolateOutsideEndpoints() const;
46 
48  ExportHeader header() const;
49 
52 
53  virtual void loadXml(QXmlStreamReader &reader);
54 
56  bool overrideCsvTsv () const;
57 
59  double pointsIntervalFunctions () const;
60 
62  double pointsIntervalRelations () const;
63 
66 
69 
72 
75 
77  void printStream (QString indentation,
78  QTextStream &str) const;
79 
80  virtual void saveXml(QXmlStreamWriter &writer) const;
81 
83  void setCurveNamesNotExported(const QStringList &curveNamesNotExported);
84 
86  void setDelimiter(ExportDelimiter exportDelimiter);
87 
90 
92  void setHeader(ExportHeader exportHeader);
93 
95  void setLayoutFunctions(ExportLayoutFunctions exportLayoutFunctions);
96 
99 
102 
105 
108 
111 
113  void setPointsSelectionFunctions(ExportPointsSelectionFunctions exportPointsSelectionFunctions);
114 
116  void setPointsSelectionRelations(ExportPointsSelectionRelations exportPointsSelectionRelations);
117 
119  void setXLabel (const QString &xLabel);
120 
122  QString xLabel () const;
123 
124 private:
125 
126  // Curves to be excluded from export. New curves will not appear in this so they will be exported by default.
127  QStringList m_curveNamesNotExported;
128 
129  ExportPointsSelectionFunctions m_pointsSelectionFunctions;
130  double m_pointsIntervalFunctions;
131  ExportPointsIntervalUnits m_pointsIntervalUnitsFunctions;
132  ExportPointsSelectionRelations m_pointsSelectionRelations;
133  double m_pointsIntervalRelations;
134  ExportPointsIntervalUnits m_pointsIntervalUnitsRelations;
135  ExportLayoutFunctions m_layoutFunctions;
136  ExportDelimiter m_delimiter;
137  bool m_extrapolateOutsideEndpoints;
138  bool m_overrideCsvTsv;
139  ExportHeader m_header;
140  QString m_xLabel;
141 };
142 
143 #endif // DOCUMENT_MODEL_EXPORT_FORMAT_H
DocumentModelExportFormat::pointsSelectionFunctions
ExportPointsSelectionFunctions pointsSelectionFunctions() const
Get method for point selection for functions.
Definition: DocumentModelExportFormat.cpp:253
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
DocumentModelAbstractBase.h
DocumentModelExportFormat::setDelimiter
void setDelimiter(ExportDelimiter exportDelimiter)
Set method for delimiter.
Definition: DocumentModelExportFormat.cpp:342
ExportDelimiter.h
DocumentModelExportFormat::pointsIntervalFunctions
double pointsIntervalFunctions() const
Get method for points interval for functions.
Definition: DocumentModelExportFormat.cpp:233
ExportPointsIntervalUnits.h
ExportPointsSelectionRelations
ExportPointsSelectionRelations
Definition: ExportPointsSelectionRelations.h:11
ExportPointsSelectionRelations.h
Document
Storage of one imported image and the data attached to that image.
Definition: Document.h:40
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
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
ExportHeader.h
DocumentModelExportFormat::operator=
DocumentModelExportFormat & operator=(const DocumentModelExportFormat &other)
Assignment constructor.
Definition: DocumentModelExportFormat.cpp:95
ExportLayoutFunctions.h
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
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
DocumentModelExportFormat::setPointsIntervalRelations
void setPointsIntervalRelations(double pointsIntervalRelations)
Set method for relations interval for relations.
Definition: DocumentModelExportFormat.cpp:372
DocumentModelExportFormat::pointsIntervalUnitsFunctions
ExportPointsIntervalUnits pointsIntervalUnitsFunctions() const
Get method for points interval units for functions.
Definition: DocumentModelExportFormat.cpp:243
DocumentModelAbstractBase
Abstract base class for document models. This class enforces a common interface for the leaf subclass...
Definition: DocumentModelAbstractBase.h:15
ExportPointsSelectionFunctions.h
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
DocumentModelExportFormat::setPointsSelectionFunctions
void setPointsSelectionFunctions(ExportPointsSelectionFunctions exportPointsSelectionFunctions)
Set method for point selection for functions.
Definition: DocumentModelExportFormat.cpp:387
DocumentModelExportFormat::delimiter
ExportDelimiter delimiter() const
Get method for delimiter.
Definition: DocumentModelExportFormat.cpp:119
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
ExportHeader
ExportHeader
Definition: ExportHeader.h:11
DocumentModelExportFormat::DocumentModelExportFormat
DocumentModelExportFormat()
Default constructor.
Definition: DocumentModelExportFormat.cpp:26
DocumentModelExportFormat::header
ExportHeader header() const
Get method for header.
Definition: DocumentModelExportFormat.cpp:129
DocumentModelExportFormat::pointsIntervalRelations
double pointsIntervalRelations() const
Get method for relations interval for relations.
Definition: DocumentModelExportFormat.cpp:238
ExportLayoutFunctions
ExportLayoutFunctions
Definition: ExportLayoutFunctions.h:6
DocumentModelExportFormat::setPointsIntervalUnitsRelations
void setPointsIntervalUnitsRelations(ExportPointsIntervalUnits pointsIntervalUnitsRelations)
Set method for points interval units for relations.
Definition: DocumentModelExportFormat.cpp:382
DocumentModelExportFormat::overrideCsvTsv
bool overrideCsvTsv() const
Get method for csv/tsv format override.
Definition: DocumentModelExportFormat.cpp:228
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