-class RS_ActionDimLinear : public RS_ActionDimension {
- //Q_OBJECT
-public:
- /**
- * Varitions of this action.
- */
- enum Variation {
- AnyAngle,
- Horizontal,
- Vertical
- };
-
- /**
- * Action States.
- */
- enum Status {
- SetExtPoint1, /**< Setting the 1st ext point. */
- SetExtPoint2, /**< Setting the 2nd ext point. */
- SetDefPoint, /**< Setting the common def point. */
- SetText, /**< Setting the text label in the command line. */
- SetAngle /**< Setting the angle in the command line. */
- };
-
-public:
- RS_ActionDimLinear(RS_EntityContainer& container,
- RS_GraphicView& graphicView,
- double angle=0.0, bool fixedAngle=false);
- ~RS_ActionDimLinear();
-
- static QAction* createGUIAction(RS2::ActionType type, QObject* /*parent*/);
-
- virtual RS2::ActionType rtti() {
- return RS2::ActionDimLinear;
- }
-
- void reset();
-
- virtual void trigger();
- void preparePreview();
-
- virtual void mouseMoveEvent(QMouseEvent* e);
- virtual void mouseReleaseEvent(QMouseEvent* e);
-
- virtual void coordinateEvent(RS_CoordinateEvent* e);
- virtual void commandEvent(RS_CommandEvent* e);
- virtual QStringList getAvailableCommands();
-
- virtual void hideOptions();
- virtual void showOptions();
-
- virtual void updateMouseButtonHints();