X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSHAPERGUI%2FSHAPERGUI.cpp;h=5b69d3593ffb8e02830a296173cbdf0abf0185bb;hb=97c06c5cd9fc736f9b5a1dacde369a9d7b5be703;hp=61716cafc711f4115cb7d8521a071c4ab7d4ce0d;hpb=4e101da3f7c9050150ec851a17791769e5e39952;p=modules%2Fshaper.git diff --git a/src/SHAPERGUI/SHAPERGUI.cpp b/src/SHAPERGUI/SHAPERGUI.cpp index 61716cafc..5b69d3593 100644 --- a/src/SHAPERGUI/SHAPERGUI.cpp +++ b/src/SHAPERGUI/SHAPERGUI.cpp @@ -40,6 +40,8 @@ #include #include +#include + #include #include #include @@ -283,7 +285,7 @@ bool SHAPERGUI::activateModule(SUIT_Study* theStudy) ViewManagerList OCCViewManagers; application()->viewManagers(OCCViewer_Viewer::Type(), OCCViewManagers); if (OCCViewManagers.size() > 0) { - mySelector = createSelector(OCCViewManagers.first()); + onViewManagerAdded(OCCViewManagers.first()); } } // it should be performed after the selector creation in order to have AISContext @@ -447,8 +449,16 @@ void SHAPERGUI::onViewManagerRemoved(SUIT_ViewManager* theMgr) if (mySelector->viewer() == aViewer) { XGUI_Displayer* aDisp = myWorkshop->displayer(); QObjectPtrList aObjects = aDisp->displayedObjects(); - foreach(ObjectPtr aObj, aObjects) + ResultPtr aRes; + foreach(ObjectPtr aObj, aObjects) { aObj->setDisplayed(false); + aRes = std::dynamic_pointer_cast(aObj); + if (aRes.get()) { + while (aRes = ModelAPI_Tools::bodyOwner(aRes)) { + aRes->setDisplayed(false); + } + } + } Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_TO_REDISPLAY)); myProxyViewer->setSelector(0); delete mySelector; @@ -792,32 +802,32 @@ void SHAPERGUI::createPreferences() int colorScaleGroup = pref->addItem(tr("Color scale"), viewTab); pref->setItemProperty("columns", 4, colorScaleGroup); - int aItem = pref->addItem(tr("X position"), colorScaleGroup, + int aItem = aMgr.addPreference(tr("X position"), colorScaleGroup, SUIT_PreferenceMgr::Double, ModuleBase_Preferences::VIEWER_SECTION, "scalar_bar_x_position"); pref->setItemProperty("min", 0, aItem); pref->setItemProperty("max", 1, aItem); - aItem = pref->addItem(tr("Y position"), colorScaleGroup, + aItem = aMgr.addPreference(tr("Y position"), colorScaleGroup, SUIT_PreferenceMgr::Double, ModuleBase_Preferences::VIEWER_SECTION, "scalar_bar_y_position"); pref->setItemProperty("min", 0, aItem); pref->setItemProperty("max", 1, aItem); - aItem = pref->addItem(tr("Width"), colorScaleGroup, + aItem = aMgr.addPreference(tr("Width"), colorScaleGroup, SUIT_PreferenceMgr::Double, ModuleBase_Preferences::VIEWER_SECTION, "scalar_bar_width"); pref->setItemProperty("min", 0, aItem); pref->setItemProperty("max", 1, aItem); - aItem = pref->addItem(tr("Height"), colorScaleGroup, + aItem = aMgr.addPreference(tr("Height"), colorScaleGroup, SUIT_PreferenceMgr::Double, ModuleBase_Preferences::VIEWER_SECTION, "scalar_bar_height"); pref->setItemProperty("min", 0, aItem); pref->setItemProperty("max", 1, aItem); - aItem = pref->addItem(tr("Intervals number"), colorScaleGroup, + aItem = aMgr.addPreference(tr("Intervals number"), colorScaleGroup, SUIT_PreferenceMgr::Integer, ModuleBase_Preferences::VIEWER_SECTION, "scalar_bar_nb_intervals"); pref->setItemProperty("min", 0, aItem); pref->setItemProperty("max", 100, aItem); - aItem = pref->addItem(tr("Text height"), colorScaleGroup, + aItem = aMgr.addPreference(tr("Text height"), colorScaleGroup, SUIT_PreferenceMgr::Integer, ModuleBase_Preferences::VIEWER_SECTION, "scalar_bar_text_height"); pref->setItemProperty("min", 0, aItem); pref->setItemProperty("max", 100, aItem);