1 #ifndef RS_ACTIONBLOCKSINSERT_H
2 #define RS_ACTIONBLOCKSINSERT_H
4 #include "rs_previewactioninterface.h"
8 * This action class can handle user events for inserting blocks into the
11 * @author Andrew Mustun
13 class RS_ActionBlocksInsert: public RS_PreviewActionInterface
20 SetTargetPoint, /**< Setting the reference point. */
21 SetAngle, /**< Setting angle in the command line. */
22 SetFactor, /**< Setting factor in the command line. */
23 SetColumns, /**< Setting columns in the command line. */
24 SetRows, /**< Setting rows in the command line. */
25 SetColumnSpacing, /**< Setting column spacing in the command line. */
26 SetRowSpacing /**< Setting row spacing in the command line. */
30 RS_ActionBlocksInsert(RS_EntityContainer & container, GraphicView & graphicView);
31 ~RS_ActionBlocksInsert();
33 virtual RS2::ActionType rtti();
34 virtual void init(int status = 0);
36 virtual void trigger();
37 virtual void mouseMoveEvent(QMouseEvent * e);
38 virtual void mouseReleaseEvent(QMouseEvent * e);
39 virtual void coordinateEvent(Vector * e);
40 virtual void commandEvent(RS_CommandEvent * e);
41 virtual QStringList getAvailableCommands();
42 virtual void showOptions();
43 virtual void hideOptions();
44 virtual void updateMouseButtonHints();
45 virtual void updateMouseCursor();
46 virtual void updateToolBar();
49 void setAngle(double a);
51 void setFactor(double f);
53 void setColumns(int c);
56 double getColumnSpacing();
57 void setColumnSpacing(double cs);
58 double getRowSpacing();
59 void setRowSpacing(double rs);
65 /** Last status before entering option. */