- aMenu->addActions(aActions);
-
- if (!myWorkshop->isSalomeMode()) {
- aMenu->addSeparator();
- QMdiArea* aMDI = myWorkshop->mainWindow()->mdiArea();
- if (aMDI->actions().size() > 0) {
- QMenu* aSubMenu = aMenu->addMenu(tr("Windows"));
- aSubMenu->addActions(aMDI->actions());
- }
+ // hide all is shown always even if selection in the viewer is empty
+ aActions.append(action("HIDEALL_CMD"));
+ theMenu->addActions(aActions);
+
+#ifndef HAVE_SALOME
+ theMenu->addSeparator();
+ QMdiArea* aMDI = myWorkshop->mainWindow()->mdiArea();
+ if (aMDI->actions().size() > 0) {
+ QMenu* aSubMenu = theMenu->addMenu(tr("Windows"));
+ aSubMenu->addActions(aMDI->actions());
+ }
+#endif
+}
+
+QStringList XGUI_ContextMenuMgr::actionObjectGroups(const QString& theName)
+{
+ QStringList aGroups;
+
+ QMap<std::string, QActionsList>::const_iterator anIt = myObjBrowserMenus.begin(),
+ aLast = myObjBrowserMenus.end();
+ for (; anIt != aLast; anIt++) {
+ QString aGroupName(anIt.key().c_str());
+ if (aGroups.contains(aGroupName))
+ continue;
+ QActionsList anActions = anIt.value();
+ QActionsList::const_iterator anAIt = anActions.begin(), anALast = anActions.end();
+ bool aFound = false;
+ for (; anAIt != anALast && !aFound; anAIt++)
+ aFound = (*anAIt)->data().toString() == theName;
+ if (aFound)
+ aGroups.append(aGroupName);