00001
00002
00003
00004
00005
00006
00007 #ifndef COORD_SYSTEM_INTERFACE_H
00008 #define COORD_SYSTEM_INTERFACE_H
00009
00010 #include "CallbackSearchReturn.h"
00011 #include "CurveStyles.h"
00012 #include "DocumentModelAxesChecker.h"
00013 #include "DocumentModelColorFilter.h"
00014 #include "DocumentModelCoords.h"
00015 #include "DocumentModelDigitizeCurve.h"
00016 #include "DocumentModelExportFormat.h"
00017 #include "DocumentModelGeneral.h"
00018 #include "DocumentModelGridDisplay.h"
00019 #include "DocumentModelGridRemoval.h"
00020 #include "DocumentModelPointMatch.h"
00021 #include "DocumentModelSegments.h"
00022 #include "functor.h"
00023 #include "Point.h"
00024
00025 class Curve;
00026 class CurvesGraphs;
00027 class QPointF;
00028 class QString;
00029 class QStringList;
00030 class Transformation;
00031
00033 class CoordSystemInterface
00034 {
00035 public:
00037 CoordSystemInterface ();
00038 virtual ~CoordSystemInterface ();
00039
00041 virtual void addGraphCurveAtEnd (const QString &curveName) = 0;
00042
00049 virtual void addPointAxisWithGeneratedIdentifier (const QPointF &posScreen,
00050 const QPointF &posGraph,
00051 QString &identifier,
00052 double ordinal,
00053 bool isXOnly) = 0;
00054
00061 virtual void addPointAxisWithSpecifiedIdentifier (const QPointF &posScreen,
00062 const QPointF &posGraph,
00063 const QString &identifier,
00064 double ordinal,
00065 bool isXOnly) = 0;
00066
00068 virtual void addPointGraphWithGeneratedIdentifier (const QString &curveName,
00069 const QPointF &posScreen,
00070 QString &generatedIentifier,
00071 double ordinal) = 0;
00072
00074 virtual void addPointGraphWithSpecifiedIdentifier (const QString &curveName,
00075 const QPointF &posScreen,
00076 const QString &identifier,
00077 double ordinal) = 0;
00078
00080 virtual void addPointsInCurvesGraphs (CurvesGraphs &curvesGraphs) = 0;
00081
00083 virtual void checkAddPointAxis (const QPointF &posScreen,
00084 const QPointF &posGraph,
00085 bool &isError,
00086 QString &errorMessage,
00087 bool isXOnly) = 0;
00088
00090 virtual void checkEditPointAxis (const QString &pointIdentifier,
00091 const QPointF &posScreen,
00092 const QPointF &posGraph,
00093 bool &isError,
00094 QString &errorMessage) = 0;
00095
00097 virtual const Curve &curveAxes () const = 0;
00098
00100 virtual Curve *curveForCurveName (const QString &curveName) = 0;
00101
00103 virtual const Curve *curveForCurveName (const QString &curveName) const = 0;
00104
00106 virtual const CurvesGraphs &curvesGraphs () const = 0;
00107
00109 virtual QStringList curvesGraphsNames () const = 0;
00110
00112 virtual int curvesGraphsNumPoints (const QString &curveName) const = 0;
00113
00115 virtual void editPointAxis (const QPointF &posGraph,
00116 const QString &identifier) = 0;
00117
00119 virtual void iterateThroughCurvePointsAxes (const Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback) = 0;
00120
00122 virtual void iterateThroughCurvePointsAxes (const Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback) const = 0;
00123
00125 virtual void iterateThroughCurveSegments (const QString &curveName,
00126 const Functor2wRet<const Point &, const Point &, CallbackSearchReturn> &ftorWithCallback) const = 0;
00127
00129 virtual void iterateThroughCurvesPointsGraphs (const Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback) = 0;
00130
00132 virtual void iterateThroughCurvesPointsGraphs (const Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback) const = 0;
00133
00135 virtual bool loadCurvesFile (const QString &curvesFile) = 0;
00136
00138 virtual DocumentModelAxesChecker modelAxesChecker() const = 0;
00139
00141 virtual DocumentModelColorFilter modelColorFilter() const = 0;
00142
00144 virtual DocumentModelCoords modelCoords () const = 0;
00145
00147 virtual CurveStyles modelCurveStyles() const = 0;
00148
00150 virtual DocumentModelDigitizeCurve modelDigitizeCurve() const = 0;
00151
00153 virtual DocumentModelExportFormat modelExport() const = 0;
00154
00156 virtual DocumentModelGeneral modelGeneral() const = 0;
00157
00159 virtual DocumentModelGridDisplay modelGridDisplay() const = 0;
00160
00162 virtual DocumentModelGridRemoval modelGridRemoval() const = 0;
00163
00165 virtual DocumentModelPointMatch modelPointMatch() const = 0;
00166
00168 virtual DocumentModelSegments modelSegments() const = 0;
00169
00171 virtual void movePoint (const QString &pointIdentifier,
00172 const QPointF &deltaScreen) = 0;
00173
00175 virtual int nextOrdinalForCurve (const QString &curveName) const = 0;
00176
00178 virtual QPointF positionGraph (const QString &pointIdentifier) const = 0;
00179
00181 virtual QPointF positionScreen (const QString &pointIdentifier) const = 0;
00182
00184 virtual void print () const = 0;
00185
00187 virtual void printStream (QString indentation,
00188 QTextStream &str) const = 0;
00189
00191 virtual QString reasonForUnsuccessfulRead () const = 0;
00192
00194 virtual void removePointAxis (const QString &identifier) = 0;
00195
00197 virtual void removePointGraph (const QString &identifier) = 0;
00198
00200 virtual void removePointsInCurvesGraphs (CurvesGraphs &curvesGraphs) = 0;
00201
00203 virtual void saveXml (QXmlStreamWriter &writer) const = 0;
00204
00206 virtual QString selectedCurveName () const = 0;
00207
00209 virtual void setCurveAxes (const Curve &curveAxes) = 0;
00210
00212 virtual void setCurvesGraphs (const CurvesGraphs &curvesGraphs) = 0;
00213
00215 virtual void setModelAxesChecker(const DocumentModelAxesChecker &modelAxesChecker) = 0;
00216
00218 virtual void setModelColorFilter(const DocumentModelColorFilter &modelColorFilter) = 0;
00219
00221 virtual void setModelCoords (const DocumentModelCoords &modelCoords) = 0;
00222
00224 virtual void setModelCurveStyles(const CurveStyles &modelCurveStyles) = 0;
00225
00227 virtual void setModelDigitizeCurve (const DocumentModelDigitizeCurve &modelDigitizeCurve) = 0;
00228
00230 virtual void setModelExport(const DocumentModelExportFormat &modelExport) = 0;
00231
00233 virtual void setModelGeneral (const DocumentModelGeneral &modelGeneral) = 0;
00234
00236 virtual void setModelGridDisplay(const DocumentModelGridDisplay &modelGridDisplay) = 0;
00237
00239 virtual void setModelGridRemoval(const DocumentModelGridRemoval &modelGridRemoval) = 0;
00240
00242 virtual void setModelPointMatch(const DocumentModelPointMatch &modelPointMatch) = 0;
00243
00245 virtual void setModelSegments(const DocumentModelSegments &modelSegments) = 0;
00246
00248 virtual void setSelectedCurveName(const QString &selectedCurveName) = 0;
00249
00251 virtual bool successfulRead () const = 0;
00252
00255 virtual void updatePointOrdinals (const Transformation &transformation) = 0;
00256 };
00257
00258 #endif // COORD_SYSTEM_INTERFACE_H