]> SALOME platform Git repositories - modules/geom.git/blobdiff - src/GEOMBase/GEOMBase_Helper.cxx
Salome HOME
0021672: [CEA 565] Dump Study from script
[modules/geom.git] / src / GEOMBase / GEOMBase_Helper.cxx
index 04a0be7b4ea4c17dc735b165a0af49658608025c..8fea8899a1412835239205a225a7c55a3a3b4c19 100755 (executable)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -89,7 +89,8 @@ GEOM::GEOM_Gen_ptr GEOMBase_Helper::getGeomEngine()
 //================================================================
 GEOMBase_Helper::GEOMBase_Helper( SUIT_Desktop* desktop )
   : myDesktop( desktop ), myViewWindow( 0 ), myDisplayer( 0 ), myCommand( 0 ), isPreview( false ),
-    myIsApplyAndClose( false ), myIsOptimizedBrowsing( false )
+    myIsApplyAndClose( false ), myIsOptimizedBrowsing( false ), myIsWaitCursorEnabled( true ),
+    myIsDisableBrowsing(false)
 {
 }
 
@@ -253,7 +254,7 @@ void GEOMBase_Helper::redisplay( GEOM::GEOM_Object_ptr object,
 // Purpose  : Method for displaying preview based on execute() results
 //================================================================
 void GEOMBase_Helper::displayPreview( const bool   display,
-                                     const bool   activate,
+                                      const bool   activate,
                                       const bool   update,
                                       const bool   toRemoveFromEngine,
                                       const double lineWidth,
@@ -279,6 +280,10 @@ void GEOMBase_Helper::displayPreview( const bool   display,
   try {
     SUIT_OverrideCursor wc;
     ObjectList objects;
+    if ( !isWaitCursorEnabled() )
+      wc.suspend();
+    
     if ( !execute( objects ) || !getOperation()->IsDone() ) {
       wc.suspend();
     }
@@ -766,7 +771,6 @@ bool GEOMBase_Helper::commitCommand( const char* )
 bool GEOMBase_Helper::hasCommand() const
 {
   bool res = (bool) myCommand;
-  MESSAGE("hasCommand = "<<res)
   return (bool)myCommand;
 }
 
@@ -809,7 +813,7 @@ bool GEOMBase_Helper::checkViewWindow()
 //            It perfroms user input validation, then it
 //            performs a proper operation and manages transactions, etc.
 //================================================================
-bool GEOMBase_Helper::onAccept( const bool publish, const bool useTransaction )
+bool GEOMBase_Helper::onAccept( const bool publish, const bool useTransaction, bool erasePreviewFlag )
 {
   SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>( SUIT_Session::session()->activeApplication()->activeStudy() );
   if ( !appStudy ) 
@@ -834,8 +838,9 @@ bool GEOMBase_Helper::onAccept( const bool publish, const bool useTransaction )
     showError( msg );
     return false;
   }
-
-  erasePreview( false );
+  
+  if(erasePreviewFlag)
+    erasePreview( false );
 
   bool result = false;
 
@@ -896,7 +901,8 @@ bool GEOMBase_Helper::onAccept( const bool publish, const bool useTransaction )
           commitCommand();
           updateObjBrowser();
           if( SUIT_Application* anApp = SUIT_Session::session()->activeApplication() ) {
-            if( LightApp_Application* aLightApp = dynamic_cast<LightApp_Application*>( anApp ) )
+            LightApp_Application* aLightApp = dynamic_cast<LightApp_Application*>( anApp );
+            if(aLightApp && !isDisableBrowsing() )
               aLightApp->browseObjects( anEntryList, isApplyAndClose(), isOptimizedBrowsing() );
             anApp->putInfo( QObject::tr("GEOM_PRP_DONE") );
           }