X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Factions%2Frs_actionlayerstogglelock.cpp;h=b8ac38965d77a0efbf4c4d792b31081647011969;hb=3f46c180da0806c9c263e6d87d0f1404632402da;hp=93cb56d34e2e96cbbac63de2360f8dc83fd7ba12;hpb=16ce54abf01ca3032e42a5bb11a4afcf9014dcca;p=architektonas diff --git a/src/actions/rs_actionlayerstogglelock.cpp b/src/actions/rs_actionlayerstogglelock.cpp index 93cb56d..b8ac389 100644 --- a/src/actions/rs_actionlayerstogglelock.cpp +++ b/src/actions/rs_actionlayerstogglelock.cpp @@ -1,89 +1,66 @@ -/**************************************************************************** -** $Id: rs_actionlayerstogglelock.cpp 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. -** -**********************************************************************/ +// rs_actionlayerstogglelock.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/04/2010 Added this text. :-) +// #include "rs_actionlayerstogglelock.h" -#include "rs_graphic.h" - - - -RS_ActionLayersToggleLock::RS_ActionLayersToggleLock( - RS_EntityContainer& container, - RS_GraphicView& graphicView) - :RS_ActionInterface("Toggle Layer Visibility", - container, graphicView) {} +#include "rs_graphicview.h" +#include "drawing.h" +RS_ActionLayersToggleLock::RS_ActionLayersToggleLock(RS_EntityContainer & container, RS_GraphicView & graphicView): RS_ActionInterface("Toggle Layer Visibility", + container, graphicView) +{ +} -QAction* RS_ActionLayersToggleLock::createGUIAction(RS2::ActionType /*type*/, QObject* /*parent*/) +RS_ActionLayersToggleLock::~RS_ActionLayersToggleLock() { - QAction * action = new QAction(tr("&Toggle Lock"), 0); -// QAction* action = new QAction(tr("Toggle Layer Lock"), -// tr("&Toggle Lock"), -// QKeySequence(), NULL); - action->setStatusTip(tr("Toggle Lock")); - return action; } void RS_ActionLayersToggleLock::trigger() { - RS_DEBUG->print("toggle layer"); - if (graphic!=NULL) { - RS_Layer* layer = graphic->getActiveLayer(); - if (layer!=NULL) { - graphic->toggleLayerLock(layer); - - // deselect entities on locked layer: - if (layer->isLocked()) { - for (RS_Entity* e=container->firstEntity(); e!=NULL; - e=container->nextEntity()) { - if (e!=NULL && e->isVisible() && e->getLayer()==layer) { - - if (graphicView!=NULL) { - graphicView->deleteEntity(e); - } - - e->setSelected(false); - - if (graphicView!=NULL) { - graphicView->drawEntity(e); - } - } - } - } - } - - } - finish(); + RS_DEBUG->print("toggle layer"); + + if (graphic != NULL) + { + RS_Layer * layer = graphic->getActiveLayer(); + + if (layer != NULL) + { + graphic->toggleLayerLock(layer); + + // deselect entities on locked layer: + if (layer->isLocked()) + for (RS_Entity * e = container->firstEntity(); e != NULL; + e = container->nextEntity()) + if (e != NULL && e->isVisible() && e->getLayer() == layer) + { + if (graphicView != NULL) + graphicView->deleteEntity(e); + + e->setSelected(false); + + if (graphicView != NULL) + graphicView->drawEntity(e); + } + } + } + + finish(); } - - -void RS_ActionLayersToggleLock::init(int status) { - RS_ActionInterface::init(status); - trigger(); +void RS_ActionLayersToggleLock::init(int status) +{ + RS_ActionInterface::init(status); + trigger(); } -// EOF