#include "XGUI_Displayer.h"
#include "XGUI_ViewerProxy.h"
#include "XGUI_Selection.h"
+#include "XGUI_SalomeConnector.h"
#include <AppElements_MainWindow.h>
#include <ModelAPI_Session.h>
#include <ModelAPI_ResultGroup.h>
+#include <ModuleBase_IModule.h>
+
#include <QAction>
#include <QContextMenuEvent>
#include <QMenu>
addAction("DEACTIVATE_PART_CMD", aAction);
aAction = new QAction(QIcon(":pictures/delete.png"), tr("Delete"), this);
+ QMainWindow* aDesktop = myWorkshop->mainWindow();
+ if (!aDesktop)
+ aDesktop = myWorkshop->salomeConnector()->desktop();
+ aDesktop->addAction(aAction);
+
addAction("DELETE_CMD", aAction);
+ aAction->setShortcut(Qt::Key_Delete);
+ aAction->setShortcutContext(Qt::ApplicationShortcut);
+
+ aAction = new QAction(QIcon(":pictures/color.png"), tr("Color"), this);
+ addAction("COLOR_CMD", aAction);
aAction = new QAction(QIcon(":pictures/eye_pencil.png"), tr("Show"), this);
addAction("SHOW_CMD", aAction);
aMenu->addAction(action("DEACTIVATE_PART_CMD"));
else
aMenu->addAction(action("ACTIVATE_PART_CMD"));
- } else if (hasFeature) {
+ } else if (hasFeature && aObject->document() == aMgr->activeDocument()) {
aMenu->addAction(action("EDIT_CMD"));
} else {
if (aDisplayer->isVisible(aObject)) {
if (hasFeature)
aMenu->addAction(action("DELETE_CMD"));
}
+ if (myWorkshop->canChangeColor())
+ aMenu->addAction(action("COLOR_CMD"));
+
aMenu->addSeparator();
aMenu->addActions(myWorkshop->objectBrowser()->actions());
+
+ ModuleBase_IModule* aModule = myWorkshop->module();
+ if (aModule)
+ aModule->addObjectBrowserItems(aMenu);
+
if (aMenu->actions().size() > 0) {
return aMenu;
}
aSubMenu->addActions(aMDI->actions());
}
}
+ if (myWorkshop->canChangeColor())
+ theMenu->addAction(action("COLOR_CMD"));
- aObjects.clear();
- aObjects = aSelMgr->selection()->selectedPresentations();
- if (aObjects.size() > 0) {
- bool hasFeature = true;//false;
- foreach(ObjectPtr aObject, aObjects)
- {
- ResultPtr aRes = std::dynamic_pointer_cast<ModelAPI_Result>(aObject);
- if (aRes) {
- hasFeature = true;
- }
- //FeaturePtr aFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(aObject);
- //if (aFeature)
- // hasFeature = true;
- }
- if (hasFeature)
- theMenu->addAction(action("DELETE_CMD"));
- }
+ ModuleBase_IModule* aModule = myWorkshop->module();
+ if (aModule)
+ aModule->addViewerItems(theMenu);
}
void XGUI_ContextMenuMgr::connectObjectBrowser() const