]> Shamusworld >> Repos - architektonas/blob - src/actions/rs_actionmodifytrimamount.h
Last checkin before major refactor...
[architektonas] / src / actions / rs_actionmodifytrimamount.h
1 #ifndef RS_ACTIONMODIFYTRIMAMOUNT_H
2 #define RS_ACTIONMODIFYTRIMAMOUNT_H
3
4 #include "rs_previewactioninterface.h"
5 #include "vector.h"
6
7 class RS_Entity;
8
9 /**
10  * This action class can handle user events to trim entities by a given
11  * amount.
12  *
13  * @author Andrew Mustun
14  */
15 class RS_ActionModifyTrimAmount: public RS_ActionInterface
16 {
17         public:
18                 /**
19                  * Action States.
20                  */
21                 enum Status {
22                         ChooseTrimEntity /**< Choosing the entity to trim. */
23                 };
24
25         public:
26                 RS_ActionModifyTrimAmount(RS_EntityContainer & container, GraphicView & graphicView);
27                 ~RS_ActionModifyTrimAmount();
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 commandEvent(RS_CommandEvent * e);
35                 virtual QStringList getAvailableCommands();
36                 virtual void hideOptions();
37                 virtual void showOptions();
38                 virtual void updateMouseButtonHints();
39                 virtual void updateMouseCursor();
40                 virtual void updateToolBar();
41                 double getDistance();
42                 void setDistance(double d);
43
44         private:
45                 RS_Entity * trimEntity;
46                 Vector trimCoord;
47                 double distance;
48 };
49
50 #endif