]> Shamusworld >> Repos - architektonas/blobdiff - src/actions/rs_actiondimlinear.h
Major refactoring of actions: Moved implementation from header files
[architektonas] / src / actions / rs_actiondimlinear.h
index 3827fe4d378358a0e2de60ee24d2f2830c8fa001..471c03be2ceffc0d3fd4f4721bc65ac87a2eacec 100644 (file)
@@ -1,29 +1,3 @@
-/****************************************************************************
-** $Id: rs_actiondimlinear.h 1062 2004-01-16 21:51:20Z andrew $
-**
-** Copyright (C) 2001-2003 RibbonSoft. All rights reserved.
-**
-** This file is part of the qcadlib Library project.
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** Licensees holding valid qcadlib Professional Edition licenses may use 
-** this file in accordance with the qcadlib Commercial License
-** Agreement provided with the Software.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See http://www.ribbonsoft.com for further details.
-**
-** Contact info@ribbonsoft.com if any conditions of this licensing are
-** not clear to you.
-**
-**********************************************************************/
-
 #ifndef RS_ACTIONDIMLINEAR_H
 #define RS_ACTIONDIMLINEAR_H
 
 #include "rs_dimlinear.h"
 
 /**
- * This action class can handle user events to draw 
+ * This action class can handle user events to draw
  * aligned dimensions.
  *
  * @author Andrew Mustun
  */
-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();
+class RS_ActionDimLinear: public RS_ActionDimension
+{
+       public:
+               /**
+                * Varitions of this action.
+                */
+               enum Variation {
+                       AnyAngle,
+                       Horizontal,
+                       Vertical
+               };
 
-       double getAngle() {
-               return edata.angle;
-       }
+               /**
+                * 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. */
+               };
 
-       void setAngle(double a) {
-               edata.angle = a;
-       }
+       public:
+               RS_ActionDimLinear(RS_EntityContainer & container, RS_GraphicView & graphicView, double angle = 0.0, bool fixedAngle = false);
+               ~RS_ActionDimLinear();
 
-       bool hasFixedAngle() {
-               return fixedAngle;
-       }
+               virtual RS2::ActionType rtti();
+               void reset();
+               virtual void trigger();
+               void preparePreview();
+               virtual void mouseMoveEvent(QMouseEvent * e);
+               virtual void mouseReleaseEvent(QMouseEvent * e);
+               virtual void coordinateEvent(Vector * e);
+               virtual void commandEvent(RS_CommandEvent * e);
+               virtual QStringList getAvailableCommands();
+               virtual void hideOptions();
+               virtual void showOptions();
+               virtual void updateMouseButtonHints();
+               double getAngle();
+               void setAngle(double a);
+               bool hasFixedAngle();
 
-protected:
-    /**
-     * Aligned dimension data.
-     */
-    RS_DimLinearData edata;
-    /**
-     * Is the angle fixed?
-     */
-    bool fixedAngle;
+       protected:
+               /**
+                * Aligned dimension data.
+                */
+               RS_DimLinearData edata;
+               /**
+                * Is the angle fixed?
+                */
+               bool fixedAngle;
 
-       /** Last status before entering text or angle. */
-       Status lastStatus;
+               /** Last status before entering text or angle. */
+               Status lastStatus;
 };
 
 #endif