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