1 #ifndef RS_ACTIONDRAWLINEBISECTOR_H
2 #define RS_ACTIONDRAWLINEBISECTOR_H
5 #include "rs_previewactioninterface.h"
11 * This action class can handle user events to draw bisectors.
13 * @author Andrew Mustun
15 class RS_ActionDrawLineBisector: public RS_PreviewActionInterface
19 SetLine1, /**< Choose the 1st line. */
20 SetLine2, /**< Choose the 2nd line. */
21 SetLength, /**< Set length in command line. */
22 SetNumber /**< Set number in command line. */
26 RS_ActionDrawLineBisector(RS_EntityContainer & container, GraphicView & graphicView);
27 ~RS_ActionDrawLineBisector();
29 virtual RS2::ActionType rtti();
30 virtual void trigger();
31 virtual void mouseMoveEvent(QMouseEvent * e);
32 virtual void mouseReleaseEvent(QMouseEvent * e);
33 virtual void commandEvent(RS_CommandEvent * e);
34 virtual QStringList getAvailableCommands();
35 virtual void hideOptions();
36 virtual void showOptions();
37 virtual void updateMouseButtonHints();
38 virtual void updateMouseCursor();
39 virtual void updateToolBar();
40 void setLength(double l);
42 void setNumber(int n);
46 /** Closest bisector. */
48 /** First chosen entity */
50 /** Second chosen entity */
52 /** Data of new bisector */
54 /** Length of the bisector. */
56 /** Number of bisectors to create. */
58 /** Mouse pos when choosing the 1st line */
60 /** Mouse pos when choosing the 2nd line */
62 /** Last status before entering length or number. */