]> Shamusworld >> Repos - architektonas/blob - src/actions/rs_actionblockscreate.h
021c47c61b1fe4c63594300c5dc161ee3e23a730
[architektonas] / src / actions / rs_actionblockscreate.h
1 #ifndef RS_ACTIONBLOCKSCREATE_H
2 #define RS_ACTIONBLOCKSCREATE_H
3
4 #include "rs_previewactioninterface.h"
5 //#include "rs_insert.h"
6
7 /**
8  * This action class can handle user events for creating blocks from
9  * existing entities.
10  *
11  * @author Andrew Mustun
12  */
13 class RS_ActionBlocksCreate: public RS_PreviewActionInterface
14 {
15         //Q_OBJECT
16         public:
17                 /**
18                  * Action States.
19                  */
20                 enum Status {
21                         SetReferencePoint,    /**< Setting the reference point. */
22                         ShowDialog            /**< Showing dialog for name. */
23                 };
24
25         public:
26                 RS_ActionBlocksCreate(RS_EntityContainer & container, RS_GraphicView & graphicView);
27                 ~RS_ActionBlocksCreate();
28
29                 virtual RS2::ActionType rtti();
30                 virtual void init(int status = 0);
31                 virtual void trigger();
32                 virtual void mouseMoveEvent(QMouseEvent * e);
33                 virtual void mouseReleaseEvent(QMouseEvent * e);
34 //              virtual void coordinateEvent(Vector * e);
35                 virtual void coordinateEvent(Vector * e);
36                 //virtual void commandEvent(RS_CommandEvent * e);
37                 //virtual QStringList getAvailableCommands();
38                 //virtual void showOptions();
39                 //virtual void hideOptions();
40                 virtual void updateMouseButtonHints();
41                 virtual void updateMouseCursor();
42                 virtual void updateToolBar();
43
44         protected:
45                 Vector referencePoint;
46 };
47
48 #endif