Salome HOME
PAL10479
authorasl <asl@opencascade.com>
Mon, 14 Nov 2005 13:55:07 +0000 (13:55 +0000)
committerasl <asl@opencascade.com>
Mon, 14 Nov 2005 13:55:07 +0000 (13:55 +0000)
src/SMESHGUI/SMESHGUI.cxx
src/SMESHGUI/SMESHGUI_Displayer.cxx
src/SMESHGUI/SMESHGUI_Displayer.h

index 2acae5a7f04ad3b21fb552c02577c990160259f7..d71d522df5a5649643339bdb47670cc494ccf743 100644 (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;
 }
index 386b54bbc7f0fc2527ebffe682420072b2226dc7..6d205706eb1682a877ac30e16b9cb5ace5655032 100644 (file)
 #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() );
+}
index e4be5fdde6f986af3645fe24342f8e6aac105049..4b4e3eea0e27395cf88244234476b938ec8dbdf7 100644 (file)
 
 #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