]> Shamusworld >> Repos - architektonas/blobdiff - src/actions/rs_actiondrawlineparallelthrough.h
Major refactoring of actions: Moved implementation from header files
[architektonas] / src / actions / rs_actiondrawlineparallelthrough.h
index d71d1a5c17e811d69b3b7fa41afda8901ed4cf39..4963bc87f23fa425abb314553f6b8c216d3a4df1 100644 (file)
-/****************************************************************************
-** $Id: rs_actiondrawlineparallelthrough.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_ACTIONDRAWLINEPARALLELTHROUGH_H
 #define RS_ACTIONDRAWLINEPARALLELTHROUGH_H
 
+#include "rs_line.h"
 #include "rs_previewactioninterface.h"
+#include "vector.h"
 
+class RS_Entity;
 
 /**
- * This action class can handle user events to draw parallel 
+ * This action class can handle user events to draw parallel
  * lines, arcs and circles.
  *
  * @author Andrew Mustun
  */
-class RS_ActionDrawLineParallelThrough : public RS_PreviewActionInterface {
-       //Q_OBJECT
-private:
-    enum Status {
-        SetEntity,    /**< Choose original entity. */
-               SetPos,       /**< Setting point for this parallel to go through. */
-               SetNumber     /**< Setting number in the command line. */
-       };
-       
-public:
-    RS_ActionDrawLineParallelThrough(RS_EntityContainer& container,
-                              RS_GraphicView& graphicView);
-    ~RS_ActionDrawLineParallelThrough() {}
-
-       static QAction* createGUIAction(RS2::ActionType /*type*/, QObject* /*parent*/);
-       
-       virtual RS2::ActionType rtti() {
-               return RS2::ActionDrawLineParallelThrough;
-       }
-
-    virtual void trigger();
-       
-    virtual void mouseMoveEvent(QMouseEvent* e);
-    virtual void mouseReleaseEvent(QMouseEvent* e);
-    virtual void updateMouseButtonHints();
-       
-       virtual void coordinateEvent(RS_CoordinateEvent* e);
-    virtual void commandEvent(RS_CommandEvent* e);
-       virtual QStringList getAvailableCommands();
-       
-    virtual void hideOptions();
-    virtual void showOptions();
-
-    virtual void updateMouseCursor();
-    virtual void updateToolBar();
-
-       int getNumber() {
-               return number;
-       }
-
-       void setNumber(int n) {
-               number = n;
-       }
-
-private:
-    /** Closest parallel. */
-    RS_Entity* parallel;
-    /** Data of new line */
-    RS_LineData data;
-       /** Number of parallels. */
-       int number;
-       /** Coordinate of the mouse. */
-       Vector coord;
-       /** Original entity. */
-       RS_Entity* entity;
-       /** Last status before entering length or number. */
-       Status lastStatus;
-       /**
-        * Commands
-        */
-       /*
-       QString cmdDistance;
-       QString cmdDistance2;
-       QString cmdDistance3;
-       
-       QString cmdNumber;
-       QString cmdNumber2;
-       QString cmdNumber3;
-       */
+class RS_ActionDrawLineParallelThrough: public RS_PreviewActionInterface
+{
+       private:
+               enum Status {
+                       SetEntity,    /**< Choose original entity. */
+                       SetPos,       /**< Setting point for this parallel to go through. */
+                       SetNumber     /**< Setting number in the command line. */
+               };
+
+       public:
+               RS_ActionDrawLineParallelThrough(RS_EntityContainer & container, RS_GraphicView & graphicView);
+               ~RS_ActionDrawLineParallelThrough();
+
+               virtual RS2::ActionType rtti();
+               virtual void trigger();
+               virtual void mouseMoveEvent(QMouseEvent * e);
+               virtual void mouseReleaseEvent(QMouseEvent * e);
+               virtual void updateMouseButtonHints();
+               virtual void coordinateEvent(Vector * e);
+               virtual void commandEvent(RS_CommandEvent * e);
+               virtual QStringList getAvailableCommands();
+               virtual void hideOptions();
+               virtual void showOptions();
+               virtual void updateMouseCursor();
+               virtual void updateToolBar();
+               int getNumber();
+               void setNumber(int n);
+
+       private:
+               /** Closest parallel. */
+               RS_Entity * parallel;
+               /** Data of new line */
+               RS_LineData data;
+               /** Number of parallels. */
+               int number;
+               /** Coordinate of the mouse. */
+               Vector coord;
+               /** Original entity. */
+               RS_Entity * entity;
+               /** Last status before entering length or number. */
+               Status lastStatus;
 };
 
 #endif