Salome HOME
05cbb334565f962aad4a0fcf510f3d4c41be39e5
[modules/geom.git] / src / BlocksGUI / BlocksGUI_ExplodeDlg.h
1 // GEOM GEOMGUI : GUI for Geometry component
2 //
3 // Copyright (C) 2003  CEA
4 //
5 // This library is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation; either
8 // version 2.1 of the License.
9 //
10 // This library is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 // Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with this library; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
18 //
19 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 //
21 // File   : BlocksGUI_ExplodeDlg.h
22 // Author : Julia DOROVSKIKH, Open CASCADE S.A.S. (julia.dorovskikh@opencascade.com)
23 //
24
25 #ifndef BLOCKSGUI_EXPLODEDLG_H
26 #define BLOCKSGUI_EXPLODEDLG_H
27
28 #include <GEOMBase_Skeleton.h>
29
30 class DlgRef_1Sel2Spin1View1Check;
31
32 //=================================================================================
33 // class    : BlocksGUI_ExplodeDlg
34 // purpose  :
35 //=================================================================================
36 class BlocksGUI_ExplodeDlg : public GEOMBase_Skeleton
37 {
38   Q_OBJECT
39
40 public:
41   BlocksGUI_ExplodeDlg( GeometryGUI*, QWidget* );
42   ~BlocksGUI_ExplodeDlg();
43
44 protected:
45   // redefined from GEOMBase_Helper
46   virtual GEOM::GEOM_IOperations_ptr createOperation();
47   virtual bool                       isValid( QString& );
48   virtual bool                       execute( ObjectList& );
49   virtual GEOM::GEOM_Object_ptr      getFather( GEOM::GEOM_Object_ptr );
50
51   virtual const char*                getNewObjectName() const; 
52
53 private:
54   void                               Init();
55   void                               enterEvent( QEvent* );
56
57   void                               activateSelection();
58
59   void                               updateButtonState();
60   bool                               isAllSubShapes() const;
61   int                                shapeType() const;
62
63   void                               clearTemporary();
64
65 private:
66   int                                myConstructorId;
67
68   CORBA::Long                        myNbBlocks;
69   GEOM::GEOM_Object_var              myObject;
70
71   ObjectList                         myTmpObjs;
72
73   DlgRef_1Sel2Spin1View1Check*       myGrp1;
74
75 private slots:
76   void                               ClickOnOk();
77   bool                               ClickOnApply();
78   void                               ActivateThisDialog();
79   void                               ConstructorsClicked( int );
80
81   void                               SelectionIntoArgument();
82   void                               SetEditCurrentArgument();
83
84   void                               SubShapeToggled();
85
86   void                               ValueChangedInSpinBox();
87 };
88
89 #endif // BLOCKSGUI_EXPLODEDLG_H