1 #ifndef __ACTIONDRAWLINEANGLE_H__
2 #define __ACTIONDRAWLINEANGLE_H__
5 #include "actioninterface.h"
9 * This action class can handle user events to draw simple lines at a given
12 * @author James Hammons
13 * @author Andrew Mustun
15 class ActionDrawLineAngle: public ActionInterface
22 SetPos, /**< Setting the position. */
23 SetAngle, /**< Setting angle in the command line. */
24 SetLength /**< Setting length in the command line. */
27 ActionDrawLineAngle(EntityContainer & container, GraphicView & graphicView,
28 double angle = 0.0, bool fixedAngle = false);
29 ~ActionDrawLineAngle();
31 virtual RS2::ActionType rtti();
33 virtual void init(int status = 0);
34 virtual void trigger();
35 virtual void mouseMoveEvent(QMouseEvent * e);
36 virtual void mouseReleaseEvent(QMouseEvent * e);
37 void preparePreview();
38 virtual void coordinateEvent(Vector * e);
39 virtual void commandEvent(CommandEvent * e);
40 virtual QStringList getAvailableCommands();
41 virtual void hideOptions();
42 virtual void showOptions();
43 virtual void updateMouseButtonHints();
44 virtual void updateMouseCursor();
45 virtual void updateToolBar();
46 void setSnapPoint(int sp);
48 void setAngle(double a);
50 void setLength(double l);
55 /** Line data defined so far. */
63 /** Is the angle fixed? */
65 /** Snap point (start, middle, end). */
69 #endif // __ACTIONDRAWLINEANGLE_H__