1 #ifndef __ACTIONBLOCKSINSERT_H__
2 #define __ACTIONBLOCKSINSERT_H__
4 #include "actioninterface.h"
8 * This action class can handle user events for inserting blocks into the
11 * @author James Hammons
12 * @author Andrew Mustun
14 class ActionBlocksInsert: public ActionInterface
21 SetTargetPoint, /**< Setting the reference point. */
22 SetAngle, /**< Setting angle in the command line. */
23 SetFactor, /**< Setting factor in the command line. */
24 SetColumns, /**< Setting columns in the command line. */
25 SetRows, /**< Setting rows in the command line. */
26 SetColumnSpacing, /**< Setting column spacing in the command line. */
27 SetRowSpacing /**< Setting row spacing in the command line. */
31 ActionBlocksInsert(EntityContainer & container, GraphicView & graphicView);
32 ~ActionBlocksInsert();
34 virtual RS2::ActionType rtti();
35 virtual void init(int status = 0);
37 virtual void trigger();
38 virtual void mouseMoveEvent(QMouseEvent * e);
39 virtual void mouseReleaseEvent(QMouseEvent * e);
40 virtual void coordinateEvent(Vector * e);
41 virtual void commandEvent(CommandEvent * e);
42 virtual QStringList getAvailableCommands();
43 virtual void showOptions();
44 virtual void hideOptions();
45 virtual void updateMouseButtonHints();
46 virtual void updateMouseCursor();
47 virtual void updateToolBar();
50 void setAngle(double a);
52 void setFactor(double f);
54 void setColumns(int c);
57 double getColumnSpacing();
58 void setColumnSpacing(double cs);
59 double getRowSpacing();
60 void setRowSpacing(double rs);
66 /** Last status before entering option. */
70 #endif // __ACTIONBLOCKSINSERT_H__