1 #ifndef RS_ACTIONDRAWLINEPARALLELTHROUGH_H
2 #define RS_ACTIONDRAWLINEPARALLELTHROUGH_H
5 #include "rs_previewactioninterface.h"
11 * This action class can handle user events to draw parallel
12 * lines, arcs and circles.
14 * @author Andrew Mustun
16 class RS_ActionDrawLineParallelThrough: public RS_PreviewActionInterface
20 SetEntity, /**< Choose original entity. */
21 SetPos, /**< Setting point for this parallel to go through. */
22 SetNumber /**< Setting number in the command line. */
26 RS_ActionDrawLineParallelThrough(RS_EntityContainer & container, GraphicView & graphicView);
27 ~RS_ActionDrawLineParallelThrough();
29 virtual RS2::ActionType rtti();
30 virtual void trigger();
31 virtual void mouseMoveEvent(QMouseEvent * e);
32 virtual void mouseReleaseEvent(QMouseEvent * e);
33 virtual void updateMouseButtonHints();
34 virtual void coordinateEvent(Vector * e);
35 virtual void commandEvent(RS_CommandEvent * e);
36 virtual QStringList getAvailableCommands();
37 virtual void hideOptions();
38 virtual void showOptions();
39 virtual void updateMouseCursor();
40 virtual void updateToolBar();
42 void setNumber(int n);
45 /** Closest parallel. */
47 /** Data of new line */
49 /** Number of parallels. */
51 /** Coordinate of the mouse. */
53 /** Original entity. */
55 /** Last status before entering length or number. */