1 #ifndef RS_ACTIONMODIFYMOVEROTATE_H
2 #define RS_ACTIONMODIFYMOVEROTATE_H
4 #include "rs_modification.h"
5 #include "rs_previewactioninterface.h"
9 * This action class can handle user events to move and at the same
10 * time rotate entities.
12 * @author Andrew Mustun
14 class RS_ActionModifyMoveRotate: public RS_PreviewActionInterface
21 SetReferencePoint, /**< Setting the reference point. */
22 SetTargetPoint, /**< Setting the target point. */
23 ShowDialog, /**< Showing the options dialog. */
24 SetAngle /**< Setting angle in command line. */
28 RS_ActionModifyMoveRotate(RS_EntityContainer & container, GraphicView & graphicView);
29 ~RS_ActionModifyMoveRotate();
31 virtual RS2::ActionType rtti();
32 virtual void init(int status = 0);
33 virtual void trigger();
34 virtual void mouseMoveEvent(QMouseEvent * e);
35 virtual void mouseReleaseEvent(QMouseEvent * e);
36 virtual void coordinateEvent(Vector * e);
37 virtual void commandEvent(RS_CommandEvent * e);
38 virtual QStringList getAvailableCommands();
39 virtual void hideOptions();
40 virtual void showOptions();
41 virtual void updateMouseButtonHints();
42 virtual void updateMouseCursor();
43 virtual void updateToolBar();
44 void setAngle(double a);
48 RS_MoveRotateData data;
51 /** Last status before entering angle. */