Salome HOME
refs #417: showing new objects
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_CalculationOp.cxx
index 9165ad2a49598b65654fc59dacfa5a87e6384f2d..954e789f45028ac10c404ea4ff7056d38026ace0 100644 (file)
@@ -498,13 +498,20 @@ bool HYDROGUI_CalculationOp::confirmRegionsChange() const
 }
 
 bool HYDROGUI_CalculationOp::processApply( int&     theUpdateFlags,
-                                           QString& theErrorMsg )
+                                           QString& theErrorMsg,
+                                           QStringList& theBrowseObjectsEntries )
 {
   HYDROGUI_CalculationDlg* aPanel = 
     ::qobject_cast<HYDROGUI_CalculationDlg*>( inputPanel() );
   if ( !aPanel )
     return false;
 
+  if( !myIsEdit )
+  {
+    QString anEntry = HYDROGUI_DataObject::dataObjectEntry( myEditedObject );
+    theBrowseObjectsEntries.append( anEntry );
+  }
+
   theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced | UF_VTKViewer | UF_VTK_Forced | UF_VTK_Init;
 
   return true;
@@ -516,12 +523,13 @@ void HYDROGUI_CalculationOp::onApply()
 
   int anUpdateFlags = 0;
   QString anErrorMsg;
+  QStringList aBrowseObjectsEntries;
 
   bool aResult = false;
   
   try
   {
-    aResult = processApply( anUpdateFlags, anErrorMsg );
+    aResult = processApply( anUpdateFlags, anErrorMsg, aBrowseObjectsEntries );
   }
   catch ( Standard_Failure )
   {
@@ -540,6 +548,7 @@ void HYDROGUI_CalculationOp::onApply()
   {
     module()->update( anUpdateFlags );
     commit();
+    browseObjects( aBrowseObjectsEntries );
   }
   else
   {
@@ -713,7 +722,7 @@ void HYDROGUI_CalculationOp::createPreview()
         vw->onTopView();
     }
 
-    module()->update( UF_OCCViewer );
+    module()->update( UF_OCCViewer | UF_FitAll );
   }
 }