Salome HOME
Merge from V6_main_20120808 08Aug12
[modules/geom.git] / src / AdvancedGUI / AdvancedGUI.cxx
1 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 //  File   : AdvancedGUI.cxx
21 //  Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
22 //
23 #include "AdvancedGUI.h"
24
25 #include "GeometryGUI.h"
26 #include "GeometryGUI_Operations.h"
27
28 #include <SUIT_Desktop.h>
29 #include <SalomeApp_Application.h>
30
31 #include "AdvancedGUI_PipeTShapeDlg.h"
32 #include "AdvancedGUI_DividedDiskDlg.h"
33 #include "AdvancedGUI_DividedCylinderDlg.h"
34 //@@ insert new functions before this line @@ do not remove this line @@ do not remove this line @@//
35
36 #include <QDialog>
37
38 //=======================================================================
39 // function : AdvancedGUI()
40 // purpose  : Constructor
41 //=======================================================================
42 AdvancedGUI::AdvancedGUI( GeometryGUI* parent ) : GEOMGUI( parent )
43 {
44 }
45
46 //=======================================================================
47 // function : ~AdvancedGUI
48 // purpose  : Destructor
49 //=======================================================================
50 AdvancedGUI::~AdvancedGUI()
51 {
52 }
53
54 //=======================================================================
55 // function : OnGUIEvent()
56 // purpose  : 
57 //=======================================================================
58 bool AdvancedGUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent )
59 {
60   SalomeApp_Application* app = getGeometryGUI()->getApp();
61   if ( !app ) return false;
62
63   getGeometryGUI()->EmitSignalDeactivateDialog();
64
65   QDialog* aDlg = NULL;
66
67   switch ( theCommandID ) {
68   case GEOMOp::OpPipeTShape:
69     aDlg = new AdvancedGUI_PipeTShapeDlg( getGeometryGUI(), parent );
70     break;
71 //   case GEOMOp::OpPipeTShapeGroups:
72 //     aDlg = new AdvancedGUI_PipeTShapeGroupsDlg( getGeometryGUI(), parent );
73 //     break;
74   case GEOMOp::OpDividedDisk:
75     aDlg = new AdvancedGUI_DividedDiskDlg( getGeometryGUI(), parent );
76     break;
77   case GEOMOp::OpDividedCylinder:
78     aDlg = new AdvancedGUI_DividedCylinderDlg( getGeometryGUI(), parent );
79     break;
80   //@@ insert new functions before this line @@ do not remove this line @@ do not remove this line @@//
81   default:
82     app->putInfo( tr( "GEOM_PRP_COMMAND" ).arg( theCommandID ) );
83     break;
84   }
85
86   if ( aDlg != NULL )
87     aDlg->show();
88
89   return true;
90 }
91
92 //=====================================================================================
93 // EXPORTED METHODS
94 //=====================================================================================
95 extern "C"
96 {
97 #ifdef WIN32
98   __declspec( dllexport )
99 #endif
100   GEOMGUI* GetLibGUI( GeometryGUI* parent )
101   {
102     return new AdvancedGUI( parent );
103   }
104 }