X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_RemoveNodesDlg.cxx;h=adef42a6c3e28478a1ca72adecdb6be9e6e1235c;hp=5fb9290fa4c0b8ebb57a5977bcc0ee0085477abf;hb=refs%2Ftags%2FV9_1_0;hpb=6bac08c1a81f34d3f21c550bd92f83654b2546a5 diff --git a/src/SMESHGUI/SMESHGUI_RemoveNodesDlg.cxx b/src/SMESHGUI/SMESHGUI_RemoveNodesDlg.cxx index 5fb9290fa..adef42a6c 100644 --- a/src/SMESHGUI/SMESHGUI_RemoveNodesDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_RemoveNodesDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -34,6 +34,7 @@ #include "SMESHGUI_IdValidator.h" #include "SMESHGUI_FilterDlg.h" +#include #include #include @@ -80,8 +81,8 @@ SMESHGUI_RemoveNodesDlg ::SMESHGUI_RemoveNodesDlg(SMESHGUI* theModule) : QDialog(SMESH::GetDesktop(theModule)), - mySelector(SMESH::GetViewWindow(theModule)->GetSelector()), mySelectionMgr(SMESH::GetSelectionMgr(theModule)), + mySelector(SMESH::GetViewWindow(theModule)->GetSelector()), mySMESHGUI(theModule), myBusy(false), myFilterDlg(0) @@ -161,7 +162,7 @@ SMESHGUI_RemoveNodesDlg SMESHGUI_RemoveNodesDlgLayout->addWidget(GroupC1); SMESHGUI_RemoveNodesDlgLayout->addWidget(GroupButtons); - myHelpFileName = "removing_nodes_and_elements_page.html#removing_nodes_anchor"; + myHelpFileName = "removing_nodes_and_elements.html#removing-nodes-anchor"; Init(); /* Initialisations */ } @@ -204,16 +205,22 @@ void SMESHGUI_RemoveNodesDlg::Init() connect(mySMESHGUI, SIGNAL (SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); /* to close dialog if study change */ - connect(mySMESHGUI, SIGNAL (SignalCloseAllDialogs()), this, SLOT(reject())); + connect(mySMESHGUI, SIGNAL (SignalCloseAllDialogs()), this, SLOT(reject())); + connect(mySMESHGUI, SIGNAL (SignalActivatedViewManager()), this, SLOT(onOpenView())); + connect(mySMESHGUI, SIGNAL (SignalCloseView()), this, SLOT(onCloseView())); connect(myEditCurrentArgument, SIGNAL(textChanged(const QString&)), - SLOT(onTextChange(const QString&))); - + this, SLOT (onTextChange(const QString&))); + SMESH::SetPointRepresentation(true); - + + mySelectionMgr->clearFilters(); + mySelectionMgr->installFilter( new SMESH_TypeFilter( SMESH::IDSOURCE )); + if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) aViewWindow->SetSelectionMode(NodeSelection); - SelectionIntoArgument(); + //SelectionIntoArgument(); + mySelectionMgr->setSelectedObjects( SALOME_ListIO() ); } //================================================================================= @@ -222,7 +229,7 @@ void SMESHGUI_RemoveNodesDlg::Init() //================================================================================= void SMESHGUI_RemoveNodesDlg::ClickOnApply() { - if (mySMESHGUI->isActiveStudyLocked()) + if (SMESHGUI::isStudyLocked()) return; if (myNbOkNodes) { @@ -283,6 +290,32 @@ void SMESHGUI_RemoveNodesDlg::reject() QDialog::reject(); } + +//================================================================================= +// function : onOpenView() +// purpose : +//================================================================================= +void SMESHGUI_RemoveNodesDlg::onOpenView() +{ + if ( mySelector) { + SMESH::SetPointRepresentation(false); + } + else { + mySelector = SMESH::GetViewWindow( mySMESHGUI )->GetSelector(); + ActivateThisDialog(); + } +} + +//================================================================================= +// function : onCloseView() +// purpose : +//================================================================================= +void SMESHGUI_RemoveNodesDlg::onCloseView() +{ + DeactivateActiveDialog(); + mySelector = 0; +} + //================================================================================= // function : ClickOnHelp() // purpose : @@ -318,7 +351,7 @@ void SMESHGUI_RemoveNodesDlg::onTextChange(const QString& theNewText) myNbOkNodes = 0; - // hilight entered nodes + // highlight entered nodes if(myActor){ if(SMDS_Mesh* aMesh = myActor->GetObject()->GetMesh()){ Handle(SALOME_InteractiveObject) anIO = myActor->getIO(); @@ -384,16 +417,16 @@ void SMESHGUI_RemoveNodesDlg::SelectionIntoArgument() myBusy = true; myEditCurrentArgument->setText(aString); myBusy = false; - + // OK - + myNbOkNodes = nbNodes; } // if (nbNodes > 0) } // if (myActor) } // if (!myMesh->_is_nil()) } // if (nbSel == 1) - updateButtons(); + updateButtons(); } //================================================================================= @@ -446,6 +479,9 @@ void SMESHGUI_RemoveNodesDlg::ActivateThisDialog() mySMESHGUI->SetActiveDialogBox((QDialog*)this); // ?? + mySelectionMgr->clearFilters(); + mySelectionMgr->installFilter( new SMESH_TypeFilter( SMESH::IDSOURCE )); + SMESH::SetPointRepresentation(true); if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) aViewWindow->SetSelectionMode(NodeSelection); @@ -459,8 +495,13 @@ void SMESHGUI_RemoveNodesDlg::ActivateThisDialog() //================================================================================= void SMESHGUI_RemoveNodesDlg::enterEvent(QEvent*) { - if (!GroupConstructors->isEnabled()) + if (!GroupConstructors->isEnabled()) { + SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ); + if ( aViewWindow && !mySelector) { + mySelector = aViewWindow->GetSelector(); + } ActivateThisDialog(); + } } //=================================================================================