00001
00002
00003
00004
00005
00006
00007 #ifndef DIGITIZE_STATE_SELECT_H
00008 #define DIGITIZE_STATE_SELECT_H
00009
00010 #include "DigitizeStateAbstractBase.h"
00011
00019 class DigitizeStateSelect : public DigitizeStateAbstractBase
00020 {
00021 public:
00023 DigitizeStateSelect(DigitizeStateContext &context);
00024 virtual ~DigitizeStateSelect();
00025
00026 virtual QString activeCurve () const;
00027 virtual void begin(CmdMediator *cmdMediator,
00028 DigitizeState previousState);
00029 virtual bool canPaste (const Transformation &transformation,
00030 const QSize &viewSize) const;
00031 virtual QCursor cursor (CmdMediator *cmdMediator) const;
00032 virtual void end();
00033 virtual void handleContextMenuEventAxis (CmdMediator *cmdMediator,
00034 const QString &pointIdentifier);
00035 virtual void handleContextMenuEventGraph (CmdMediator *cmdMediator,
00036 const QStringList &pointIdentifiers);
00037 virtual void handleCurveChange(CmdMediator *cmdMediator);
00038 virtual void handleKeyPress (CmdMediator *cmdMediator,
00039 Qt::Key key,
00040 bool atLeastOneSelectedItem);
00041 virtual void handleMouseMove (CmdMediator *cmdMediator,
00042 QPointF posScreen);
00043 virtual void handleMousePress (CmdMediator *cmdMediator,
00044 QPointF posScreen);
00045 virtual void handleMouseRelease (CmdMediator *cmdMediator,
00046 QPointF posScreen);
00047 virtual QString state() const;
00048 virtual void updateAfterPointAddition ();
00049 virtual void updateModelDigitizeCurve (CmdMediator *cmdMediator,
00050 const DocumentModelDigitizeCurve &modelDigitizeCurve);
00051 virtual void updateModelSegments(const DocumentModelSegments &modelSegments);
00052
00053 private:
00054 DigitizeStateSelect();
00055
00056 void addHoverHighlighting();
00057 void handleContextMenuEventAxis2 (CmdMediator *cmdMediator);
00058 void handleContextMenuEventAxis34 (CmdMediator *cmdMediator,
00059 const QString &pointIdentifier);
00060 void keyPressArrow (CmdMediator *cmdMediator,
00061 Qt::Key key);
00062 QString moveTextFromDeltaScreen (const QPointF &deltaScreen);
00063 void removeHoverHighlighting();
00064 double scaleBarLength (CmdMediator *cmdMediator) const;
00065 QString scaleBarPointIdentifier (CmdMediator *cmdMediator) const;
00066 void setHoverHighlighting(const MainWindowModel &modelMainWindow);
00067 double zoomedToUnzoomedScreenX () const;
00068 double zoomedToUnzoomedScreenY () const;
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087 QPointF m_movingStart;
00088 };
00089
00090 #endif // DIGITIZE_STATE_SELECT_H