1 #ifndef __ACTIONDIMLINEAR_H__
2 #define __ACTIONDIMLINEAR_H__
4 #include "actiondimension.h"
8 * This action class can handle user events to draw aligned dimensions.
10 * @author James Hammons
11 * @author Andrew Mustun
13 class ActionDimLinear: public ActionDimension
17 * Varitions of this action.
29 SetExtPoint1, /**< Setting the 1st ext point. */
30 SetExtPoint2, /**< Setting the 2nd ext point. */
31 SetDefPoint, /**< Setting the common def point. */
32 SetText, /**< Setting the text label in the command line. */
33 SetAngle /**< Setting the angle in the command line. */
37 ActionDimLinear(EntityContainer & container, GraphicView & graphicView,
38 double angle = 0.0, bool fixedAngle = false);
41 virtual RS2::ActionType rtti();
43 virtual void trigger();
44 void preparePreview();
45 virtual void mouseMoveEvent(QMouseEvent * e);
46 virtual void mouseReleaseEvent(QMouseEvent * e);
47 virtual void coordinateEvent(Vector * e);
48 virtual void commandEvent(CommandEvent * e);
49 virtual QStringList getAvailableCommands();
50 virtual void hideOptions();
51 virtual void showOptions();
52 virtual void updateMouseButtonHints();
54 void setAngle(double a);
59 * Aligned dimension data.
66 /** Last status before entering text or angle. */
70 #endif // __ACTIONDIMLINEAR_H__