]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
PAL10479
authorasl <asl@opencascade.com>
Mon, 14 Nov 2005 13:55:50 +0000 (13:55 +0000)
committerasl <asl@opencascade.com>
Mon, 14 Nov 2005 13:55:50 +0000 (13:55 +0000)
src/VISUGUI/VisuGUI.cxx
src/VISUGUI/VisuGUI_Displayer.cxx
src/VISUGUI/VisuGUI_Displayer.h

index cfb75451c0cbcb042ca5b5a5902997f19b339caf..488443d8032605120c344d1103a2f12a240ff4d1 100644 (file)
@@ -2937,7 +2937,7 @@ VisuGUI
 LightApp_Displayer* VisuGUI::displayer()
 {
   if( !myDisplayer )
-    myDisplayer = new VisuGUI_Displayer( dynamic_cast<SalomeApp_Study*>( getApp()->activeStudy() ) );
+    myDisplayer = new VisuGUI_Displayer( getApp() );
     
   return myDisplayer;
 }
index 09c43537ae75d80a194817bf0602238b5a68c661..0d604a34559ce4bf70959f55340b1cd07cae876a 100644 (file)
 #include <SPlot2d_Prs.h>
 #include <Plot2d_ViewWindow.h>
 
+#include <SalomeApp_Application.h>
 #include <SalomeApp_Study.h>
 
 #include "VISU_ViewManager_i.hh"
 
-VisuGUI_Displayer::VisuGUI_Displayer( SalomeApp_Study* st )
+VisuGUI_Displayer::VisuGUI_Displayer( SalomeApp_Application* app )
 : LightApp_Displayer(),
-  myStudy( st )
+  myApp( app )
 {
 }
 
@@ -56,10 +57,12 @@ SALOME_Prs* VisuGUI_Displayer::buildPresentation( const QString& entry, SALOME_V
   SALOME_Prs* prs = 0;
 
   SALOME_View* aViewFrame = theViewFrame ? theViewFrame : GetActiveView();
+  SalomeApp_Study* study = dynamic_cast<SalomeApp_Study*>( myApp->activeStudy() );
 
-  if ( myStudy && aViewFrame )
+  if ( study && aViewFrame )
   {
-    CORBA::Object_var anObj = VISU::ClientSObjectToObject( myStudy->studyDS()->FindObjectID( entry.latin1() ) );
+    _PTR(SObject) obj = study->studyDS()->FindObjectID( entry.latin1() );
+    CORBA::Object_var anObj = VISU::ClientSObjectToObject( obj );
     if( CORBA::is_nil( anObj ) )
       return 0;
 
@@ -179,12 +182,16 @@ SPlot2d_Prs* VisuGUI_Displayer::buildContainer( Plot2d_ViewWindow* wnd, VISU::Co
 SPlot2d_Prs* VisuGUI_Displayer::buildTable( Plot2d_ViewWindow* wnd, VISU::Table_i* t ) const
 {
   SPlot2d_Prs* prs = new SPlot2d_Prs();
-  _PTR(SObject) TableSO = myStudy->studyDS()->FindObjectID( t->GetEntry().latin1() );
+  SalomeApp_Study* study = dynamic_cast<SalomeApp_Study*>( myApp->activeStudy() );
+  if( !study )
+    return prs;
+
+  _PTR(SObject) TableSO = study->studyDS()->FindObjectID( t->GetEntry().latin1() );
 
   if( !TableSO )
     return prs;
 
-  _PTR(ChildIterator) Iter = myStudy->studyDS()->NewChildIterator( TableSO );
+  _PTR(ChildIterator) Iter = study->studyDS()->NewChildIterator( TableSO );
   for( ; Iter->More(); Iter->Next() )
   {
     CORBA::Object_var childObject = VISU::ClientSObjectToObject( Iter->Value() );
index 288b66b760a500856c5add3d542eea62f0e74bb9..62a2472526b016cb62fff2d331871bca16b3f6e0 100644 (file)
@@ -33,7 +33,7 @@
 #include <VISU_Prs3d_i.hh>
 #include <VISU_Table_i.hh>
 
-class SalomeApp_Study;
+class SalomeApp_Application;
 class SVTK_ViewWindow;
 class Plot2d_ViewWindow;
 class SPlot2d_Prs;
@@ -41,7 +41,7 @@ class SPlot2d_Prs;
 class VisuGUI_Displayer : public LightApp_Displayer
 {
 public:
-  VisuGUI_Displayer( SalomeApp_Study* );
+  VisuGUI_Displayer( SalomeApp_Application* );
   ~VisuGUI_Displayer();
 
   virtual SALOME_Prs* buildPresentation( const QString&, SALOME_View* = 0 );
@@ -54,7 +54,7 @@ protected:
   virtual SPlot2d_Prs* buildTable    ( Plot2d_ViewWindow*, VISU::Table_i* ) const;
 
 private:
-  SalomeApp_Study*   myStudy;
+  SalomeApp_Application*   myApp;
 };
 
 #endif