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

Storage of one imported image and the data attached to that image. More...

#include <Document.h>

Public Member Functions

 Document (const QImage &image)
 Constructor for imported images and dragged images. Only one coordinate system is create - others are added later externally.
 
 Document (const QString &fileName)
 Constructor for opened Documents, and error report files. The specified file is opened and read.
 
void addCoordSystems (unsigned int numberCoordSystemToAdd)
 Add some number (0 or more) of additional coordinate systems. More...
 
void addGraphCurveAtEnd (const QString &curveName)
 Add new graph curve to the list of existing graph curves.
 
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...
 
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...
 
void addPointGraphWithGeneratedIdentifier (const QString &curveName, const QPointF &posScreen, QString &generatedIentifier, double ordinal)
 Add a single graph point with a generated point identifier.
 
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 Document.
 
void addPointsInCurvesGraphs (CurvesGraphs &curvesGraphs)
 Add all points identified in the specified CurvesGraphs. See also removePointsInCurvesGraphs.
 
void addScaleWithGeneratedIdentifier (const QPointF &posScreen0, const QPointF &posScreen1, double scaleLength, QString &identifier0, QString &identifier1, double ordinal0, double ordinal1)
 Add scale with a generated point identifier. More...
 
void checkAddPointAxis (const QPointF &posScreen, const QPointF &posGraph, bool &isError, QString &errorMessage, bool isXOnly)
 Check before calling addPointAxis. Also returns the next available ordinal number (to prevent clashes)
 
void checkEditPointAxis (const QString &pointIdentifier, const QPointF &posScreen, const QPointF &posGraph, bool &isError, QString &errorMessage)
 Check before calling editPointAxis.
 
const CoordSystemcoordSystem () const
 Currently active CoordSystem.
 
unsigned int coordSystemCount () const
 Number of CoordSystem.
 
CoordSystemIndex coordSystemIndex () const
 Index of current active CoordSystem.
 
const CurvecurveAxes () const
 Get method for axis curve.
 
const CurvecurveForCurveName (const QString &curveName) const
 See CurvesGraphs::curveForCurveNames, although this also works for AXIS_CURVE_NAME.
 
const CurvesGraphscurvesGraphs () const
 Make all Curves available, read only, for CmdAbstract classes only.
 
QStringList curvesGraphsNames () const
 See CurvesGraphs::curvesGraphsNames.
 
int curvesGraphsNumPoints (const QString &curveName) const
 See CurvesGraphs::curvesGraphsNumPoints.
 
DocumentAxesPointsRequired documentAxesPointsRequired () const
 Get method for DocumentAxesPointsRequired.
 
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.
 
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.
 
void initializeGridDisplay (const Transformation &transformation)
 Initialize grid display. This is called immediately after the transformation has been defined for the first time.
 
bool isXOnly (const QString &pointIdentifier) const
 See Curve::isXOnly.
 
void iterateThroughCurvePointsAxes (const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
 See Curve::iterateThroughCurvePoints, for the axes curve.
 
void iterateThroughCurvePointsAxes (const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback) const
 See Curve::iterateThroughCurvePoints, for the axes curve.
 
void iterateThroughCurveSegments (const QString &curveName, const Functor2wRet< const Point &, const Point &, CallbackSearchReturn > &ftorWithCallback) const
 See Curve::iterateThroughCurveSegments, for any axes or graph curve.
 
void iterateThroughCurvesPointsGraphs (const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
 See Curve::iterateThroughCurvePoints, for all the graphs curves.
 
void iterateThroughCurvesPointsGraphs (const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback) const
 See Curve::iterateThroughCurvePoints, for all the graphs curves.
 
bool loadCurvesFile (const QString &curvesFile)
 Load the curve names in the specified Engauge file into the current document. This is called near the end of the import process only.
 
DocumentModelAxesChecker modelAxesChecker () const
 Get method for DocumentModelAxesChecker.
 
DocumentModelColorFilter modelColorFilter () const
 Get method for DocumentModelColorFilter.
 
DocumentModelCoords modelCoords () const
 Get method for DocumentModelCoords.
 
CurveStyles modelCurveStyles () const
 Get method for CurveStyles.
 
DocumentModelDigitizeCurve modelDigitizeCurve () const
 Get method for DocumentModelDigitizeCurve.
 
DocumentModelExportFormat modelExport () const
 Get method for DocumentModelExportFormat.
 
DocumentModelGeneral modelGeneral () const
 Get method for DocumentModelGeneral.
 
DocumentModelGridDisplay modelGridDisplay () const
 Get method for DocumentModelGridDisplay.
 
DocumentModelGridRemoval modelGridRemoval () const
 Get method for DocumentModelGridRemoval.
 
DocumentModelPointMatch modelPointMatch () const
 Get method for DocumentModelPointMatch.
 
DocumentModelSegments modelSegments () const
 Get method for DocumentModelSegments.
 
void movePoint (const QString &pointIdentifier, const QPointF &deltaScreen)
 See Curve::movePoint.
 
int nextOrdinalForCurve (const QString &curveName) const
 Default next ordinal value for specified curve.
 
QPixmap pixmap () const
 Return the image that is being digitized.
 
QPointF positionGraph (const QString &pointIdentifier) const
 See Curve::positionGraph.
 
QPointF positionScreen (const QString &pointIdentifier) const
 See Curve::positionScreen.
 
void print () const
 Debugging method for printing directly from symbolic debugger.
 
void printStream (QString indentation, QTextStream &str) const
 Debugging method that supports print method of this class and printStream method of some other class(es)
 
QString reasonForUnsuccessfulRead () const
 Return an informative text message explaining why startup loading failed. Applies if successfulRead returns false.
 
void removePointAxis (const QString &identifier)
 Perform the opposite of addPointAxis.
 
void removePointGraph (const QString &identifier)
 Perform the opposite of addPointGraph.
 
void removePointsInCurvesGraphs (CurvesGraphs &curvesGraphs)
 Remove all points identified in the specified CurvesGraphs. See also addPointsInCurvesGraphs.
 
void saveXml (QXmlStreamWriter &writer) const
 Save document to xml.
 
QString selectedCurveName () const
 Currently selected curve name. This is used to set the selected curve combobox in MainWindow.
 
void setCoordSystemIndex (CoordSystemIndex coordSystemIndex)
 Set the index of current active CoordSystem.
 
void setCurveAxes (const Curve &curveAxes)
 Let CmdAbstract classes overwrite axes Curve.
 
void setCurvesGraphs (const CurvesGraphs &curvesGraphs)
 Let CmdAbstract classes overwrite CurvesGraphs.
 
void setDocumentAxesPointsRequired (DocumentAxesPointsRequired documentAxesPointsRequired)
 Set the number of axes points required. More...
 
void setModelAxesChecker (const DocumentModelAxesChecker &modelAxesChecker)
 Set method for DocumentModelAxesChecker.
 
void setModelColorFilter (const DocumentModelColorFilter &modelColorFilter)
 Set method for DocumentModelColorFilter.
 
void setModelCoords (const DocumentModelCoords &modelCoords)
 Set method for DocumentModelCoords.
 
void setModelCurveStyles (const CurveStyles &modelCurveStyles)
 Set method for CurveStyles.
 
void setModelDigitizeCurve (const DocumentModelDigitizeCurve &modelDigitizeCurve)
 Set method for DocumentModelDigitizeCurve.
 
void setModelExport (const DocumentModelExportFormat &modelExport)
 Set method for DocumentModelExportFormat.
 
void setModelGeneral (const DocumentModelGeneral &modelGeneral)
 Set method for DocumentModelGeneral.
 
void setModelGridDisplay (const DocumentModelGridDisplay &modelGridDisplay)
 Set method for DocumentModelGridDisplay.
 
void setModelGridRemoval (const DocumentModelGridRemoval &modelGridRemoval)
 Set method for DocumentModelGridRemoval.
 
void setModelPointMatch (const DocumentModelPointMatch &modelPointMatch)
 Set method for DocumentModelPointMatch.
 
void setModelSegments (const DocumentModelSegments &modelSegments)
 Set method for DocumentModelSegments.
 
void setPixmap (const QImage &image)
 Set method for the background pixmap.
 
void setSelectedCurveName (const QString &selectedCurveName)
 Save curve name that is selected for the current coordinate system, for the next time the coordinate system reappears.
 
bool successfulRead () const
 Return true if startup loading succeeded. If the loading failed then reasonForUnsuccessfulRed will explain why.
 
void updatePointOrdinals (const Transformation &transformation)
 Update point ordinals after point addition/removal or dragging. More...
 

Detailed Description

Storage of one imported image and the data attached to that image.

Definition at line 41 of file Document.h.

Member Function Documentation

◆ addCoordSystems()

void Document::addCoordSystems ( unsigned int  numberCoordSystemToAdd)

Add some number (0 or more) of additional coordinate systems.

This is only safe to call during import and before any changes have been made to the Document

Definition at line 147 of file Document.cpp.

◆ addPointAxisWithGeneratedIdentifier()

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

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 point has only an x coordinate

Definition at line 162 of file Document.cpp.

◆ addPointAxisWithSpecifiedIdentifier()

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

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 point has only an x coordinate

Definition at line 177 of file Document.cpp.

◆ addScaleWithGeneratedIdentifier()

void Document::addScaleWithGeneratedIdentifier ( const QPointF &  posScreen0,
const QPointF &  posScreen1,
double  scaleLength,
QString &  identifier0,
QString &  identifier1,
double  ordinal0,
double  ordinal1 
)

Add scale with a generated point identifier.

Call this after checkAddPointAxis to guarantee success in this call.

Parameters
posScreen0Screen coordinates of first point from QGraphicsView
posScreen1Screen coordinates of second point from QGraphicsView
scaleLengthScale bar length in graph coordinates
identifier0Identifier for first new axis point
identifier1Identifier for second new axis point
ordinal0Unique, for curve, ordinal number of first point
ordinal1Unique, for curve, ordinal number of second point

Definition at line 225 of file Document.cpp.

◆ setDocumentAxesPointsRequired()

void Document::setDocumentAxesPointsRequired ( DocumentAxesPointsRequired  documentAxesPointsRequired)

Set the number of axes points required.

This is called during the Document creation process, after imported images have been previewed or loaded files have had at least some xml parsing

Definition at line 933 of file Document.cpp.

◆ updatePointOrdinals()

void Document::updatePointOrdinals ( const Transformation transformation)

Update point ordinals after point addition/removal or dragging.

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

Definition at line 1060 of file Document.cpp.


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