Salome HOME
Join modifications from branch BR_3_1_0deb
[modules/superv.git] / src / SUPERVGUI / SUPERVGUI.cxx
index cd78482843acd3da7c6eb370e7d8bf33b7c61d49..35c14746b24e011c755b6af81a9903c467ada8cf 100644 (file)
@@ -78,7 +78,8 @@ SUPERVGUI::SUPERVGUI()
        browser(0),
        myFirstActivation(true),
        myAllGraphsClosed(false),
-       myInitialViewFrame(0)
+       myInitialViewFrame(0),
+       myIVFBackgroundColor(QColor())
   //info(0)
 {
     Trace("SUPERVGUI::SUPERVGUI")
@@ -280,7 +281,7 @@ SUIT_ViewWindow* SUPERVGUI::createGraph() {
   (( 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,
@@ -420,6 +421,7 @@ void SUPERVGUI::onGraphClosed(SUIT_ViewWindow* theViewWindow) {
     myAllGraphsClosed = true;
     myFirstActivation = true;
     myInitialViewFrame = 0;
+    myIVFBackgroundColor = QColor();
     main = 0;
   }
 }
@@ -487,7 +489,6 @@ void SUPERVGUI::displayDataflow() {
     else {
       // second case : get empty initial view frame as new ViewFrame object
       aViewFrame = myInitialViewFrame;
-      myInitialViewFrame = 0;
     }
 
     if( aViewFrame ) {
@@ -495,6 +496,11 @@ void SUPERVGUI::displayDataflow() {
       registerGraph( aIORName, main );
       aViewFrame->show();
     }
+
+    if ( myInitialViewFrame ) {
+      myInitialViewFrame = 0;
+      myIVFBackgroundColor = QColor();
+    }
 }
 
 
@@ -672,7 +678,6 @@ bool SUPERVGUI::createDataflow( const NEW_DF_MODE mode, bool theInitialDF ) {
   else {
     // 2. get empty initial view frame as new ViewFrame object
     aViewFrame = myInitialViewFrame;
-    myInitialViewFrame = 0;
   }
 
   if ( aViewFrame ) {
@@ -680,7 +685,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;
@@ -689,6 +694,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;