X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FNewGeom%2FNewGeom_Module.cpp;h=75f33a64f9a32f8bb840b259b24d1f4e52427f3b;hb=592b8a38b3c9e2a6a7d3d1d180b1f9b5406c4415;hp=50ff8bc2cd41c60021b55ea6f1c0b78964875032;hpb=9503b9474d57935de95296dfe6587f6422a6d85d;p=modules%2Fshaper.git diff --git a/src/NewGeom/NewGeom_Module.cpp b/src/NewGeom/NewGeom_Module.cpp index 50ff8bc2c..75f33a64f 100644 --- a/src/NewGeom/NewGeom_Module.cpp +++ b/src/NewGeom/NewGeom_Module.cpp @@ -123,7 +123,9 @@ void NewGeom_Module::initialize(CAM_Application* theApp) myWorkshop->startApplication(); LightApp_Application* anApp = dynamic_cast(theApp); if (anApp) + { connect(anApp, SIGNAL(preferenceResetToDefaults()), this, SLOT(onDefaultPreferences())); + } } //****************************************************** @@ -171,9 +173,6 @@ bool NewGeom_Module::activateModule(SUIT_Study* theStudy) myWorkshop->objectBrowser()->rebuildDataTree(); myWorkshop->updateCommandStatus(); myIsOpened = false; - // the display all results is not necessary anymore, it was commented in XGUI_Workshop, - // so it should be commented here - //QTimer::singleShot(1000, myWorkshop, SLOT(displayAllResults())); } else myWorkshop->updateCommandStatus(); @@ -192,8 +191,11 @@ bool NewGeom_Module::activateModule(SUIT_Study* theStudy) aResMgr->setValue("Study", "store_positions", false); // Synchronize displayed objects - if (mySelector && mySelector->viewer()) { - Handle(AIS_InteractiveContext) aContext = mySelector->viewer()->getAISContext(); + Handle(AIS_InteractiveContext) aContext; + if (mySelector && mySelector->viewer()) + aContext = mySelector->viewer()->getAISContext(); + + if (!aContext.IsNull()) { XGUI_Displayer* aDisp = myWorkshop->displayer(); QObjectPtrList aObjList = aDisp->displayedObjects(); @@ -272,6 +274,8 @@ void NewGeom_Module::onViewManagerAdded(SUIT_ViewManager* theMgr) { if (!mySelector) { mySelector = createSelector(theMgr); + myWorkshop->module()->activateSelectionFilters(); + myWorkshop->synchronizeViewer(); } } @@ -314,6 +318,8 @@ void NewGeom_Module::onDefaultPreferences() LightApp_Preferences* pref = preferences(); if (pref) pref->retrieve(); + + myWorkshop->displayer()->redisplayObjects(); } //****************************************************** @@ -401,14 +407,14 @@ QAction* NewGeom_Module::addFeature(const QString& theWBName, const QString& the return aAction; } -bool NewGeom_Module::isNestedFeature(const QAction* theAction) +bool NewGeom_Module::isFeatureOfNested(const QAction* theAction) { return dynamic_cast(theAction); } -QAction* NewGeom_Module::addNestedFeature(const QString& theWBName, - const ActionInfo& theInfo, - const QList& theNestedActions) +QAction* NewGeom_Module::addFeatureOfNested(const QString& theWBName, + const ActionInfo& theInfo, + const QList& theNestedActions) { int aMenu = createMenu(theWBName, -1, -1, 50); int aTool = createTool(theWBName, theWBName); @@ -608,16 +614,7 @@ void NewGeom_Module::preferencesChanged(const QString& theSection, const QString } aProp->setValue(aValue); - // redisplay objects visualized in the viewer - static Events_ID EVENT_DISP = Events_Loop::eventByName(EVENT_OBJECT_TO_REDISPLAY); - static const ModelAPI_EventCreator* aECreator = ModelAPI_EventCreator::get(); - QObjectPtrList aDisplayed = myWorkshop->displayer()->displayedObjects(); - QObjectPtrList::const_iterator anIt = aDisplayed.begin(), aLast = aDisplayed.end(); - for (; anIt != aLast; anIt++) { - aECreator->sendUpdated(*anIt, EVENT_DISP); - } - Events_Loop::loop()->flush(EVENT_DISP); - + myWorkshop->displayer()->redisplayObjects(); } void NewGeom_Module::inspectSalomeModules() @@ -628,3 +625,8 @@ void NewGeom_Module::inspectSalomeModules() Config_ModuleReader::addDependencyModule(eachModule.toStdString()); } } + +bool NewGeom_Module::abortAllOperations() +{ + return workshop()->operationMgr()->abortAllOperations(); +}