]> SALOME platform Git repositories - modules/superv.git/commitdiff
Salome HOME
reversed to previous revision + glviewer commands new..
authorasv <asv@opencascade.com>
Tue, 10 Jan 2006 10:03:39 +0000 (10:03 +0000)
committerasv <asv@opencascade.com>
Tue, 10 Jan 2006 10:03:39 +0000 (10:03 +0000)
src/SUPERVGUI/SUPERVGUI.cxx
src/SUPERVGUI/SUPERVGUI.h

index aa837f83a98ade68330fdcd5be9a4cd2d02ecb57..e56f87b2798fd7003f827a9cc714108862a1c6f0 100644 (file)
@@ -35,6 +35,8 @@ using namespace std;
 #include <boost/shared_ptr.hpp>
 using namespace boost;
 
+#include "GLViewer_ViewManager.h"
+
 #include "CAM_Application.h"
 #include "OB_Browser.h"
 #include "OB_ListItem.h"
@@ -50,8 +52,6 @@ using namespace boost;
 #include "SUIT_Session.h"
 #include "SUIT_Study.h"
 
-#include "GLViewer_ViewManager.h"
-
 #include "SUPERVGraph_ViewManager.h"
 #include "SUPERVGraph_ViewFrame.h"
 
@@ -80,7 +80,8 @@ SUPERVGUI::SUPERVGUI()
        browser(0),
        myFirstActivation(true),
        myAllGraphsClosed(false),
-       myInitialViewFrame(0)
+       myInitialViewFrame(0),
+       myIVFBackgroundColor(QColor())
   //info(0)
 {
     Trace("SUPERVGUI::SUPERVGUI")
@@ -278,17 +279,20 @@ LightApp_Selection* SUPERVGUI::createSelection() const
 }
 
 SUIT_ViewWindow* SUPERVGUI::createGraph() {
-  SUPERVGraph_ViewManager* aVM = new SUPERVGraph_ViewManager( study, application()->desktop(), new SUPERVGraph_Viewer() ); 
-  getApp()->addViewManager( aVM );
+  SUPERVGraph_ViewManager* aVM = new SUPERVGraph_ViewManager( study, application()->desktop(), new SUPERVGraph_Viewer() );
+  (( SalomeApp_Application* )application())->addViewManager( aVM );
   SUPERVGraph_ViewFrame* aVW = dynamic_cast<SUPERVGraph_ViewFrame*>( aVM->createViewWindow() );
   if ( aVW ) {
-    QColor back = getApp()->resourceMgr()->colorValue( "SUPERVGraph", "Background", aVW->backgroundColor() );
+    QColor back = getApp()->resourceMgr()->colorValue( "SUPERVGraph", "Background", DEF_MAIN_COLOR );
     qDebug( QString( "background: %1 %2 %3" ).arg( back.red() ).arg( back.green() ).arg( back.blue() ) );
     aVW->setBackgroundColor( back );
-    connect( aVM, SIGNAL( deleteView( SUIT_ViewWindow* ) ), this, SLOT( onGraphClosed( SUIT_ViewWindow* ) ) );
+    connect( aVM,
+             SIGNAL( deleteView( SUIT_ViewWindow* ) ),
+             this,
+             SLOT( onGraphClosed( SUIT_ViewWindow* ) ) );
   }
 
-  // asv-debug
+  // create GLViewer view manager
   GLViewer_ViewManager* glVM = new GLViewer_ViewManager( study, application()->desktop() );
   getApp()->addViewManager( glVM );
   glVM->createViewWindow();
@@ -425,6 +429,7 @@ void SUPERVGUI::onGraphClosed(SUIT_ViewWindow* theViewWindow) {
     myAllGraphsClosed = true;
     myFirstActivation = true;
     myInitialViewFrame = 0;
+    myIVFBackgroundColor = QColor();
     main = 0;
   }
 }
@@ -491,8 +496,7 @@ void SUPERVGUI::displayDataflow() {
     }
     else {
       // second case : get empty initial view frame as new ViewFrame object
-      aViewFrame = dynamic_cast<SUPERVGraph_ViewFrame*>( myInitialViewFrame );
-      myInitialViewFrame = 0;
+      aViewFrame = myInitialViewFrame;
     }
 
     if( aViewFrame ) {
@@ -500,6 +504,11 @@ void SUPERVGUI::displayDataflow() {
       registerGraph( aIORName, main );
       aViewFrame->show();
     }
+
+    if ( myInitialViewFrame ) {
+      myInitialViewFrame = 0;
+      myIVFBackgroundColor = QColor();
+    }
 }
 
 
@@ -676,8 +685,7 @@ bool SUPERVGUI::createDataflow( const NEW_DF_MODE mode, bool theInitialDF ) {
   }
   else {
     // 2. get empty initial view frame as new ViewFrame object
-    aViewFrame = dynamic_cast<SUPERVGraph_ViewFrame*>( myInitialViewFrame );
-    myInitialViewFrame = 0;
+    aViewFrame = myInitialViewFrame;
   }
 
   if ( aViewFrame ) {
@@ -685,7 +693,7 @@ bool SUPERVGUI::createDataflow( const NEW_DF_MODE mode, bool theInitialDF ) {
     // 3. bind Graph and ViewFrame == create SUPERVGUI_Main object
     main = new SUPERVGUI_Main( aViewFrame, application()->desktop(), aGraph );
     if ( mode == New ) {
-      if ( !theInitialDF )
+      if ( !theInitialDF )     
         main->addNode();
       else
         myInitialViewFrame = aViewFrame;
@@ -694,6 +702,14 @@ bool SUPERVGUI::createDataflow( const NEW_DF_MODE mode, bool theInitialDF ) {
       registerGraph( f, main );
     main->resizeView( new QResizeEvent( aViewFrame->size(), aViewFrame->size() ) );
     aViewFrame->show();
+    QFileInfo inf( f );
+    if( !f.isEmpty() )
+      aViewFrame->setCaption( inf.fileName() );
+  }
+
+  if ( !theInitialDF ) {
+    myInitialViewFrame = 0;
+    myIVFBackgroundColor = QColor();
   }
 
   return true;
index a632e9a79e97c4ed6a48f50c96fa0c5ad31be1dd..2092a9f526ec74f7382da45f8b8062b7f09f4386 100644 (file)
@@ -118,6 +118,10 @@ class SUPERVGUI: public SalomeApp_Module {
      */
     void nullifyInitialVF() { if ( myInitialViewFrame ) myInitialViewFrame = 0; }
 
+    // mkr : IPAL10825
+    QColor getIVFBackgroundColor() { return myIVFBackgroundColor; }
+    void   setIVFBackgroundColor( QColor theColor ) { if ( myInitialViewFrame ) myIVFBackgroundColor = theColor; }
+
   signals:
     void KillMainThread(bool theValue);
 
@@ -165,7 +169,8 @@ class SUPERVGUI: public SalomeApp_Module {
 
     bool                   myFirstActivation;
     bool                   myAllGraphsClosed;
-    SUIT_ViewWindow*       myInitialViewFrame;
+    SUPERVGraph_ViewFrame* myInitialViewFrame;
+    QColor                 myIVFBackgroundColor; // mkr : IPAL10825
 };
 
 #endif