00001
00002
00003
00004
00005
00006
00007 #ifndef DIGITIZE_STATE_AXIS_H
00008 #define DIGITIZE_STATE_AXIS_H
00009
00010 #include "DigitizeStateAbstractBase.h"
00011
00012 class QTimer;
00013
00016 class DigitizeStateAxis : public DigitizeStateAbstractBase
00017 {
00018 public:
00020 DigitizeStateAxis(DigitizeStateContext &context);
00021 virtual ~DigitizeStateAxis();
00022
00023 virtual QString activeCurve () const;
00024 virtual void begin(CmdMediator *cmdMediator,
00025 DigitizeState previousState);
00026 virtual QCursor cursor (CmdMediator *cmdMediator) const;
00027 virtual void end();
00028 virtual void handleContextMenuEventAxis (CmdMediator *cmdMediator,
00029 const QString &pointIdentifier);
00030 virtual void handleContextMenuEventGraph (CmdMediator *cmdMediator,
00031 const QStringList &pointIdentifiers);
00032 virtual void handleCurveChange(CmdMediator *cmdMediator);
00033 virtual void handleKeyPress (CmdMediator *cmdMediator,
00034 Qt::Key key,
00035 bool atLeastOneSelectedItem);
00036 virtual void handleMouseMove (CmdMediator *cmdMediator,
00037 QPointF posScreen);
00038 virtual void handleMousePress (CmdMediator *cmdMediator,
00039 QPointF posScreen);
00040 virtual void handleMouseRelease (CmdMediator *cmdMediator,
00041 QPointF posScreen);
00042 virtual QString state() const;
00043 virtual void updateAfterPointAddition ();
00044 virtual void updateModelDigitizeCurve (CmdMediator *cmdMediator,
00045 const DocumentModelDigitizeCurve &modelDigitizeCurve);
00046 virtual void updateModelSegments(const DocumentModelSegments &modelSegments);
00047
00048 private:
00049 DigitizeStateAxis();
00050
00051 void createTemporaryPoint (CmdMediator *cmdMediator,
00052 const QPointF &posScreen);
00053 };
00054
00055 #endif // DIGITIZE_STATE_AXIS_H