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()
{
if( !myDisplayer )
myDisplayer = new SMESHGUI_Displayer( dynamic_cast<SalomeApp_Study*>( getApp()->activeStudy() ) );
myDisplayer = new SMESHGUI_Displayer( getApp() );
return myDisplayer;
}

View File

@ -30,12 +30,13 @@
#include "SMESHGUI_VTKUtils.h"
#include <SalomeApp_Study.h>
#include <SalomeApp_Application.h>
#include <SVTK_ViewModel.h>
#include <SVTK_ViewWindow.h>
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<SalomeApp_Study*>( myApp->activeStudy() );
}

View File

@ -31,18 +31,22 @@
#include <LightApp_Displayer.h>
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