7 #ifndef COORD_SYSTEM_INTERFACE_H
8 #define COORD_SYSTEM_INTERFACE_H
11 #include "CurveStyles.h"
12 #include "DocumentModelAxesChecker.h"
13 #include "DocumentModelColorFilter.h"
14 #include "DocumentModelCoords.h"
15 #include "DocumentModelDigitizeCurve.h"
16 #include "DocumentModelExportFormat.h"
17 #include "DocumentModelGeneral.h"
18 #include "DocumentModelGridDisplay.h"
19 #include "DocumentModelGridRemoval.h"
20 #include "DocumentModelPointMatch.h"
21 #include "DocumentModelSegments.h"
50 const QPointF &posGraph,
62 const QPointF &posGraph,
63 const QString &identifier,
69 const QPointF &posScreen,
70 QString &generatedIentifier,
75 const QPointF &posScreen,
76 const QString &identifier,
84 const QPointF &posGraph,
86 QString &errorMessage,
91 const QPointF &posScreen,
92 const QPointF &posGraph,
94 QString &errorMessage) = 0;
116 const QString &identifier) = 0;
122 virtual void iterateThroughCurvePointsAxes (
const Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback)
const = 0;
126 const Functor2wRet<const Point &, const Point &, CallbackSearchReturn> &ftorWithCallback)
const = 0;
171 virtual void movePoint (
const QString &pointIdentifier,
172 const QPointF &deltaScreen) = 0;
178 virtual QPointF
positionGraph (
const QString &pointIdentifier)
const = 0;
181 virtual QPointF
positionScreen (
const QString &pointIdentifier)
const = 0;
184 virtual void print ()
const = 0;
188 QTextStream &str)
const = 0;
203 virtual void saveXml (QXmlStreamWriter &writer)
const = 0;
258 #endif // COORD_SYSTEM_INTERFACE_H
Model for DlgSettingsGeneral and CmdSettingsGeneral.
virtual void addGraphCurveAtEnd(const QString &curveName)=0
Add new graph curve to the list of existing graph curves.
virtual void removePointGraph(const QString &identifier)=0
Perform the opposite of addPointGraph.
CoordSystemInterface()
Single constructor.
Model for DlgSettingsPointMatch and CmdSettingsPointMatch.
virtual DocumentModelDigitizeCurve modelDigitizeCurve() const =0
Get method for DocumentModelDigitizeCurve.
virtual void setCurvesGraphs(const CurvesGraphs &curvesGraphs)=0
Let CmdAbstract classes overwrite CurvesGraphs. Applies to current coordinate system.
Model for DlgSettingsGridDisplay and CmdSettingsGridDisplay.
virtual void saveXml(QXmlStreamWriter &writer) const =0
Save graph to xml.
virtual void setModelExport(const DocumentModelExportFormat &modelExport)=0
Set method for DocumentModelExportFormat.
virtual QStringList curvesGraphsNames() const =0
See CurvesGraphs::curvesGraphsNames.
virtual DocumentModelAxesChecker modelAxesChecker() const =0
Get method for DocumentModelAxesChecker.
Model for DlgSettingsCurveProperties and CmdSettingsCurveProperties.
virtual int nextOrdinalForCurve(const QString &curveName) const =0
Default next ordinal value for specified curve.
virtual int curvesGraphsNumPoints(const QString &curveName) const =0
See CurvesGraphs::curvesGraphsNumPoints.
virtual void addPointAxisWithGeneratedIdentifier(const QPointF &posScreen, const QPointF &posGraph, QString &identifier, double ordinal, bool isXOnly)=0
Add a single axis point with a generated point identifier.
virtual void addPointsInCurvesGraphs(CurvesGraphs &curvesGraphs)=0
Add all points identified in the specified CurvesGraphs. See also removePointsInCurvesGraphs.
virtual void setModelColorFilter(const DocumentModelColorFilter &modelColorFilter)=0
Set method for DocumentModelColorFilter.
virtual void setModelCurveStyles(const CurveStyles &modelCurveStyles)=0
Set method for CurveStyles.
Interface common to CoordSystemContext and CoordSystem classes.
virtual void setModelPointMatch(const DocumentModelPointMatch &modelPointMatch)=0
Set method for DocumentModelPointMatch.
virtual void movePoint(const QString &pointIdentifier, const QPointF &deltaScreen)=0
See Curve::movePoint.
virtual DocumentModelColorFilter modelColorFilter() const =0
Get method for DocumentModelColorFilter.
virtual void editPointAxis(const QPointF &posGraph, const QString &identifier)=0
Edit the graph coordinates of a single axis point. Call this after checkAddPointAxis to guarantee suc...
virtual void setModelSegments(const DocumentModelSegments &modelSegments)=0
Set method for DocumentModelSegments.
virtual QPointF positionGraph(const QString &pointIdentifier) const =0
See Curve::positionGraph.
virtual void setModelGridRemoval(const DocumentModelGridRemoval &modelGridRemoval)=0
Set method for DocumentModelGridRemoval.
virtual void setSelectedCurveName(const QString &selectedCurveName)=0
Save curve name that is selected for the current coordinate system, for the next time the coordinate ...
virtual void iterateThroughCurvesPointsGraphs(const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)=0
See Curve::iterateThroughCurvePoints, for all the graphs curves.
virtual void updatePointOrdinals(const Transformation &transformation)=0
Update point ordinals after point addition/removal or dragging.
virtual void setModelDigitizeCurve(const DocumentModelDigitizeCurve &modelDigitizeCurve)=0
Set method for DocumentModelDigitizeCurve.
virtual void setModelGridDisplay(const DocumentModelGridDisplay &modelGridDisplay)=0
Set method for DocumentModelGridDisplay.
Model for DlgSettingsDigitizeCurve and CmdSettingsDigitizeCurve.
virtual void checkEditPointAxis(const QString &pointIdentifier, const QPointF &posScreen, const QPointF &posGraph, bool &isError, QString &errorMessage)=0
Check before calling editPointAxis.
virtual bool loadCurvesFile(const QString &curvesFile)=0
Load the curve names in the specified Engauge file into the current graph. This is called near the en...
virtual DocumentModelPointMatch modelPointMatch() const =0
Get method for DocumentModelPointMatch.
Container for all graph curves. The axes point curve is external to this class.
Model for DlgSettingsColorFilter and CmdSettingsColorFilter.
virtual void removePointAxis(const QString &identifier)=0
Perform the opposite of addPointAxis.
virtual bool successfulRead() const =0
Return true if startup loading succeeded. If the loading failed then reasonForUnsuccessfulRed will ex...
virtual DocumentModelCoords modelCoords() const =0
Get method for DocumentModelCoords.
virtual const Curve & curveAxes() const =0
Get method for axis curve.
virtual void iterateThroughCurvePointsAxes(const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)=0
See Curve::iterateThroughCurvePoints, for the axes curve.
Model for DlgSettingsCoords and CmdSettingsCoords.
virtual DocumentModelExportFormat modelExport() const =0
Get method for DocumentModelExportFormat.
virtual QString reasonForUnsuccessfulRead() const =0
Return an informative text message explaining why startup loading failed. Applies if successfulRead r...
Container for one set of digitized Points.
virtual DocumentModelGeneral modelGeneral() const =0
Get method for DocumentModelGeneral.
virtual void setCurveAxes(const Curve &curveAxes)=0
Let CmdAbstract classes overwrite axes Curve. Applies to current coordinate system.
virtual QString selectedCurveName() const =0
Currently selected curve name. This is used to set the selected curve combobox in MainWindow...
Model for DlgSettingsAxesChecker and CmdSettingsAxesChecker.
virtual DocumentModelSegments modelSegments() const =0
Get method for DocumentModelSegments.
virtual Curve * curveForCurveName(const QString &curveName)=0
See CurvesGraphs::curveForCurveName, although this also works for AXIS_CURVE_NAME.
virtual const CurvesGraphs & curvesGraphs() const =0
Make all Curves available, read only, for CmdAbstract classes only.
virtual DocumentModelGridDisplay modelGridDisplay() const =0
Get method for DocumentModelGridDisplay.
virtual CurveStyles modelCurveStyles() const =0
Get method for CurveStyles.
virtual void printStream(QString indentation, QTextStream &str) const =0
Debugging method that supports print method of this class and printStream method of some other class(...
virtual void setModelCoords(const DocumentModelCoords &modelCoords)=0
Set method for DocumentModelCoords.
Model for DlgSettingsSegments and CmdSettingsSegments.
virtual void addPointGraphWithSpecifiedIdentifier(const QString &curveName, const QPointF &posScreen, const QString &identifier, double ordinal)=0
Add a single graph point with the specified point identifer. Note that PointStyle is not applied to t...
virtual void addPointAxisWithSpecifiedIdentifier(const QPointF &posScreen, const QPointF &posGraph, const QString &identifier, double ordinal, bool isXOnly)=0
Add a single axis point with the specified point identifier.
virtual void addPointGraphWithGeneratedIdentifier(const QString &curveName, const QPointF &posScreen, QString &generatedIentifier, double ordinal)=0
Add a single graph point with a generated point identifier.
virtual DocumentModelGridRemoval modelGridRemoval() const =0
Get method for DocumentModelGridRemoval.
virtual void removePointsInCurvesGraphs(CurvesGraphs &curvesGraphs)=0
Remove all points identified in the specified CurvesGraphs. See also addPointsInCurvesGraphs.
virtual void setModelGeneral(const DocumentModelGeneral &modelGeneral)=0
Set method for DocumentModelGeneral.
virtual QPointF positionScreen(const QString &pointIdentifier) const =0
See Curve::positionScreen.
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user...
virtual void setModelAxesChecker(const DocumentModelAxesChecker &modelAxesChecker)=0
Set method for DocumentModelAxesChecker.
virtual void print() const =0
Debugging method for printing directly from symbolic debugger.
virtual void checkAddPointAxis(const QPointF &posScreen, const QPointF &posGraph, bool &isError, QString &errorMessage, bool isXOnly)=0
Check before calling addPointAxis. Also returns the next available ordinal number (to prevent clashes...
virtual void iterateThroughCurveSegments(const QString &curveName, const Functor2wRet< const Point &, const Point &, CallbackSearchReturn > &ftorWithCallback) const =0
See Curve::iterateThroughCurveSegments, for any axes or graph curve.