X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_Hypotheses.cxx;h=230327ff630451f387b66af6ad4a40415b3e3a0e;hb=337a0ab4c5f91c3c1bbee7e8114fe5dc6a17cc69;hp=858fa53e8d6ac9ac9e3de7e9d359e63f0ded5c25;hpb=40681d2920bbdf6ec6b3ebced46ac3b67771e09a;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_Hypotheses.cxx b/src/SMESHGUI/SMESHGUI_Hypotheses.cxx index 858fa53e8..230327ff6 100644 --- a/src/SMESHGUI/SMESHGUI_Hypotheses.cxx +++ b/src/SMESHGUI/SMESHGUI_Hypotheses.cxx @@ -45,8 +45,8 @@ #include -SMESHGUI_GenericHypothesisCreator::SMESHGUI_GenericHypothesisCreator( const QString& aHypType ) - : myHypType( aHypType ), myIsCreate( false ), myDlg( 0 ) +SMESHGUI_GenericHypothesisCreator::SMESHGUI_GenericHypothesisCreator( const QString& theHypType ) + : myHypType( theHypType ), myIsCreate( false ), myDlg( 0 ) { } @@ -55,63 +55,62 @@ SMESHGUI_GenericHypothesisCreator::~SMESHGUI_GenericHypothesisCreator() } void SMESHGUI_GenericHypothesisCreator::create( SMESH::SMESH_Hypothesis_ptr initParamsHyp, + const QString& theHypName, QWidget* parent) { MESSAGE( "Creation of hypothesis with initial params" ); if ( !CORBA::is_nil( initParamsHyp ) && hypType() == initParamsHyp->GetName() ) myInitParamsHypo = SMESH::SMESH_Hypothesis::_duplicate( initParamsHyp ); - create( false, parent ); + create( false, theHypName, parent ); } -void SMESHGUI_GenericHypothesisCreator::create( const bool isAlgo, QWidget* parent ) +void SMESHGUI_GenericHypothesisCreator::create( bool isAlgo, + const QString& theHypName, + QWidget* theParent ) { MESSAGE( "Creation of hypothesis" ); - // Get default name for hypothesis/algorithm creation - HypothesisData* aHypData = SMESH::GetHypothesisData( hypType().latin1() ); - QString aHypName = aHypData ? aHypData->Label : hypType(); - myIsCreate = true; // Create hypothesis/algorithm if (isAlgo) - SMESH::CreateHypothesis( hypType(), aHypName, isAlgo ); - + SMESH::CreateHypothesis( hypType(), theHypName, isAlgo ); else { - SMESH::SMESH_Hypothesis_var newHypo = SMESH::SMESH_Hypothesis::_narrow - ( SMESH::CreateHypothesis( hypType(), aHypName, false ) ); - - if( !editHypothesis( newHypo.in(), parent ) ) + SMESH::SMESH_Hypothesis_var aHypothesis = + SMESH::CreateHypothesis( hypType(), theHypName, false ); + if( !editHypothesis( aHypothesis.in(), theHypName, theParent ) ) { //remove just created hypothesis - _PTR(SObject) SHyp = SMESH::FindSObject( newHypo.in() ); + _PTR(SObject) aHypSObject = SMESH::FindSObject( aHypothesis.in() ); _PTR(Study) aStudy = SMESH::GetActiveStudyDocument(); if( aStudy && !aStudy->GetProperties()->IsLocked() ) { _PTR(StudyBuilder) aBuilder = aStudy->NewBuilder(); - aBuilder->RemoveObjectWithChildren( SHyp ); + aBuilder->RemoveObjectWithChildren( aHypSObject ); } } } SMESHGUI::GetSMESHGUI()->updateObjBrowser( true, 0 ); } -void SMESHGUI_GenericHypothesisCreator::edit( SMESH::SMESH_Hypothesis_ptr h, QWidget* parent ) +void SMESHGUI_GenericHypothesisCreator::edit( SMESH::SMESH_Hypothesis_ptr theHypothesis, + const QString& theHypName, + QWidget* theParent ) { - if( CORBA::is_nil( h ) ) + if( CORBA::is_nil( theHypothesis ) ) return; MESSAGE("Edition of hypothesis"); myIsCreate = false; - if( !editHypothesis( h, parent ) ) + if( !editHypothesis( theHypothesis, theHypName, theParent ) ) return; - SMESH::SObjectList listSOmesh = SMESH::GetMeshesUsingAlgoOrHypothesis( h ); + SMESH::SObjectList listSOmesh = SMESH::GetMeshesUsingAlgoOrHypothesis( theHypothesis ); if( listSOmesh.size() > 0 ) - for( int i=0; i( submSO ); @@ -124,29 +123,30 @@ void SMESHGUI_GenericHypothesisCreator::edit( SMESH::SMESH_Hypothesis_ptr h, QWi SMESHGUI::GetSMESHGUI()->updateObjBrowser( true, 0 ); } -bool SMESHGUI_GenericHypothesisCreator::editHypothesis( SMESH::SMESH_Hypothesis_ptr h, QWidget* parent ) +bool SMESHGUI_GenericHypothesisCreator::editHypothesis( SMESH::SMESH_Hypothesis_ptr h, + const QString& theHypName, + QWidget* theParent ) { if( CORBA::is_nil( h ) ) return false; bool res = true; + myHypName = theHypName; myHypo = SMESH::SMESH_Hypothesis::_duplicate( h ); - SMESHGUI_HypothesisDlg* Dlg = - new SMESHGUI_HypothesisDlg( const_cast( this ), parent ); + SMESHGUI_HypothesisDlg* Dlg = new SMESHGUI_HypothesisDlg( this, theParent ); myDlg = Dlg; QFrame* fr = buildFrame(); if( fr ) { Dlg->setCustomFrame( fr ); Dlg->setCaption( caption() ); + Dlg->setName( theHypName ); Dlg->setHIcon( icon() ); Dlg->setType( type() ); retrieveParams(); Dlg->show(); - //connect(myDlg, SIGNAL( closed() ), this, SLOT( onDlgClosed() )); qApp->enter_loop(); // make myDlg not modal -// res = myDlg->exec()==QDialog::Accepted; res = myDlg->result(); if( res ) { QString paramValues = storeParams(); @@ -332,6 +332,11 @@ QString SMESHGUI_GenericHypothesisCreator::hypType() const return myHypType; } +QString SMESHGUI_GenericHypothesisCreator::hypName() const +{ + return myHypName; +} + const SMESHGUI_GenericHypothesisCreator::ListOfWidgets& SMESHGUI_GenericHypothesisCreator::widgets() const { return myParamWidgets;