This commit is contained in:
asl 2005-11-14 13:55:07 +00:00
parent db9a6dee24
commit 52c4d72583
3 changed files with 16 additions and 6 deletions

View File

@ -3102,6 +3102,6 @@ LightApp_Operation* SMESHGUI::createOperation( const int id ) const
LightApp_Displayer* SMESHGUI::displayer() LightApp_Displayer* SMESHGUI::displayer()
{ {
if( !myDisplayer ) if( !myDisplayer )
myDisplayer = new SMESHGUI_Displayer( dynamic_cast<SalomeApp_Study*>( getApp()->activeStudy() ) ); myDisplayer = new SMESHGUI_Displayer( getApp() );
return myDisplayer; return myDisplayer;
} }

View File

@ -30,12 +30,13 @@
#include "SMESHGUI_VTKUtils.h" #include "SMESHGUI_VTKUtils.h"
#include <SalomeApp_Study.h> #include <SalomeApp_Study.h>
#include <SalomeApp_Application.h>
#include <SVTK_ViewModel.h> #include <SVTK_ViewModel.h>
#include <SVTK_ViewWindow.h> #include <SVTK_ViewWindow.h>
SMESHGUI_Displayer::SMESHGUI_Displayer( SalomeApp_Study* st ) SMESHGUI_Displayer::SMESHGUI_Displayer( SalomeApp_Application* app )
: LightApp_Displayer(), : 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(); SUIT_ViewWindow* wnd = vtk_viewer->getViewManager()->getActiveView();
SMESH_Actor* anActor = SMESH::FindActorByEntry( wnd, entry.latin1() ); SMESH_Actor* anActor = SMESH::FindActorByEntry( wnd, entry.latin1() );
if( !anActor ) if( !anActor )
anActor = SMESH::CreateActor( myStudy->studyDS(), entry.latin1(), true ); anActor = SMESH::CreateActor( study()->studyDS(), entry.latin1(), true );
if( anActor ) if( anActor )
{ {
SMESH::DisplayActor( wnd, anActor ); SMESH::DisplayActor( wnd, anActor );
@ -72,3 +73,8 @@ SALOME_Prs* SMESHGUI_Displayer::buildPresentation( const QString& entry, SALOME_
return prs; return prs;
} }
SalomeApp_Study* SMESHGUI_Displayer::study() const
{
return dynamic_cast<SalomeApp_Study*>( myApp->activeStudy() );
}

View File

@ -31,18 +31,22 @@
#include <LightApp_Displayer.h> #include <LightApp_Displayer.h>
class SalomeApp_Application;
class SalomeApp_Study; class SalomeApp_Study;
class SMESHGUI_Displayer : public LightApp_Displayer class SMESHGUI_Displayer : public LightApp_Displayer
{ {
public: public:
SMESHGUI_Displayer( SalomeApp_Study* ); SMESHGUI_Displayer( SalomeApp_Application* );
~SMESHGUI_Displayer(); ~SMESHGUI_Displayer();
virtual SALOME_Prs* buildPresentation( const QString&, SALOME_View* = 0 ); virtual SALOME_Prs* buildPresentation( const QString&, SALOME_View* = 0 );
protected:
SalomeApp_Study* study() const;
private: private:
SalomeApp_Study* myStudy; SalomeApp_Application* myApp;
}; };
#endif #endif