X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_NodesDlg.cxx;h=fe21898a10fc4584f44b03e5b86b3c1d9481147c;hp=6988b3972e3c97b9bb165555edaf78fd811d1a40;hb=HEAD;hpb=b0a908c0d20341651771d0249fb10882f54b2aad diff --git a/src/SMESHGUI/SMESHGUI_NodesDlg.cxx b/src/SMESHGUI/SMESHGUI_NodesDlg.cxx index 6988b3972..01f86709c 100644 --- a/src/SMESHGUI/SMESHGUI_NodesDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_NodesDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -55,7 +55,7 @@ #include #include -#include +//#include // SALOME KERNEL includes #include @@ -100,11 +100,9 @@ namespace SMESH try { _PTR(SObject) aSobj = SMESH::FindSObject( theMesh ); SMESH::SMESH_MeshEditor_var aMeshEditor = theMesh->GetMeshEditor(); - theMesh->SetParameters( theParameters.join(":").toLatin1().constData() ); + theMesh->SetParameters( theParameters.join(":").toUtf8().constData() ); aNodeId = aMeshEditor->AddNode( x, y, z ); - _PTR(Study) aStudy = GetActiveStudyDocument(); - CORBA::Long anId = aStudy->StudyId(); - if (TVisualObjPtr aVisualObj = SMESH::GetVisualObj( anId, aSobj->GetID().c_str() ) ) { + if (TVisualObjPtr aVisualObj = SMESH::GetVisualObj( aSobj->GetID().c_str() ) ) { aVisualObj->Update( true ); } } @@ -154,7 +152,7 @@ namespace SMESH aCells->InsertNextCell( anIdList ); aCellTypesArray->InsertNextValue( VTK_VERTEX ); - VTKViewer_CellLocationsArray* aCellLocationsArray = VTKViewer_CellLocationsArray::New(); + vtkIdTypeArray* aCellLocationsArray = vtkIdTypeArray::New(); aCellLocationsArray->SetNumberOfComponents( 1 ); aCellLocationsArray->SetNumberOfTuples( 1 ); @@ -230,8 +228,8 @@ namespace SMESH //================================================================================= SMESHGUI_NodesDlg::SMESHGUI_NodesDlg( SMESHGUI* theModule ): QDialog( SMESH::GetDesktop( theModule ) ), - mySelector( SMESH::GetViewWindow( theModule )->GetSelector() ), mySelectionMgr( SMESH::GetSelectionMgr( theModule ) ), + mySelector( SMESH::GetViewWindow( theModule )->GetSelector() ), mySMESHGUI( theModule ) { setModal( false ); @@ -331,7 +329,7 @@ SMESHGUI_NodesDlg::SMESHGUI_NodesDlg( SMESHGUI* theModule ): SMESHGUI_NodesDlgLayout->addWidget( GroupGroups ); SMESHGUI_NodesDlgLayout->addWidget( GroupButtons ); - myHelpFileName = "adding_nodes_and_elements_page.html#adding_nodes_anchor"; + myHelpFileName = "adding_nodes_and_elements.html#adding-nodes-anchor"; /* Initialisation and display */ Init(); @@ -382,8 +380,9 @@ void SMESHGUI_NodesDlg::Init() connect( mySMESHGUI, SIGNAL( SignalDeactivateActiveDialog() ), SLOT( DeactivateActiveDialog() ) ); /* to close dialog if study frame change */ connect( mySMESHGUI, SIGNAL( SignalStudyFrameChanged() ), SLOT( reject() ) ); - connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(reject())); - + connect( mySMESHGUI, SIGNAL( SignalCloseAllDialogs() ), SLOT( reject() ) ); + connect( mySMESHGUI, SIGNAL( SignalActivatedViewManager() ), SLOT( onOpenView() ) ); + connect( mySMESHGUI, SIGNAL( SignalCloseView() ), SLOT( onCloseView() ) ); // set selection mode SMESH::SetPointRepresentation( true ); if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ) ) @@ -396,13 +395,12 @@ void SMESHGUI_NodesDlg::Init() // function : ValueChangedInSpinBox() // purpose : //================================================================================= -void SMESHGUI_NodesDlg::ValueChangedInSpinBox( double newValue ) +void SMESHGUI_NodesDlg::ValueChangedInSpinBox( double /*newValue*/ ) { if ( !myMesh->_is_nil() ) { double vx = SpinBox_X->GetValue(); double vy = SpinBox_Y->GetValue(); double vz = SpinBox_Z->GetValue(); - mySimulation->SetPosition( vx, vy, vz ); } } @@ -423,7 +421,7 @@ void SMESHGUI_NodesDlg::ClickOnOk() //================================================================================= bool SMESHGUI_NodesDlg::ClickOnApply() { - if ( mySMESHGUI->isActiveStudyLocked() ) + if ( SMESHGUI::isStudyLocked() ) return false; if ( myMesh->_is_nil() ) { @@ -499,7 +497,7 @@ bool SMESHGUI_NodesDlg::ClickOnApply() } if ( !aGroupUsed->_is_nil() ) { - SMESH::long_array_var anIdList = new SMESH::long_array; + SMESH::smIdType_array_var anIdList = new SMESH::smIdType_array; anIdList->length( 1 ); anIdList[0] = aNodeId; aGroupUsed->Add( anIdList.inout() ); @@ -547,7 +545,6 @@ void SMESHGUI_NodesDlg::reject() disconnect( mySelectionMgr, 0, this, 0 ); if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ) ) aViewWindow->SetSelectionMode( ActorSelection ); - mySimulation->SetVisibility( false ); SMESH::SetPointRepresentation( false ); mySMESHGUI->ResetState(); @@ -555,6 +552,36 @@ void SMESHGUI_NodesDlg::reject() QDialog::reject(); } +//================================================================================= +// function : onOpenView() +// purpose : +//================================================================================= +void SMESHGUI_NodesDlg::onOpenView() +{ + if ( mySelector && mySimulation ) { + mySimulation->SetVisibility(false); + SMESH::SetPointRepresentation(false); + } + else { + SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ); + mySelector = aViewWindow->GetSelector(); + mySimulation = new SMESH::TNodeSimulation(aViewWindow); + ActivateThisDialog(); + } +} + +//================================================================================= +// function : onCloseView() +// purpose : +//================================================================================= +void SMESHGUI_NodesDlg::onCloseView() +{ + DeactivateActiveDialog(); + mySelector = 0; + delete mySimulation; + mySimulation = 0; +} + //================================================================================= // function : ClickOnHelp() // purpose : @@ -644,8 +671,14 @@ void SMESHGUI_NodesDlg::SelectionIntoArgument() //================================================================================= void SMESHGUI_NodesDlg::enterEvent( QEvent* ) { - if ( !GroupConstructors->isEnabled() ) + if ( !GroupConstructors->isEnabled() ) { + SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ); + if ( aViewWindow && !mySelector && !mySimulation) { + mySelector = aViewWindow->GetSelector(); + mySimulation = new SMESH::TNodeSimulation(aViewWindow); + } ActivateThisDialog(); + } } //================================================================================= @@ -678,7 +711,6 @@ void SMESHGUI_NodesDlg::ActivateThisDialog() SMESH::SetPointRepresentation( true ); if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ) ) aViewWindow->SetSelectionMode( NodeSelection ); - SelectionIntoArgument(); }