X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Factions%2Frs_actiondrawlineangle.h;h=71c5ec46dde1541dbc5a56bb6696e199cc80818f;hb=3f46c180da0806c9c263e6d87d0f1404632402da;hp=537a635f45e5b12c7575fc6a3e63f61bf1579042;hpb=16ce54abf01ca3032e42a5bb11a4afcf9014dcca;p=architektonas diff --git a/src/actions/rs_actiondrawlineangle.h b/src/actions/rs_actiondrawlineangle.h index 537a635..71c5ec4 100644 --- a/src/actions/rs_actiondrawlineangle.h +++ b/src/actions/rs_actiondrawlineangle.h @@ -1,139 +1,79 @@ -/**************************************************************************** -** $Id: rs_actiondrawlineangle.h 1092 2004-03-16 18:01:08Z 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_ACTIONDRAWLINEANGLE_H #define RS_ACTIONDRAWLINEANGLE_H -#include "rs_previewactioninterface.h" #include "rs_line.h" +#include "rs_previewactioninterface.h" +#include "vector.h" /** - * This action class can handle user events to draw + * This action class can handle user events to draw * simple lines at a gien angle. * * @author Andrew Mustun */ -class RS_ActionDrawLineAngle : public RS_PreviewActionInterface { - //Q_OBJECT -public: - /** - * Action States. - */ - enum Status { - SetPos, /**< Setting the position. */ - SetAngle, /**< Setting angle in the command line. */ - SetLength /**< Setting length in the command line. */ - }; - - RS_ActionDrawLineAngle(RS_EntityContainer& container, - RS_GraphicView& graphicView, - double angle=0.0, - bool fixedAngle=false); - ~RS_ActionDrawLineAngle(); - - static QAction* createGUIAction(RS2::ActionType type, QObject* /*parent*/); - - virtual RS2::ActionType rtti() { - return RS2::ActionDrawLineAngle; - } - - void reset(); - - virtual void init(int status=0); - - virtual void trigger(); - - virtual void mouseMoveEvent(QMouseEvent* e); - virtual void mouseReleaseEvent(QMouseEvent* e); - void preparePreview(); - - virtual void coordinateEvent(RS_CoordinateEvent* e); - virtual void commandEvent(RS_CommandEvent* e); - virtual QStringList getAvailableCommands(); - - virtual void hideOptions(); - virtual void showOptions(); - - virtual void updateMouseButtonHints(); - virtual void updateMouseCursor(); - virtual void updateToolBar(); - - void setSnapPoint(int sp) { - snpPoint = sp; - } - - int getSnapPoint() { - return snpPoint; - } - - void setAngle(double a) { - angle = a; - } - - double getAngle() { - return angle; - } - - void setLength(double l) { - length = l; - } - - double getLength() { - return length; - } - - bool hasFixedAngle() { - return fixedAngle; - } - -protected: - /** - * Line data defined so far. - */ - RS_LineData data; - /** - * Position. - */ - Vector pos; - /** - * Line angle. - */ - double angle; - /** - * Line length. - */ - double length; - /** - * Is the angle fixed? - */ - bool fixedAngle; - /** - * Snap point (start, middle, end). - */ - int snpPoint; +class RS_ActionDrawLineAngle: public RS_PreviewActionInterface +{ + public: + /** + * Action States. + */ + enum Status { + SetPos, /**< Setting the position. */ + SetAngle, /**< Setting angle in the command line. */ + SetLength /**< Setting length in the command line. */ + }; + + RS_ActionDrawLineAngle(RS_EntityContainer & container, RS_GraphicView & graphicView, double angle = 0.0, bool fixedAngle = false); + ~RS_ActionDrawLineAngle(); + + virtual RS2::ActionType rtti(); + void reset(); + virtual void init(int status = 0); + virtual void trigger(); + virtual void mouseMoveEvent(QMouseEvent * e); + virtual void mouseReleaseEvent(QMouseEvent * e); + void preparePreview(); + virtual void coordinateEvent(Vector * e); + virtual void commandEvent(RS_CommandEvent * e); + virtual QStringList getAvailableCommands(); + virtual void hideOptions(); + virtual void showOptions(); + virtual void updateMouseButtonHints(); + virtual void updateMouseCursor(); + virtual void updateToolBar(); + void setSnapPoint(int sp); + int getSnapPoint(); + void setAngle(double a); + double getAngle(); + void setLength(double l); + double getLength(); + bool hasFixedAngle(); + + protected: + /** + * Line data defined so far. + */ + RS_LineData data; + /** + * Position. + */ + Vector pos; + /** + * Line angle. + */ + double angle; + /** + * Line length. + */ + double length; + /** + * Is the angle fixed? + */ + bool fixedAngle; + /** + * Snap point (start, middle, end). + */ + int snpPoint; }; #endif