diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index 2acae5a7f..d71d522df 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -3102,6 +3102,6 @@ LightApp_Operation* SMESHGUI::createOperation( const int id ) const LightApp_Displayer* SMESHGUI::displayer() { if( !myDisplayer ) - myDisplayer = new SMESHGUI_Displayer( dynamic_cast( getApp()->activeStudy() ) ); + myDisplayer = new SMESHGUI_Displayer( getApp() ); return myDisplayer; } diff --git a/src/SMESHGUI/SMESHGUI_Displayer.cxx b/src/SMESHGUI/SMESHGUI_Displayer.cxx index 386b54bbc..6d205706e 100644 --- a/src/SMESHGUI/SMESHGUI_Displayer.cxx +++ b/src/SMESHGUI/SMESHGUI_Displayer.cxx @@ -30,12 +30,13 @@ #include "SMESHGUI_VTKUtils.h" #include +#include #include #include -SMESHGUI_Displayer::SMESHGUI_Displayer( SalomeApp_Study* st ) +SMESHGUI_Displayer::SMESHGUI_Displayer( SalomeApp_Application* app ) : LightApp_Displayer(), - myStudy( st ) + myApp( app ) { } @@ -57,7 +58,7 @@ SALOME_Prs* SMESHGUI_Displayer::buildPresentation( const QString& entry, SALOME_ SUIT_ViewWindow* wnd = vtk_viewer->getViewManager()->getActiveView(); SMESH_Actor* anActor = SMESH::FindActorByEntry( wnd, entry.latin1() ); if( !anActor ) - anActor = SMESH::CreateActor( myStudy->studyDS(), entry.latin1(), true ); + anActor = SMESH::CreateActor( study()->studyDS(), entry.latin1(), true ); if( anActor ) { SMESH::DisplayActor( wnd, anActor ); @@ -72,3 +73,8 @@ SALOME_Prs* SMESHGUI_Displayer::buildPresentation( const QString& entry, SALOME_ return prs; } + +SalomeApp_Study* SMESHGUI_Displayer::study() const +{ + return dynamic_cast( myApp->activeStudy() ); +} diff --git a/src/SMESHGUI/SMESHGUI_Displayer.h b/src/SMESHGUI/SMESHGUI_Displayer.h index e4be5fdde..4b4e3eea0 100644 --- a/src/SMESHGUI/SMESHGUI_Displayer.h +++ b/src/SMESHGUI/SMESHGUI_Displayer.h @@ -31,18 +31,22 @@ #include +class SalomeApp_Application; class SalomeApp_Study; class SMESHGUI_Displayer : public LightApp_Displayer { public: - SMESHGUI_Displayer( SalomeApp_Study* ); + SMESHGUI_Displayer( SalomeApp_Application* ); ~SMESHGUI_Displayer(); virtual SALOME_Prs* buildPresentation( const QString&, SALOME_View* = 0 ); +protected: + SalomeApp_Study* study() const; + private: - SalomeApp_Study* myStudy; + SalomeApp_Application* myApp; }; #endif