1 #ifndef RS_ACTIONDRAWLINEANGLE_H
2 #define RS_ACTIONDRAWLINEANGLE_H
5 #include "rs_previewactioninterface.h"
9 * This action class can handle user events to draw
10 * simple lines at a gien angle.
12 * @author Andrew Mustun
14 class RS_ActionDrawLineAngle: public RS_PreviewActionInterface
21 SetPos, /**< Setting the position. */
22 SetAngle, /**< Setting angle in the command line. */
23 SetLength /**< Setting length in the command line. */
26 RS_ActionDrawLineAngle(RS_EntityContainer & container, GraphicView & graphicView, double angle = 0.0, bool fixedAngle = false);
27 ~RS_ActionDrawLineAngle();
29 virtual RS2::ActionType rtti();
31 virtual void init(int status = 0);
32 virtual void trigger();
33 virtual void mouseMoveEvent(QMouseEvent * e);
34 virtual void mouseReleaseEvent(QMouseEvent * e);
35 void preparePreview();
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 setSnapPoint(int sp);
46 void setAngle(double a);
48 void setLength(double l);
54 * Line data defined so far.
74 * Snap point (start, middle, end).