Engauge Digitizer
2
Cmd
CmdMediator.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 CMD_MEDIATOR_H
8
#define CMD_MEDIATOR_H
9
10
#include "
CoordsType.h
"
11
#include "
Document.h
"
12
#include "
DocumentAxesPointsRequired.h
"
13
#include "
PointStyle.h
"
14
#include <QUndoStack>
15
16
class
MainWindow
;
17
class
QImage;
18
23
class
CmdMediator
:
public
QUndoStack
24
{
25
public
:
27
CmdMediator
(
MainWindow
&mainWindow,
28
const
QImage &image);
29
31
CmdMediator
(
MainWindow
&mainWindow,
32
const
QString &fileName);
33
35
~CmdMediator
();
36
38
const
CoordSystem
&
coordSystem
()
const
;
39
41
const
Curve
&
curveAxes
()
const
;
42
44
QStringList
curvesGraphsNames
()
const
;
45
47
int
curvesGraphsNumPoints
(
const
QString &curveName)
const
;
48
50
Document
&
document
();
51
53
const
Document
&
document
()
const
;
54
57
bool
isModified
()
const
;
58
60
void
iterateThroughCurvePointsAxes
(
const
Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback);
61
63
void
iterateThroughCurvePointsAxes
(
const
Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback)
const
;
64
66
void
iterateThroughCurvesPointsGraphs
(
const
Functor2wRet<const QString &, const Point &, CallbackSearchReturn> &ftorWithCallback);
67
69
QPixmap
pixmap
()
const
;
70
72
QString
reasonForUnsuccessfulRead
()
const
;
73
75
void
saveXml
(QXmlStreamWriter &writer)
const
;
76
78
QString
selectedCurveName
()
const
;
79
82
void
setDocumentAxesPointsRequired
(
DocumentAxesPointsRequired
documentAxesPointsRequired);
83
85
void
setSelectedCurveName
(
const
QString &
selectedCurveName
);
86
88
bool
successfulRead
()
const
;
89
90
private
:
91
CmdMediator
();
92
93
void
connectSignals (
MainWindow
&mainWindow);
94
95
Document
m_document;
96
97
};
98
99
#endif // CMD_MEDIATOR_H
CmdMediator::iterateThroughCurvesPointsGraphs
void iterateThroughCurvesPointsGraphs(const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
See Curve::iterateThroughCurvePoints, for all the graphs curves.
Definition:
CmdMediator.cpp:97
CmdMediator::selectedCurveName
QString selectedCurveName() const
Currently selected curve name. This is used to set the selected curve combobox in MainWindow.
Definition:
CmdMediator.cpp:127
PointStyle.h
DocumentAxesPointsRequired
DocumentAxesPointsRequired
Definition:
DocumentAxesPointsRequired.h:9
CmdMediator::~CmdMediator
~CmdMediator()
Destructor.
Definition:
CmdMediator.cpp:43
CmdMediator::setSelectedCurveName
void setSelectedCurveName(const QString &selectedCurveName)
Save curve name that is selected for the current coordinate system, for the next time the coordinate ...
Definition:
CmdMediator.cpp:137
CoordsType.h
Document
Storage of one imported image and the data attached to that image.
Definition:
Document.h:40
Document.h
Curve
Container for one set of digitized Points.
Definition:
Curve.h:32
MainWindow
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition:
MainWindow.h:90
CmdMediator::successfulRead
bool successfulRead() const
Wrapper for Document::successfulRead.
Definition:
CmdMediator.cpp:142
DocumentAxesPointsRequired.h
CmdMediator::pixmap
QPixmap pixmap() const
See Document::pixmap.
Definition:
CmdMediator.cpp:102
CmdMediator::document
Document & document()
Provide the Document to commands, primarily for undo/redo processing.
Definition:
CmdMediator.cpp:72
CmdMediator::saveXml
void saveXml(QXmlStreamWriter &writer) const
Serialize to xml.
Definition:
CmdMediator.cpp:114
CmdMediator::setDocumentAxesPointsRequired
void setDocumentAxesPointsRequired(DocumentAxesPointsRequired documentAxesPointsRequired)
Set the number of axes points required.
Definition:
CmdMediator.cpp:132
CmdMediator::curvesGraphsNumPoints
int curvesGraphsNumPoints(const QString &curveName) const
See CurvesGraphs::curvesGraphsNumPoints.
Definition:
CmdMediator.cpp:67
CmdMediator::iterateThroughCurvePointsAxes
void iterateThroughCurvePointsAxes(const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
See Curve::iterateThroughCurvePoints, for the single axes curve.
Definition:
CmdMediator.cpp:87
CmdMediator::coordSystem
const CoordSystem & coordSystem() const
Provide the current CoordSystem to commands with read-only access, primarily for undo/redo processing...
Definition:
CmdMediator.cpp:52
CmdMediator::isModified
bool isModified() const
Dirty flag.
Definition:
CmdMediator.cpp:82
CmdMediator::curvesGraphsNames
QStringList curvesGraphsNames() const
See CurvesGraphs::curvesGraphsNames.
Definition:
CmdMediator.cpp:62
CmdMediator
Command queue stack.
Definition:
CmdMediator.h:22
CmdMediator::curveAxes
const Curve & curveAxes() const
See Document::curveAxes.
Definition:
CmdMediator.cpp:57
CoordSystem
Storage of data belonging to one coordinate system.
Definition:
CoordSystem.h:41
CmdMediator::reasonForUnsuccessfulRead
QString reasonForUnsuccessfulRead() const
See Document::reasonForUnsuccessfulRead.
Definition:
CmdMediator.cpp:109
Generated on Sat Jan 4 2020 12:00:00 for Engauge Digitizer by
1.8.16