]> Shamusworld >> Repos - architektonas/blob - src/actions/rs_actionlayersremove.cpp
Changed RS_Graphic to Drawing; this is less confusing as a drawing is
[architektonas] / src / actions / rs_actionlayersremove.cpp
1 /****************************************************************************
2 ** $Id: rs_actionlayersremove.cpp 1062 2004-01-16 21:51:20Z andrew $
3 **
4 ** Copyright (C) 2001-2003 RibbonSoft. All rights reserved.
5 **
6 ** This file is part of the qcadlib Library project.
7 **
8 ** This file may be distributed and/or modified under the terms of the
9 ** GNU General Public License version 2 as published by the Free Software
10 ** Foundation and appearing in the file LICENSE.GPL included in the
11 ** packaging of this file.
12 **
13 ** Licensees holding valid qcadlib Professional Edition licenses may use
14 ** this file in accordance with the qcadlib Commercial License
15 ** Agreement provided with the Software.
16 **
17 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
18 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19 **
20 ** See http://www.ribbonsoft.com for further details.
21 **
22 ** Contact info@ribbonsoft.com if any conditions of this licensing are
23 ** not clear to you.
24 **
25 **********************************************************************/
26
27 #include "rs_actionlayersremove.h"
28
29 #include "drawing.h"
30
31
32
33 RS_ActionLayersRemove::RS_ActionLayersRemove(RS_EntityContainer& container,
34         RS_GraphicView& graphicView)
35         :RS_ActionInterface("Remove Layer", container, graphicView) {}
36
37
38 QAction * RS_ActionLayersRemove::createGUIAction(RS2::ActionType /*type*/, QObject * /*parent*/)
39 {
40         QAction * action = new QAction(tr("&Remove Layer"), 0);
41 //      QAction * action = new QAction(tr("Remove Layer"), tr("&Remove Layer"),
42 //                                                                      QKeySequence(), NULL);
43         action->setStatusTip(tr("Remove Layer"));
44         return action;
45 }
46
47
48 void RS_ActionLayersRemove::trigger() {
49     RS_DEBUG->print("RS_ActionLayersRemove::trigger");
50
51     if (graphic!=NULL) {
52         RS_Layer* layer =
53             RS_DIALOGFACTORY->requestLayerRemovalDialog(graphic->getLayerList());
54
55         /*
56               if (layer!=NULL && layer->getName()!="0") {
57
58                   graphic->startUndoCycle();
59                   for (RS_Entity* e=graphic->firstEntity(RS2::ResolveNone);
60                           e!=NULL;
61                           e=graphic->nextEntity(RS2::ResolveNone)) {
62
63                       if (e->getLayer()!=NULL &&
64                               e->getLayer()->getName()==layer->getName()) {
65
66                           e->setUndoState(true);
67                           e->setLayer("0");
68                           graphic->addUndoable(e);
69                       }
70                   }
71
72
73                   graphic->endUndoCycle();
74         */
75
76         // Now remove the layer from the layer list:
77         graphic->removeLayer(layer);
78     }
79     finish();
80     RS_DIALOGFACTORY->updateSelectionWidget(container->countSelected());
81 }
82
83
84
85 void RS_ActionLayersRemove::init(int status) {
86     RS_ActionInterface::init(status);
87     trigger();
88 }
89
90 // EOF