Engauge Digitizer  2
ExportFileAbstractBase.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 EXPORT_FILE_ABSTRACT_BASE_H
8 #define EXPORT_FILE_ABSTRACT_BASE_H
9 
10 #include "CurveConnectAs.h"
11 #include "ExportHeader.h"
12 #include <QPointF>
13 #include <QStringList>
14 #include <QVector>
15 #include <vector>
16 
17 class Document;
20 class QTextStream;
21 class SplinePair;
22 class Transformation;
23 
26 {
27 public:
30  virtual ~ExportFileAbstractBase ();
31 
32 protected:
33 
35  QStringList curvesToInclude (const DocumentModelExportFormat &modelExportOverride,
36  const Document &document,
37  const QStringList &curvesGraphsNames,
38  CurveConnectAs curveConnectAs1,
39  CurveConnectAs curveConnectAs2) const;
40 
42  void destroy2DArray (QVector<QVector<QString*> > &array) const;
43 
45  QString gnuplotComment() const;
46 
48  void insertLineSeparator (bool isFirst,
49  ExportHeader exportHeader,
50  QTextStream &str) const;
51 
55  double linearlyInterpolateYRadiusFromTwoPoints (double xThetaValue,
56  const DocumentModelCoords &modelCoords,
57  const QPointF &posGraphBefore,
58  const QPointF &posGraph) const;
59 
63  QString wrapInDoubleQuotesIfNeeded (const DocumentModelExportFormat &modelExportOverride,
64  const QString &valueString) const;
65 };
66 
67 #endif // EXPORT_FILE_ABSTRACT_BASE_H
ExportFileAbstractBase::ExportFileAbstractBase
ExportFileAbstractBase()
Single constructor.
Definition: ExportFileAbstractBase.cpp:21
ExportFileAbstractBase::insertLineSeparator
void insertLineSeparator(bool isFirst, ExportHeader exportHeader, QTextStream &str) const
Insert line(s) between successive sets of curves.
Definition: ExportFileAbstractBase.cpp:81
SplinePair
Single X/Y pair for cubic spline interpolation initialization and calculations.
Definition: SplinePair.h:12
ExportFileAbstractBase::wrapInDoubleQuotesIfNeeded
QString wrapInDoubleQuotesIfNeeded(const DocumentModelExportFormat &modelExportOverride, const QString &valueString) const
RFC 4180 says if values are delimited by a comma AND a value has commas in it (for locale like Englis...
Definition: ExportFileAbstractBase.cpp:119
ExportFileAbstractBase
Strategy base class for exporting to a file. This class provides common methods.
Definition: ExportFileAbstractBase.h:24
Document
Storage of one imported image and the data attached to that image.
Definition: Document.h:40
Transformation
Affine transformation between screen and graph coordinates, based on digitized axis points.
Definition: Transformation.h:30
ExportFileAbstractBase::curvesToInclude
QStringList curvesToInclude(const DocumentModelExportFormat &modelExportOverride, const Document &document, const QStringList &curvesGraphsNames, CurveConnectAs curveConnectAs1, CurveConnectAs curveConnectAs2) const
Identify curves to include in export. The specified DocumentModelExportFormat overrides same data in ...
Definition: ExportFileAbstractBase.cpp:29
ExportHeader.h
ExportFileAbstractBase::gnuplotComment
QString gnuplotComment() const
Gnuplot comment delimiter.
Definition: ExportFileAbstractBase.cpp:76
DocumentModelExportFormat
Model for DlgSettingsExportFormat and CmdSettingsExportFormat.
Definition: DocumentModelExportFormat.h:22
ExportFileAbstractBase::linearlyInterpolateYRadiusFromTwoPoints
double linearlyInterpolateYRadiusFromTwoPoints(double xThetaValue, const DocumentModelCoords &modelCoords, const QPointF &posGraphBefore, const QPointF &posGraph) const
Interpolate (if xThetaValue is between posGraphBefore.x() and posGraph.x()) or extrapolate (if xTheta...
Definition: ExportFileAbstractBase.cpp:95
CurveConnectAs.h
ExportHeader
ExportHeader
Definition: ExportHeader.h:11
ExportFileAbstractBase::~ExportFileAbstractBase
virtual ~ExportFileAbstractBase()
Definition: ExportFileAbstractBase.cpp:25
CurveConnectAs
CurveConnectAs
Definition: CurveConnectAs.h:11
DocumentModelCoords
Model for DlgSettingsCoords and CmdSettingsCoords.
Definition: DocumentModelCoords.h:19
ExportFileAbstractBase::destroy2DArray
void destroy2DArray(QVector< QVector< QString * > > &array) const
Deallocate memory for array.
Definition: ExportFileAbstractBase.cpp:63