1 // actionlayerstogglelock.cpp
3 // Part of the Architektonas Project
4 // Originally part of QCad Community Edition by Andrew Mustun
5 // Extensively rewritten and refactored by James L. Hammons
6 // Portions copyright (C) 2001-2003 RibbonSoft
7 // Copyright (C) 2010 Underground Software
8 // See the README and GPLv2 files for licensing and warranty information
10 // JLH = James L. Hammons <jlhamm@acm.org>
13 // --- ---------- -----------------------------------------------------------
14 // JLH 06/04/2010 Added this text. :-)
17 #include "actionlayerstogglelock.h"
19 #include "graphicview.h"
22 ActionLayersToggleLock::ActionLayersToggleLock(RS_EntityContainer & container, GraphicView & graphicView): ActionInterface("Toggle Layer Visibility",
23 container, graphicView)
27 ActionLayersToggleLock::~ActionLayersToggleLock()
31 void ActionLayersToggleLock::trigger()
33 RS_DEBUG->print("toggle layer");
37 RS_Layer * layer = graphic->getActiveLayer();
41 graphic->toggleLayerLock(layer);
43 // deselect entities on locked layer:
44 if (layer->isLocked())
45 for (RS_Entity * e = container->firstEntity(); e != NULL;
46 e = container->nextEntity())
47 if (e != NULL && e->isVisible() && e->getLayer() == layer)
49 if (graphicView != NULL)
50 graphicView->deleteEntity(e);
52 e->setSelected(false);
54 if (graphicView != NULL)
55 graphicView->drawEntity(e);
63 void ActionLayersToggleLock::init(int status)
65 ActionInterface::init(status);