Salome HOME
IPAL20715 impossible to select sub-shape after apply group
[modules/geom.git] / src / DlgRef / DlgRef_3Sel3Spin1Check.cxx
1 //  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 //  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 //  This library is free software; you can redistribute it and/or
7 //  modify it under the terms of the GNU Lesser General Public
8 //  License as published by the Free Software Foundation; either
9 //  version 2.1 of the License.
10 //
11 //  This library is distributed in the hope that it will be useful,
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 //  Lesser General Public License for more details.
15 //
16 //  You should have received a copy of the GNU Lesser General Public
17 //  License along with this library; if not, write to the Free Software
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 //  GEOM GEOMGUI : GUI for Geometry component
23 //  File   : DlgRef_3Sel3Spin1Check.cxx
24 //  Author : Michael Zorin
25 //  Module : GEOM
26 //  $Header: 
27 //
28 #include <DlgRef_3Sel3Spin1Check.h>
29 #include <qlabel.h>
30 #include <qpushbutton.h>
31 #include <qlineedit.h>
32 #include <qcheckbox.h>
33 #include <qspinbox.h>
34 #include <qlayout.h>
35 #include <qgroupbox.h>
36
37
38 /* 
39  *  Constructs a DlgRef_3Sel3Spin1Check which is a child of 'parent', with the 
40  *  name 'name' and widget flags set to 'f' 
41  */
42 DlgRef_3Sel3Spin1Check::DlgRef_3Sel3Spin1Check(QWidget* parent,  const char* name, WFlags fl)
43   :DlgRef_3Sel3Spin1Check_QTD(parent, name, fl)
44 {
45   SpinBox_1->close(TRUE);
46   SpinBox_2->close(TRUE);
47   SpinBox_3->close(TRUE);
48   SpinBox1 = new DlgRef_SpinBox(GroupBox1, "SpinBox_DX");
49   SpinBox2 = new DlgRef_SpinBox(GroupBox1, "SpinBox_DY");
50   SpinBox3 = new DlgRef_SpinBox(GroupBox1, "SpinBox_DZ");
51   Layout1->addWidget(SpinBox1, 3, 2);
52   Layout1->addWidget(SpinBox2, 4, 2);
53   Layout1->addWidget(SpinBox3, 5, 2);
54 }
55
56
57 /*  
58  *  Destroys the object and frees any allocated resources
59  */
60 DlgRef_3Sel3Spin1Check::~DlgRef_3Sel3Spin1Check()
61 {
62     // no need to delete child widgets, Qt does it all for us
63 }
64
65 void DlgRef_3Sel3Spin1Check:: ShowRows(int fromRow, int toRow, bool toShow)
66 {
67   typedef void (QWidget::* ShowFun)(); 
68   ShowFun pShowFun;    
69
70   if (toShow)
71         pShowFun = &QWidget::show;
72   else
73         pShowFun = &QWidget::hide;
74
75   if (fromRow >= 0 && toRow>=0 && toRow >= fromRow)
76     {
77       if ( fromRow == 0)
78         {
79           (TextLabel1->*pShowFun)();
80           (PushButton1->*pShowFun)();
81           (LineEdit1->*pShowFun)();
82         }
83       if ( fromRow <= 1 && 1 <= toRow)
84         {
85           (TextLabel2->*pShowFun)();
86           (PushButton2->*pShowFun)();
87           (LineEdit2->*pShowFun)(); 
88         }
89       if ( fromRow <= 2 && 2 <= toRow)
90         {
91           (TextLabel3->*pShowFun)();
92           (PushButton3->*pShowFun)();
93           (LineEdit3->*pShowFun)(); 
94         }
95       if ( fromRow <= 3 && 3 <= toRow)
96         {
97           (TextLabel4->*pShowFun)();
98           (SpinBox1->*pShowFun)();
99         }
100       if ( fromRow <= 4 && 4 <= toRow)
101         {
102           (TextLabel5->*pShowFun)();
103           (SpinBox2->*pShowFun)();
104         }
105       if ( fromRow <= 5 && 5 <= toRow)
106         {
107           (TextLabel6->*pShowFun)();
108           (SpinBox3->*pShowFun)();
109         }
110       if ( fromRow <= 6 && 6 <= toRow)
111         (CheckBox1->*pShowFun)();
112     }
113 }