-// 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 );
//================================================================
// Function : localSelection
-// Purpose : Activate selection of subshapes in accordance with mode
+// Purpose : Activate selection of sub-shapes in accordance with mode
// theMode is from TopAbs_ShapeEnum
//================================================================
void GEOMBase_Helper::localSelection( const ObjectList& theObjs, const int theMode )
//================================================================
// Function : localSelection
-// Purpose : Activate selection of subshapes in accordance with mode
+// Purpose : Activate selection of sub-shapes in accordance with mode
// theMode is from TopAbs_ShapeEnum
//================================================================
void GEOMBase_Helper::localSelection( GEOM::GEOM_Object_ptr obj, const int mode )
//================================================================
// Function : globalSelection
-// Purpose : Activate selection of subshapes. Set selection filters
+// Purpose : Activate selection of sub-shapes. Set selection filters
// in accordance with mode. theMode is from GEOMImpl_Types
//================================================================
void GEOMBase_Helper::globalSelection( const int theMode, const bool update )
//================================================================
// Function : globalSelection
-// Purpose : Activate selection of subshapes. Set selection filters
+// Purpose : Activate selection of sub-shapes. Set selection filters
// in accordance with mode. theMode is from GEOMImpl_Types
//================================================================
void GEOMBase_Helper::globalSelection( const TColStd_MapOfInteger& theModes,
//================================================================
// Function : globalSelection
-// Purpose : Activate selection of subshapes. Set selection filters
+// Purpose : Activate selection of sub-shapes. Set selection filters
// in accordance with mode. theMode is from GEOMImpl_Types
//================================================================
void GEOMBase_Helper::globalSelection( const TColStd_MapOfInteger& theModes,
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;
showError();
}
else {
- addSubshapesToStudy(); // add Subshapes if local selection
+ addSubshapesToStudy(); // add Sub-shapes if local selection
const int nbObjs = objects.size();
QStringList anEntryList;
int aNumber = 1;
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") );
}
//================================================================
// Function : addSubshapesToStudy
-// Purpose : Virtual method to add subshapes if needs
+// Purpose : Virtual method to add sub-shapes if needs
//================================================================
void GEOMBase_Helper::addSubshapesToStudy()
{