]> Shamusworld >> Repos - architektonas/blob - src/actions/rs_actiontoolregeneratedimensions.cpp
d59f7ee60dacd5a48b813dc7b1e4446fd37d4e62
[architektonas] / src / actions / rs_actiontoolregeneratedimensions.cpp
1 /****************************************************************************
2 ** $Id: rs_actiontoolregeneratedimensions.cpp 1074 2004-02-29 00:30:50Z 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_actiontoolregeneratedimensions.h"
28
29 #include "rs_information.h"
30 #include "rs_dimension.h"
31
32 RS_ActionToolRegenerateDimensions::RS_ActionToolRegenerateDimensions(RS_EntityContainer& container,
33         RS_GraphicView& graphicView):
34         RS_ActionInterface("Tool Regen Dim", container, graphicView)
35 {
36 }
37
38 QAction * RS_ActionToolRegenerateDimensions::createGUIAction(RS2::ActionType /*type*/, QObject * /*parent*/)
39 {
40         QAction * action = new QAction(tr("&Regenerate Dimension Entities"), 0);
41 //      QAction* action = new QAction(tr("Regenerate Dimension Entities"),
42 //                                                                      tr("&Regenerate Dimension Entities"),
43 //                                                                      QKeySequence(), NULL);
44         action->setStatusTip(tr("Regenerates all Dimension Entities"));
45
46         return action;
47 }
48
49 void RS_ActionToolRegenerateDimensions::init(int status)
50 {
51         RS_ActionInterface::init(status);
52
53         trigger();
54 }
55
56 void RS_ActionToolRegenerateDimensions::trigger()
57 {
58         RS_DEBUG->print("RS_ActionToolRegenerateDimensions::trigger()");
59
60         int num = 0;
61         for (RS_Entity* e = container->firstEntity(RS2::ResolveNone);
62                         e != NULL;
63                         e = container->nextEntity(RS2::ResolveNone))
64         {
65                 if (RS_Information::isDimension(e->rtti()) && e->isVisible())
66                 {
67                         num++;
68                         if (((RS_Dimension*)e)->getLabel()==";;")
69                         {
70                                 ((RS_Dimension*)e)->setLabel("");
71                         }
72
73                         ((RS_Dimension*)e)->update(true);
74                 }
75         }
76
77         if (num > 0)
78         {
79                 graphicView->redraw();
80                 RS_DIALOGFACTORY->commandMessage(tr("Regenerated %1 dimension entities").arg(num));
81         }
82         else
83         {
84                 RS_DIALOGFACTORY->commandMessage(tr("No dimension entities found"));
85         }
86
87         finish();
88 }
89
90
91 // EOF