X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MoveNodesDlg.cxx;h=1f8dbe539e77d0fccc081e167740f5aa1ab717be;hp=12ad1b684ca5377ac5cddf34125814160fe21fac;hb=d0f366c4a3a66a71b0be94f7a6e2d146f80a94c4;hpb=a2f0f70d5912ea83c868916f06eaefb58a32ec2e diff --git a/src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx b/src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx index 12ad1b684..1f8dbe539 100644 --- a/src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx @@ -39,7 +39,7 @@ #include "SMDS_Mesh.hxx" #include "SMDS_MeshNode.hxx" -#include "SalomeApp_SelectionMgr.h" +#include "LightApp_SelectionMgr.h" #include "SUIT_ResourceMgr.h" #include "SUIT_Desktop.h" @@ -63,6 +63,7 @@ #include #include #include +#include // QT includes #include @@ -93,9 +94,7 @@ SMESHGUI_MoveNodesDlg::SMESHGUI_MoveNodesDlg (SMESHGUI* theModule, theName, false, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), - mySelector(SMESH::GetViewWindow(theModule)->GetSelector()), mySelectionMgr(SMESH::GetSelectionMgr(theModule)), - myViewWindow(SMESH::GetViewWindow(theModule)), mySMESHGUI(theModule) { myPreviewActor = 0; @@ -113,6 +112,8 @@ SMESHGUI_MoveNodesDlg::SMESHGUI_MoveNodesDlg (SMESHGUI* theModule, aDlgLay->setStretchFactor(aMainFrame, 1); + mySelector = (SMESH::GetViewWindow( mySMESHGUI ))->GetSelector(); + Init(); } @@ -230,7 +231,8 @@ void SMESHGUI_MoveNodesDlg::Init() // set selection mode SMESH::SetPointRepresentation(true); - myViewWindow->SetSelectionMode(NodeSelection); + if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) + aViewWindow->SetSelectionMode(NodeSelection); onSelectionDone(); } @@ -321,11 +323,13 @@ void SMESHGUI_MoveNodesDlg::onOk() //======================================================================= void SMESHGUI_MoveNodesDlg::onClose() { - mySelectionMgr->clearSelected(); + //mySelectionMgr->clearSelected(); SMESH::SetPointRepresentation(false); - myViewWindow->SetSelectionMode(ActorSelection); + if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) + aViewWindow->SetSelectionMode(ActorSelection); disconnect(mySelectionMgr, 0, this, 0); disconnect(mySMESHGUI, 0, this, 0); + erasePreview(); mySMESHGUI->ResetState(); reject(); } @@ -355,8 +359,11 @@ void SMESHGUI_MoveNodesDlg::onTextChange (const QString& theNewText) if(const SMDS_MeshElement *anElem = aMesh->FindElement(theNewText.toInt())) { TColStd_MapOfInteger aListInd; aListInd.Add(anElem->GetID()); - mySelector->AddOrRemoveIndex(anIO,aListInd, true); - myViewWindow->highlight(anIO,true,true); + mySelector->AddOrRemoveIndex(anIO,aListInd, false); + if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) + aViewWindow->highlight(anIO,true,true); + + onSelectionDone(); } } } @@ -421,7 +428,8 @@ void SMESHGUI_MoveNodesDlg::enterEvent (QEvent*) // set selection mode SMESH::SetPointRepresentation(true); - myViewWindow->SetSelectionMode(NodeSelection); + if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) + aViewWindow->SetSelectionMode(NodeSelection); redisplayPreview(); @@ -436,7 +444,8 @@ void SMESHGUI_MoveNodesDlg::enterEvent (QEvent*) void SMESHGUI_MoveNodesDlg::closeEvent (QCloseEvent*) { onClose(); - myViewWindow->Repaint(); + if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) + aViewWindow->Repaint(); } //======================================================================= @@ -469,10 +478,13 @@ void SMESHGUI_MoveNodesDlg::erasePreview() if (myPreviewActor == 0) return; - myViewWindow->RemoveActor(myPreviewActor); + SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ); + if (aViewWindow) + aViewWindow->RemoveActor(myPreviewActor); myPreviewActor->Delete(); myPreviewActor = 0; - myViewWindow->Repaint(); + if (aViewWindow) + aViewWindow->Repaint(); } //======================================================================= @@ -546,6 +558,9 @@ void SMESHGUI_MoveNodesDlg::redisplayPreview() myPreviewActor->SetProperty(aProp); aProp->Delete(); - myViewWindow->AddActor(myPreviewActor); - myViewWindow->Repaint(); + if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) + { + aViewWindow->AddActor(myPreviewActor); + aViewWindow->Repaint(); + } }