X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FDisplayGUI%2FDisplayGUI.cxx;h=61dc6bfca652e92a84180c9292e2cdadecd989cc;hb=c427016e043d0e2e2b5c86f4b4f157a3965fd97d;hp=6f337597d9fb09b029197ae3df0c1339d16c9863;hpb=b6b2fb7cd65f8afe7b48ce4e661d76f677a827c5;p=modules%2Fgeom.git diff --git a/src/DisplayGUI/DisplayGUI.cxx b/src/DisplayGUI/DisplayGUI.cxx index 6f337597d..61dc6bfca 100644 --- a/src/DisplayGUI/DisplayGUI.cxx +++ b/src/DisplayGUI/DisplayGUI.cxx @@ -42,14 +42,16 @@ #include #include -#include +#include #include #include #include #include +#include + #include -#include +#include #include #include @@ -97,6 +99,9 @@ DisplayGUI::~DisplayGUI() bool DisplayGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent) { DisplayGUI* myDisplayGUI = GetDisplayGUI( getGeometryGUI() ); + LightApp_SelectionMgr *Sel = getGeometryGUI()->getApp()->selectionMgr(); + SALOME_ListIO selected; + Sel->selectedObjects( selected ); switch (theCommandID) { case 211: // MENU VIEW - WIREFRAME/SHADING @@ -153,6 +158,7 @@ bool DisplayGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent) break; } } + Sel->setSelectedObjects( selected ); return true; } @@ -234,7 +240,7 @@ void DisplayGUI::Display() if ( !anActiveStudy ) return; //get SalomeApp selection manager - SalomeApp_SelectionMgr* aSelMgr = app->selectionMgr(); + LightApp_SelectionMgr* aSelMgr = app->selectionMgr(); if ( !aSelMgr ) return; SALOME_ListIO aList; @@ -290,7 +296,7 @@ void DisplayGUI::Erase() if ( !anActiveStudy ) return; //get SalomeApp selection manager - SalomeApp_SelectionMgr* aSelMgr = app->selectionMgr(); + LightApp_SelectionMgr* aSelMgr = app->selectionMgr(); if ( !aSelMgr ) return; SALOME_ListIO aList; @@ -342,10 +348,8 @@ void DisplayGUI::SetDisplayMode( const int mode, SUIT_ViewWindow* viewWindow ) if ( !viewWindow ) viewWindow = SUIT_Session::session()->activeApplication()->desktop()->activeWindow(); if ( viewWindow->getViewManager()->getType() == SVTK_Viewer::Type() ) { - SVTK_ViewWindow* wnd = dynamic_cast( viewWindow ); - SVTK_RenderWindowInteractor* myRenderInter = wnd ? wnd->getRWInteractor() : 0; - if( myRenderInter ) - myRenderInter->SetDisplayMode( mode ); + SVTK_View* aView = ((SVTK_ViewWindow*)viewWindow)->getView(); + aView->SetDisplayMode( mode ); } else if ( viewWindow->getViewManager()->getType() == OCCViewer_Viewer::Type() ) { OCCViewer_Viewer* v3d = ((OCCViewer_ViewManager*)(viewWindow->getViewManager()))->getOCCViewer(); @@ -380,10 +384,8 @@ int DisplayGUI::GetDisplayMode( SUIT_ViewWindow* viewWindow ) if ( !viewWindow ) viewWindow = SUIT_Session::session()->activeApplication()->desktop()->activeWindow(); if ( viewWindow->getViewManager()->getType() == SVTK_Viewer::Type() ) { - SVTK_ViewWindow* wnd = dynamic_cast( viewWindow ); - SVTK_RenderWindowInteractor* myRenderInter = wnd ? wnd->getRWInteractor() : 0; - if( myRenderInter ) - dispMode = myRenderInter->GetDisplayMode(); + SVTK_View* aView = ((SVTK_ViewWindow*)viewWindow)->getView(); + dispMode = aView->GetDisplayMode(); } else if ( viewWindow->getViewManager()->getType() == OCCViewer_Viewer::Type() ) { OCCViewer_Viewer* v3d = ((OCCViewer_ViewManager*)(viewWindow->getViewManager()))->getOCCViewer(); @@ -417,7 +419,7 @@ void DisplayGUI::ChangeDisplayMode( const int mode, SUIT_ViewWindow* viewWindow SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( SUIT_Session::session()->activeApplication() ); if ( !app ) return; - SalomeApp_SelectionMgr* aSelMgr = app->selectionMgr(); + LightApp_SelectionMgr* aSelMgr = app->selectionMgr(); if ( !aSelMgr ) return; SUIT_OverrideCursor(); @@ -426,10 +428,7 @@ void DisplayGUI::ChangeDisplayMode( const int mode, SUIT_ViewWindow* viewWindow if ( viewWindow->getViewManager()->getType() == SVTK_Viewer::Type() ) { SVTK_ViewWindow* vw = dynamic_cast( viewWindow ); - SVTK_RenderWindowInteractor* rwi = vw ? vw->getRWInteractor() : 0; - - if( !rwi ) - return; + SVTK_View* aView = vw->getView(); aSelMgr->selectedObjects( aList ); SALOME_ListIteratorOfListIO It( aList ); @@ -439,12 +438,12 @@ void DisplayGUI::ChangeDisplayMode( const int mode, SUIT_ViewWindow* viewWindow SVTK_Prs* vtkPrs = stvkViewer ? dynamic_cast( stvkViewer->CreatePrs( It.Value()->getEntry() ) ) : 0; if ( vtkPrs && !vtkPrs->IsNull() ) { if ( mode == 0 ) - rwi->ChangeRepresentationToWireframe( vtkPrs->GetObjects() ); + aView->ChangeRepresentationToWireframe( vtkPrs->GetObjects() ); else if ( mode == 1 ) - rwi->ChangeRepresentationToSurface( vtkPrs->GetObjects() ); + aView->ChangeRepresentationToSurface( vtkPrs->GetObjects() ); } } - rwi->Render(); + aView->Repaint(); } else if ( viewWindow->getViewManager()->getType() == OCCViewer_Viewer::Type() ) { OCCViewer_Viewer* v3d = ((OCCViewer_ViewManager*)(viewWindow->getViewManager()))->getOCCViewer();