-// 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
#include <SUIT_ViewModel.h>
#include <SUIT_MessageBox.h>
#include <SUIT_OverrideCursor.h>
+#include <SUIT_ResourceMgr.h>
#include <SalomeApp_Module.h>
#include <SalomeApp_Application.h>
//================================================================
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)
{
}
// 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,
try {
SUIT_OverrideCursor wc;
ObjectList objects;
+
+ if ( !isWaitCursorEnabled() )
+ wc.suspend();
+
if ( !execute( objects ) || !getOperation()->IsDone() ) {
wc.suspend();
}
getDisplayer()->SetColor( color == -1 ? Quantity_NOC_VIOLET : color );
// set width of displayed shape
- getDisplayer()->SetWidth( lineWidth );
+ int lw = lineWidth;
+ if(lw == -1) {
+ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+ lw = resMgr->integerValue("Geometry", "preview_edge_width", -1);
+ }
+ getDisplayer()->SetWidth( lw );
// set display mode of displayed shape
int aPrevDispMode = getDisplayer()->SetDisplayMode( displayMode );
bool GEOMBase_Helper::hasCommand() const
{
bool res = (bool) myCommand;
- MESSAGE("hasCommand = "<<res)
return (bool)myCommand;
}
// 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 )
showError( msg );
return false;
}
-
- erasePreview( false );
+
+ if(erasePreviewFlag)
+ erasePreview( false );
bool result = false;
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") );
}