]> Shamusworld >> Repos - architektonas/blob - src/actions/rs_actiondimension.h
910bfc0a7a491ae5602b5aed26e5167ed54ddf9d
[architektonas] / src / actions / rs_actiondimension.h
1 #ifndef RS_ACTIONDIMENSION_H
2 #define RS_ACTIONDIMENSION_H
3
4 #include <QtCore>
5 #include "rs_dimension.h"
6 #include "rs_previewactioninterface.h"
7
8 /**
9  * Base class for dimension actions.
10  *
11  * @author Andrew Mustun
12  */
13 class RS_ActionDimension: public RS_PreviewActionInterface
14 {
15         public:
16                 RS_ActionDimension(const char * name, RS_EntityContainer & container, GraphicView & graphicView);
17                 ~RS_ActionDimension();
18
19                 virtual void reset();
20                 virtual void init(int status = 0);
21                 virtual void hideOptions();
22                 virtual void showOptions();
23                 virtual void updateMouseCursor();
24                 virtual void updateToolBar();
25                 QString getText();
26                 void setText(const QString & t);
27                 QString getLabel();
28                 void setLabel(const QString & t);
29                 QString getTol1();
30                 void setTol1(const QString & t);
31                 QString getTol2();
32                 void setTol2(const QString & t);
33                 bool getDiameter();
34                 void setDiameter(bool d);
35                 static bool isDimensionAction(RS2::ActionType type);
36
37         protected:
38                 /**
39                  * Generic dimension data.
40                  */
41                 RS_DimensionData data;
42
43                 QString label;
44                 QString tol1;
45                 QString tol2;
46                 bool diameter;
47 };
48
49 #endif