]> Shamusworld >> Repos - architektonas/blob - src/actions/rs_actionmodifyattributes.cpp
Initial import
[architektonas] / src / actions / rs_actionmodifyattributes.cpp
1 /****************************************************************************
2 ** $Id: rs_actionmodifyattributes.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_actionmodifyattributes.h"
28
29 #include "rs_modification.h"
30 #include "rs_snapper.h"
31
32
33
34 RS_ActionModifyAttributes::RS_ActionModifyAttributes(
35     RS_EntityContainer& container,
36     RS_GraphicView& graphicView)
37         :RS_ActionInterface("Change Attributes",
38                     container, graphicView) {}
39
40
41 QAction* RS_ActionModifyAttributes::createGUIAction(RS2::ActionType /*type*/, QObject* /*parent*/)
42 {
43         QAction * action = new QAction(tr("&Attributes"), 0);
44 //      QAction* action = new QAction(tr("Attributes"), tr("&Attributes"),
45 //                                                                      QKeySequence(), NULL);
46         action->setStatusTip(tr("Modify Entity Attributes"));
47
48         return action;
49 }
50
51
52 void RS_ActionModifyAttributes::init(int status) {
53     RS_ActionInterface::init(status);
54
55     trigger();
56 }
57
58
59
60 void RS_ActionModifyAttributes::trigger() {
61
62     RS_DEBUG->print("RS_ActionModifyAttributes::trigger()");
63
64     RS_AttributesData data;
65     data.pen = RS_Pen();
66     data.layer = "0";
67     data.changeColor = false;
68     data.changeLineType = false;
69     data.changeWidth = false;
70     data.changeLayer = false;
71
72     if (graphic!=NULL) {
73         if (RS_DIALOGFACTORY->requestAttributesDialog(data,
74                 *graphic->getLayerList())) {
75             RS_Modification m(*container, graphicView);
76             m.changeAttributes(data);
77         }
78     }
79
80     finish();
81     graphicView->killSelectActions();
82
83     RS_DIALOGFACTORY->updateSelectionWidget(container->countSelected());
84 }
85
86
87
88 void RS_ActionModifyAttributes::updateMouseButtonHints() {
89     switch (getStatus()) {
90         //case Acknowledge:
91         //RS_DIALOGFACTORY->updateMouseWidget(tr("Acknowledge"), tr("Cancel"));
92         //break;
93     default:
94         RS_DIALOGFACTORY->updateMouseWidget("", "");
95         break;
96     }
97 }
98
99
100
101 void RS_ActionModifyAttributes::updateMouseCursor() {
102     graphicView->setMouseCursor(RS2::DelCursor);
103 }
104
105
106
107 void RS_ActionModifyAttributes::updateToolBar() {
108     if (!isFinished()) {
109         RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarModify);
110     } else {
111         RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarMain);
112     }
113 }
114
115
116 // EOF