Engauge Digitizer  2
 All Classes Files Functions Variables Enumerations Enumerator Friends Pages
TransformationStateContext.h
1 #ifndef TRANSFORMATION_STATE_CONTEXT_H
2 #define TRANSFORMATION_STATE_CONTEXT_H
3 
4 #include <QVector>
5 #include "TransformationStateAbstractBase.h"
6 
7 class CmdMediator;
9 class QGraphicsScene;
10 class Transformation;
11 
16 {
17 public:
19  TransformationStateContext(QGraphicsScene &scene,
20  bool isGnuplot);
21  virtual ~TransformationStateContext();
22 
24  bool isGnuplot () const;
25 
27  void resetOnLoad();
28 
30  void triggerStateTransition (TransformationState transformationState,
31  CmdMediator &cmdMediator,
32  const Transformation &transformation,
33  const QString &selectedGraphCurve);
34 
36  void updateAxesChecker (CmdMediator &cmdMediator,
37  const Transformation &transformation);
38 
39 private:
41 
42  QVector<TransformationStateAbstractBase*> m_states;
43  TransformationState m_currentState;
44  bool m_isGnuplot;
45 };
46 
47 #endif // TRANSFORMATION_STATE_CONTEXT_H
Context class for transformation state machine.
void triggerStateTransition(TransformationState transformationState, CmdMediator &cmdMediator, const Transformation &transformation, const QString &selectedGraphCurve)
Trigger a state transition to be performed immediately.
bool isGnuplot() const
Flag for gnuplot debug files.
Affine transformation between screen and graph coordinates, based on digitized axis points...
void resetOnLoad()
Reset, when loading a document after the first, to same state that first document was at when loaded...
Model for DlgSettingsAxesChecker and CmdSettingsAxesChecker.
Command queue stack.
Definition: CmdMediator.h:16
void updateAxesChecker(CmdMediator &cmdMediator, const Transformation &transformation)
Apply the new DocumentModelAxesChecker.