X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FRepairGUI%2FRepairGUI.cxx;h=5144986fa7d9625e81ab26a92144a39d73f503a1;hb=41d1a2c61190b79b8de058ef77d8fbc3bad8cec5;hp=fe3d7b27c0298d4d61dc9446beaae8771ada5b63;hpb=a994aaae9fdb6be17cd155fb34058e401825d620;p=modules%2Fgeom.git diff --git a/src/RepairGUI/RepairGUI.cxx b/src/RepairGUI/RepairGUI.cxx index fe3d7b27c..5144986fa 100644 --- a/src/RepairGUI/RepairGUI.cxx +++ b/src/RepairGUI/RepairGUI.cxx @@ -1,35 +1,35 @@ -// GEOM GEOMGUI : GUI for Geometry component +// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. // +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // // File : RepairGUI.cxx -// Author : Damien COQUERET -// Module : GEOM -// $Header$ +// Author : Damien COQUERET, Open CASCADE S.A.S. #include "RepairGUI.h" -#include "SUIT_Desktop.h" -#include "SUIT_Session.h" +#include +#include "GeometryGUI_Operations.h" + +#include +#include +#include #include "RepairGUI_SewingDlg.h" // Method SEWING #include "RepairGUI_SuppressFacesDlg.h" // Method SUPPRESS FACES @@ -41,35 +41,20 @@ #include "RepairGUI_FreeBoundDlg.h" // Method FREE BOUNDARIES #include "RepairGUI_FreeFacesDlg.h" // Method FREE FACES #include "RepairGUI_GlueDlg.h" // Method GLUE FACES - -#include "utilities.h" - -using namespace std; - -RepairGUI* RepairGUI::myGUIObject = 0; - -//======================================================================= -// function : GetRepairGUI() -// purpose : Get the only RepairGUI object [ static ] -//======================================================================= -RepairGUI* RepairGUI::GetRepairGUI( GeometryGUI* parent ) -{ - if ( myGUIObject == 0 ) { - // init RepairGUI only once - myGUIObject = new RepairGUI( parent ); - } - return myGUIObject; -} +#include "RepairGUI_LimitToleranceDlg.h" // Method LIMIT TOLERANCE +#include "RepairGUI_ChangeOrientationDlg.h" // Method CHANGE ORIENTATION +#include "RepairGUI_RemoveExtraEdgesDlg.h" // Method REMOVE EXTRA EDGES +#include "RepairGUI_FuseEdgesDlg.h" // Method FUSE COLLINEAR EDGES //======================================================================= // function : RepairGUI() // purpose : Constructor //======================================================================= -RepairGUI::RepairGUI( GeometryGUI* parent ) : GEOMGUI( parent ) +RepairGUI::RepairGUI( GeometryGUI* parent ) + : GEOMGUI( parent ) { } - //======================================================================= // function : ~RepairGUI() // purpose : Destructor @@ -81,52 +66,40 @@ RepairGUI::~RepairGUI() //======================================================================= // function : OnGUIEvent() -// purpose : +// purpose : //======================================================================= -bool RepairGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent) +bool RepairGUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent ) { + SalomeApp_Application* app = getGeometryGUI()->getApp(); + if ( !app ) return false; + getGeometryGUI()->EmitSignalDeactivateDialog(); - + QDialog* aDlg = NULL; switch (theCommandID) { - case 601: // SEWING - aDlg = new RepairGUI_SewingDlg( parent, "" ); - break; - case 602: // GLUE FACES - aDlg = new RepairGUI_GlueDlg( parent, "" ); - break; - case 603: // SUPPRESS FACES - aDlg = new RepairGUI_SuppressFacesDlg( parent, "" ); - break; - case 604: // SUPPRESS HOLES - aDlg = new RepairGUI_RemoveHolesDlg( parent, "" ); - break; - case 605: // SHAPE PROCESSING - aDlg = new RepairGUI_ShapeProcessDlg( parent, "" ); - break; - case 606: // CLOSE CONTOUR - aDlg = new RepairGUI_CloseContourDlg( parent, "" ); - break; - case 607: // REMOVE INTERNAL WIRES - aDlg = new RepairGUI_RemoveIntWiresDlg( parent, "" ); - break; - case 608: // ADD POINT ON EDGE - aDlg = new RepairGUI_DivideEdgeDlg( parent, "" ); - break; - case 609: // FREE BOUNDARIES - aDlg = new RepairGUI_FreeBoundDlg( getGeometryGUI(), parent ); - break; - case 610: // FREE FACES - aDlg = new RepairGUI_FreeFacesDlg( getGeometryGUI(), parent, "" ); - break; - default: - SUIT_Session::session()->activeApplication()->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID)); - break; + case GEOMOp::OpSewing: aDlg = new RepairGUI_SewingDlg (getGeometryGUI(), parent); break; + case GEOMOp::OpGlueFaces: aDlg = new RepairGUI_GlueDlg (getGeometryGUI(), parent, false, TopAbs_FACE); break; + case GEOMOp::OpGlueEdges: aDlg = new RepairGUI_GlueDlg (getGeometryGUI(), parent, false, TopAbs_EDGE); break; + case GEOMOp::OpLimitTolerance: aDlg = new RepairGUI_LimitToleranceDlg (getGeometryGUI(), parent); break; + case GEOMOp::OpSuppressFaces: aDlg = new RepairGUI_SuppressFacesDlg (getGeometryGUI(), parent); break; + case GEOMOp::OpSuppressHoles: aDlg = new RepairGUI_RemoveHolesDlg (getGeometryGUI(), parent); break; + case GEOMOp::OpShapeProcess: aDlg = new RepairGUI_ShapeProcessDlg (getGeometryGUI(), parent); break; + case GEOMOp::OpCloseContour: aDlg = new RepairGUI_CloseContourDlg (getGeometryGUI(), parent); break; + case GEOMOp::OpRemoveIntWires: aDlg = new RepairGUI_RemoveIntWiresDlg (getGeometryGUI(), parent); break; + case GEOMOp::OpAddPointOnEdge: aDlg = new RepairGUI_DivideEdgeDlg (getGeometryGUI(), parent); break; + case GEOMOp::OpFreeBoundaries: aDlg = new RepairGUI_FreeBoundDlg (getGeometryGUI(), parent); break; + case GEOMOp::OpFreeFaces: aDlg = new RepairGUI_FreeFacesDlg (getGeometryGUI(), parent); break; + case GEOMOp::OpOrientation: aDlg = new RepairGUI_ChangeOrientationDlg (getGeometryGUI(), parent); break; + case GEOMOp::OpRemoveExtraEdges: aDlg = new RepairGUI_RemoveExtraEdgesDlg (getGeometryGUI(), parent); break; + case GEOMOp::OpFuseEdges: aDlg = new RepairGUI_FuseEdgesDlg (getGeometryGUI(), parent); break; + default: + app->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID)); + break; } - if ( aDlg ) + if (aDlg) aDlg->show(); - + return true; } @@ -137,10 +110,10 @@ bool RepairGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent) extern "C" { #ifdef WNT - __declspec( dllexport ) + __declspec( dllexport ) #endif GEOMGUI* GetLibGUI( GeometryGUI* parent ) { - return RepairGUI::GetRepairGUI( parent ); + return new RepairGUI( parent ); } }