X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Factions%2Frs_actiondrawarc3p.cpp;h=2450e76dbf7798829e4c3a79b92ac111b336569f;hb=f7188d32d0beaef31fc3475be05daea2f018ebec;hp=9c80b67015a016971867ca5202c7039e3e184cb8;hpb=16ce54abf01ca3032e42a5bb11a4afcf9014dcca;p=architektonas diff --git a/src/actions/rs_actiondrawarc3p.cpp b/src/actions/rs_actiondrawarc3p.cpp index 9c80b67..2450e76 100644 --- a/src/actions/rs_actiondrawarc3p.cpp +++ b/src/actions/rs_actiondrawarc3p.cpp @@ -1,55 +1,36 @@ -/**************************************************************************** -** $Id: rs_actiondrawarc3p.cpp 1134 2004-07-13 23:26:13Z 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. -** -**********************************************************************/ +// rs_actiondrawarc3p.cpp +// +// Part of the Architektonas Project +// Originally part of QCad Community Edition by Andrew Mustun +// Extensively rewritten and refactored by James L. Hammons +// (C) 2010 Underground Software +// +// JLH = James L. Hammons +// +// Who When What +// --- ---------- ----------------------------------------------------------- +// JLH 06/03/2010 Added this text. :-) +// #include "rs_actiondrawarc3p.h" #include "rs_actiondrawarc.h" +#include "rs_commandevent.h" #include "commands.h" -#include "rs_snapper.h" #include "rs_dialogfactory.h" +#include "graphicview.h" +#include "rs_preview.h" -RS_ActionDrawArc3P::RS_ActionDrawArc3P(RS_EntityContainer & container, - RS_GraphicView & graphicView): +RS_ActionDrawArc3P::RS_ActionDrawArc3P(RS_EntityContainer & container, GraphicView & graphicView): RS_PreviewActionInterface("Draw arcs 3P", container, graphicView) { - reset(); + reset(); } RS_ActionDrawArc3P::~RS_ActionDrawArc3P() { } -QAction * RS_ActionDrawArc3P::createGUIAction(RS2::ActionType /*type*/, QObject * /*parent*/) -{ - QAction * action = new QAction(tr("&3 Points"), 0); -// QAction* action = new QAction(tr("Arc: 3 Points"), tr("&3 Points"), QKeySequence(), NULL); - action->setStatusTip(tr("Draw arcs with 3 points")); - return action; -} - void RS_ActionDrawArc3P::reset() { data.reset(); @@ -95,9 +76,7 @@ void RS_ActionDrawArc3P::trigger() reset(); } else - { RS_DIALOGFACTORY->commandMessage(tr("Invalid arc data.")); - } } void RS_ActionDrawArc3P::preparePreview() @@ -160,12 +139,12 @@ void RS_ActionDrawArc3P::mouseMoveEvent(QMouseEvent * e) void RS_ActionDrawArc3P::mouseReleaseEvent(QMouseEvent * e) { - if (RS2::qtToRsButtonState(e->button()) == RS2::LeftButton) + if (e->button() == Qt::LeftButton) { - RS_CoordinateEvent ce(snapPoint(e)); + Vector ce(snapPoint(e)); coordinateEvent(&ce); } - else if (RS2::qtToRsButtonState(e->button()) == RS2::RightButton) + else if (e->button() == Qt::RightButton) { deletePreview(); deleteSnapper(); @@ -173,12 +152,12 @@ void RS_ActionDrawArc3P::mouseReleaseEvent(QMouseEvent * e) } } -void RS_ActionDrawArc3P::coordinateEvent(RS_CoordinateEvent * e) +void RS_ActionDrawArc3P::coordinateEvent(Vector * e) { if (e == NULL) return; - Vector mouse = e->getCoordinate(); + Vector mouse = *e; switch (getStatus()) { @@ -235,12 +214,15 @@ void RS_ActionDrawArc3P::updateMouseButtonHints() case SetPoint1: RS_DIALOGFACTORY->updateMouseWidget(tr("Specify startpoint or [Center]"), tr("Cancel")); break; + case SetPoint2: RS_DIALOGFACTORY->updateMouseWidget(tr("Specify second point"), tr("Back")); break; + case SetPoint3: RS_DIALOGFACTORY->updateMouseWidget(tr("Specify endpoint"), tr("Back")); break; + default: RS_DIALOGFACTORY->updateMouseWidget("", ""); break; @@ -259,3 +241,4 @@ void RS_ActionDrawArc3P::updateToolBar() else RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarArcs); } +