Engauge Digitizer  2
Public Member Functions | List of all members
CoordSystemContext Class Reference

This class plays the role of context class in a state machine, although the 'states' are actually different instantiations of the CoordSystem class. More...

#include <CoordSystemContext.h>

Inheritance diagram for CoordSystemContext:
CoordSystemInterface

Public Member Functions

 CoordSystemContext ()
 Default constructor for constructing from opened file.
 
void addCoordSystems (unsigned int numberCoordSystemToAdd)
 Add specified number of coordinate systems to the original one created by the constructor.
 
virtual void addGraphCurveAtEnd (const QString &curveName)
 Add new graph curve to the list of existing graph curves.
 
virtual void addPointAxisWithGeneratedIdentifier (const QPointF &posScreen, const QPointF &posGraph, QString &identifier, double ordinal, bool isXOnly)
 Add a single axis point with a generated point identifier. More...
 
virtual void addPointAxisWithSpecifiedIdentifier (const QPointF &posScreen, const QPointF &posGraph, const QString &identifier, double ordinal, bool isXOnly)
 Add a single axis point with the specified point identifier. More...
 
virtual void addPointGraphWithGeneratedIdentifier (const QString &curveName, const QPointF &posScreen, QString &generatedIentifier, double ordinal)
 Add a single graph point with a generated point identifier.
 
virtual void addPointGraphWithSpecifiedIdentifier (const QString &curveName, const QPointF &posScreen, const QString &identifier, double ordinal)
 Add a single graph point with the specified point identifer. Note that PointStyle is not applied to the point within the Graph.
 
virtual void addPointsInCurvesGraphs (CurvesGraphs &curvesGraphs)
 Add all points identified in the specified CurvesGraphs. See also removePointsInCurvesGraphs.
 
virtual void checkAddPointAxis (const QPointF &posScreen, const QPointF &posGraph, bool &isError, QString &errorMessage, bool isXOnly, DocumentAxesPointsRequired documentAxesPointsRequired)
 Check before calling addPointAxis. Also returns the next available ordinal number (to prevent clashes)
 
virtual void checkEditPointAxis (const QString &pointIdentifier, const QPointF &posScreen, const QPointF &posGraph, bool &isError, QString &errorMessage, DocumentAxesPointsRequired documentAxesPointsRequired)
 Check before calling editPointAxis.
 
const CoordSystemcoordSystem () const
 Current CoordSystem.
 
unsigned int coordSystemCount () const
 Number of CoordSystem.
 
CoordSystemIndex coordSystemIndex () const
 Index of current CoordSystem.
 
virtual const CurvecurveAxes () const
 Get method for axis curve.
 
virtual CurvecurveForCurveName (const QString &curveName)
 See CurvesGraphs::curveForCurveName, although this also works for AXIS_CURVE_NAME.
 
virtual const CurvecurveForCurveName (const QString &curveName) const
 See CurvesGraphs::curveForCurveNames, although this also works for AXIS_CURVE_NAME.
 
virtual const CurvesGraphscurvesGraphs () const
 Make all Curves available, read only, for CmdAbstract classes only.
 
virtual QStringList curvesGraphsNames () const
 See CurvesGraphs::curvesGraphsNames.
 
virtual int curvesGraphsNumPoints (const QString &curveName) const
 See CurvesGraphs::curvesGraphsNumPoints.
 
virtual void editPointAxis (const QPointF &posGraph, const QString &identifier)
 Edit the graph coordinates of a single axis point. Call this after checkAddPointAxis to guarantee success in this call.
 
virtual void editPointGraph (bool isX, bool isY, double x, double y, const QStringList &identifiers, const Transformation &transformation)
 Edit the graph coordinates of one or more graph points.
 
bool isXOnly (const QString &pointIdentifier) const
 True/false if y/x value is empty.
 
virtual void iterateThroughCurvePointsAxes (const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
 See Curve::iterateThroughCurvePoints, for the axes curve.
 
virtual void iterateThroughCurvePointsAxes (const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback) const
 See Curve::iterateThroughCurvePoints, for the axes curve.
 
virtual void iterateThroughCurveSegments (const QString &curveName, const Functor2wRet< const Point &, const Point &, CallbackSearchReturn > &ftorWithCallback) const
 See Curve::iterateThroughCurveSegments, for any axes or graph curve.
 
virtual void iterateThroughCurvesPointsGraphs (const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
 See Curve::iterateThroughCurvePoints, for all the graphs curves.
 
virtual void iterateThroughCurvesPointsGraphs (const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback) const
 See Curve::iterateThroughCurvePoints, for all the graphs curves.
 
virtual bool loadCurvesFile (const QString &curvesFile)
 Load the curve names in the specified Engauge file into the current graph. This is called near the end of the import process only.
 
void loadPreVersion6 (QDataStream &str, double version, DocumentAxesPointsRequired &documentAxesPointsRequired)
 Load from file in pre-version 6 format.
 
void loadVersion6 (QXmlStreamReader &reader, DocumentAxesPointsRequired &documentAxesPointsRequired)
 Load from file in version 6 format, into the single CoordSystem.
 
void loadVersions7AndUp (QXmlStreamReader &reader)
 Load one CoordSystem from file in version 7 format or newer, into the most recent CoordSystem which was just created before the call to this method.
 
virtual DocumentModelAxesChecker modelAxesChecker () const
 Get method for DocumentModelAxesChecker.
 
virtual DocumentModelColorFilter modelColorFilter () const
 Get method for DocumentModelColorFilter.
 
virtual DocumentModelCoords modelCoords () const
 Get method for DocumentModelCoords.
 
virtual CurveStyles modelCurveStyles () const
 Get method for CurveStyles.
 
virtual DocumentModelDigitizeCurve modelDigitizeCurve () const
 Get method for DocumentModelDigitizeCurve.
 
virtual DocumentModelExportFormat modelExport () const
 Get method for DocumentModelExportFormat.
 
virtual DocumentModelGeneral modelGeneral () const
 Get method for DocumentModelGeneral.
 
virtual DocumentModelGridDisplay modelGridDisplay () const
 Get method for DocumentModelGridDisplay.
 
virtual DocumentModelGridRemoval modelGridRemoval () const
 Get method for DocumentModelGridRemoval.
 
virtual DocumentModelPointMatch modelPointMatch () const
 Get method for DocumentModelPointMatch.
 
virtual DocumentModelSegments modelSegments () const
 Get method for DocumentModelSegments.
 
virtual void movePoint (const QString &pointIdentifier, const QPointF &deltaScreen)
 See Curve::movePoint.
 
virtual int nextOrdinalForCurve (const QString &curveName) const
 Default next ordinal value for specified curve.
 
virtual QPointF positionGraph (const QString &pointIdentifier) const
 See Curve::positionGraph.
 
virtual QPointF positionScreen (const QString &pointIdentifier) const
 See Curve::positionScreen.
 
virtual void print () const
 Debugging method for printing directly from symbolic debugger.
 
virtual void printStream (QString indentation, QTextStream &str) const
 Debugging method that supports print method of this class and printStream method of some other class(es)
 
virtual QString reasonForUnsuccessfulRead () const
 Return an informative text message explaining why startup loading failed. Applies if successfulRead returns false.
 
virtual void removePointAxis (const QString &identifier)
 Perform the opposite of addPointAxis.
 
virtual void removePointGraph (const QString &identifier)
 Perform the opposite of addPointGraph.
 
virtual void removePointsInCurvesGraphs (CurvesGraphs &curvesGraphs)
 Remove all points identified in the specified CurvesGraphs. See also addPointsInCurvesGraphs.
 
virtual void saveXml (QXmlStreamWriter &writer) const
 Save graph to xml.
 
virtual QString selectedCurveName () const
 Currently selected curve name. This is used to set the selected curve combobox in MainWindow.
 
void setCoordSystemIndex (CoordSystemIndex coordSystemIndex)
 Index of current CoordSystem.
 
virtual void setCurveAxes (const Curve &curveAxes)
 Let CmdAbstract classes overwrite axes Curve. Applies to current coordinate system.
 
virtual void setCurvesGraphs (const CurvesGraphs &curvesGraphs)
 Let CmdAbstract classes overwrite CurvesGraphs. Applies to current coordinate system.
 
virtual void setModelAxesChecker (const DocumentModelAxesChecker &modelAxesChecker)
 Set method for DocumentModelAxesChecker.
 
virtual void setModelColorFilter (const DocumentModelColorFilter &modelColorFilter)
 Set method for DocumentModelColorFilter.
 
virtual void setModelCoords (const DocumentModelCoords &modelCoords)
 Set method for DocumentModelCoords.
 
virtual void setModelCurveStyles (const CurveStyles &modelCurveStyles)
 Set method for CurveStyles.
 
virtual void setModelDigitizeCurve (const DocumentModelDigitizeCurve &modelDigitizeCurve)
 Set method for DocumentModelDigitizeCurve.
 
virtual void setModelExport (const DocumentModelExportFormat &modelExport)
 Set method for DocumentModelExportFormat.
 
virtual void setModelGeneral (const DocumentModelGeneral &modelGeneral)
 Set method for DocumentModelGeneral.
 
virtual void setModelGridDisplay (const DocumentModelGridDisplay &modelGridDisplay)
 Set method for DocumentModelGridDisplay.
 
virtual void setModelGridRemoval (const DocumentModelGridRemoval &modelGridRemoval)
 Set method for DocumentModelGridRemoval.
 
void setModelPointMatch (const DocumentModelPointMatch &modelPointMatch)
 Set method for DocumentModelPointMatch.
 
virtual void setModelSegments (const DocumentModelSegments &modelSegments)
 Set method for DocumentModelSegments.
 
virtual void setSelectedCurveName (const QString &selectedCurveName)
 Save curve name that is selected for the current coordinate system, for the next time the coordinate system reappears.
 
virtual bool successfulRead () const
 Return true if startup loading succeeded. If the loading failed then reasonForUnsuccessfulRed will explain why.
 
virtual void updatePointOrdinals (const Transformation &transformation)
 Update point ordinals after point addition/removal or dragging. More...
 
- Public Member Functions inherited from CoordSystemInterface
 CoordSystemInterface ()
 Single constructor.
 

Detailed Description

This class plays the role of context class in a state machine, although the 'states' are actually different instantiations of the CoordSystem class.

At any point in time, one CoordSystem is active (as selected by the user)

Definition at line 24 of file CoordSystemContext.h.

Member Function Documentation

◆ addPointAxisWithGeneratedIdentifier()

void CoordSystemContext::addPointAxisWithGeneratedIdentifier ( const QPointF &  posScreen,
const QPointF &  posGraph,
QString &  identifier,
double  ordinal,
bool  isXOnly 
)
virtual

Add a single axis point with a generated point identifier.

Call this after checkAddPointAxis to guarantee success in this call.

Parameters
posScreenScreen coordinates from QGraphicsView
posGraphGraph coordiantes from user
identifierIdentifier for new axis point
ordinalUnique, for curve, ordinal number
isXOnlyTrue if graph coordinates have only x coordinate

Implements CoordSystemInterface.

Definition at line 50 of file CoordSystemContext.cpp.

◆ addPointAxisWithSpecifiedIdentifier()

void CoordSystemContext::addPointAxisWithSpecifiedIdentifier ( const QPointF &  posScreen,
const QPointF &  posGraph,
const QString &  identifier,
double  ordinal,
bool  isXOnly 
)
virtual

Add a single axis point with the specified point identifier.

Call this after checkAddPointAxis to guarantee success in this call.

Parameters
posScreenScreen coordinates from QGraphicsView
posGraphGraph coordiantes from user
identifierIdentifier for new axis point
ordinalUnique, for curve, ordinal number
isXOnlyTrue if graph coordinates have only x coordinate

Implements CoordSystemInterface.

Definition at line 65 of file CoordSystemContext.cpp.

◆ updatePointOrdinals()

void CoordSystemContext::updatePointOrdinals ( const Transformation transformation)
virtual

Update point ordinals after point addition/removal or dragging.

See GraphicsScene::updatePointOrdinalsAfterDrag. Graph coordinates of point must be up to date

Implements CoordSystemInterface.

Definition at line 589 of file CoordSystemContext.cpp.


The documentation for this class was generated from the following files: