X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MoveNodesDlg.cxx;h=944a6d2a9e74540a3696813584dc4563d006c4e5;hb=b33324fe602b1fe1158c14a866c3802df12370fa;hp=b719ffeab347965cf466f91cbe7ab57c69b28d55;hpb=25cec45acb2923f66c849516f31337c1a3c4c687;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx b/src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx index b719ffeab..944a6d2a9 100644 --- a/src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx @@ -93,9 +93,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 +111,8 @@ SMESHGUI_MoveNodesDlg::SMESHGUI_MoveNodesDlg (SMESHGUI* theModule, aDlgLay->setStretchFactor(aMainFrame, 1); + mySelector = (SMESH::GetViewWindow( mySMESHGUI ))->GetSelector(); + Init(); } @@ -153,8 +153,8 @@ QFrame* SMESHGUI_MoveNodesDlg::createMainFrame (QWidget* theParent) { QFrame* aFrame = new QFrame(theParent); - QPixmap iconMoveNode (SMESHGUI::resourceMgr()->loadPixmap("SMESH", tr("ICON_DLG_MOVE_NODE"))); - QPixmap iconSelect (SMESHGUI::resourceMgr()->loadPixmap("SMESH", tr("ICON_SELECT"))); + QPixmap iconMoveNode (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_DLG_MOVE_NODE"))); + QPixmap iconSelect (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_SELECT"))); QButtonGroup* aPixGrp = new QButtonGroup(1, Qt::Vertical, tr("MESH_NODE"), aFrame); aPixGrp->setExclusive(TRUE); @@ -230,7 +230,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(); } @@ -323,7 +324,8 @@ void SMESHGUI_MoveNodesDlg::onClose() { 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); mySMESHGUI->ResetState(); @@ -355,8 +357,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 +426,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 +442,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 +476,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 +556,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(); + } }