]> Shamusworld >> Repos - architektonas/blob - src/actions/rs_actiondimension.cpp
Initial import
[architektonas] / src / actions / rs_actiondimension.cpp
1 /****************************************************************************
2 ** $Id: rs_actiondimension.cpp 1141 2004-07-29 20:32:39Z 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_actiondimaligned.h"
28
29 #include "rs_snapper.h"
30 #include "rs_constructionline.h"
31 #include "rs_dialogfactory.h"
32
33 RS_ActionDimension::RS_ActionDimension(const char * name,
34         RS_EntityContainer & container, RS_GraphicView & graphicView):
35         RS_PreviewActionInterface(name, container, graphicView)
36 {
37     reset();
38 }
39
40 RS_ActionDimension::~RS_ActionDimension()
41 {
42 }
43
44 void RS_ActionDimension::reset()
45 {
46     data = RS_DimensionData(Vector(false),
47                             Vector(false),
48                             RS2::VAlignMiddle,
49                             RS2::HAlignCenter,
50                             RS2::Exact,
51                             1.0,
52                             "",
53                             "Standard",
54                             0.0);
55         diameter = false;
56 }
57
58 void RS_ActionDimension::init(int status)
59 {
60         RS_PreviewActionInterface::init(status);
61         //reset();
62 }
63
64 void RS_ActionDimension::hideOptions()
65 {
66         RS_ActionInterface::hideOptions();
67
68         if (RS_DIALOGFACTORY != NULL)
69         {
70                 RS_DIALOGFACTORY->requestOptions(this, false);
71         }
72 }
73
74 void RS_ActionDimension::showOptions()
75 {
76         RS_ActionInterface::showOptions();
77
78         if (RS_DIALOGFACTORY != NULL)
79         {
80                 RS_DIALOGFACTORY->requestOptions(this, true, true);
81         }
82 }
83
84 void RS_ActionDimension::updateMouseCursor()
85 {
86         graphicView->setMouseCursor(RS2::CadCursor);
87 }
88
89 void RS_ActionDimension::updateToolBar()
90 {
91         if (RS_DIALOGFACTORY!=NULL)
92         {
93                 if (!isFinished())
94                 {
95                         RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarSnap);
96                 }
97                 else
98                 {
99                         RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarDim);
100                 }
101         }
102 }
103
104 // EOF