00001 /****************************************************************************************************** 00002 * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released * 00003 * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file * 00004 * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. * 00005 ******************************************************************************************************/ 00006 00007 #ifndef TRANSFORMATION_STATE_DEFINED_H 00008 #define TRANSFORMATION_STATE_DEFINED_H 00009 00010 #include "Checker.h" 00011 #include <QObject> 00012 #include "Transformation.h" 00013 #include "TransformationStateAbstractBase.h" 00014 00015 class QTimer; 00016 00018 class TransformationStateDefined : public QObject, public TransformationStateAbstractBase 00019 { 00020 Q_OBJECT; 00021 00022 public: 00024 TransformationStateDefined(TransformationStateContext &context, 00025 QGraphicsScene &scene); 00026 00027 virtual void begin(CmdMediator &cmdMediator, 00028 const Transformation &transformation, 00029 const QString &selectedGraphCurve); 00030 virtual void end(CmdMediator &cmdMediator, 00031 const Transformation &transformation); 00032 virtual void updateAxesChecker (CmdMediator &cmdMediator, 00033 const Transformation &transformation); 00034 00035 private slots: 00036 void slotTimeout(); 00037 00038 private: 00039 TransformationStateDefined(); 00040 00041 void initializeModelGridDisplay (CmdMediator &cmdMediator, 00042 const Transformation &transformation); 00043 void initializeModelGridRemoval (CmdMediator &cmdMediator, 00044 const Transformation &transformation, 00045 const QString &selectedGraphCurve); 00046 void startTimer (const DocumentModelAxesChecker &modelAxesChecker); 00047 00048 // As a QGraphicsItem subclass, the Checker is deleted by the QGraphicsScene so it must be a pointer 00049 Checker *m_axesChecker; 00050 00051 QTimer *m_timer; 00052 }; 00053 00054 #endif // TRANSFORMATION_STATE_DEFINED_H