+ return myWorkshop->operationMgr()->currentOperation();
+}
+
+
+void XGUI_ModuleConnector::activateSubShapesSelection(const QIntList& theTypes)
+{
+ XGUI_Displayer* aDisp = myWorkshop->displayer();
+ // Close context if it was opened in order to clear stsndard selection modes
+ //aDisp->closeLocalContexts(false);
+ //aDisp->openLocalContext();
+ // Convert shape types to selection types
+ QIntList aModes;
+ foreach(int aType, theTypes) {
+ aModes.append(AIS_Shape::SelectionMode((TopAbs_ShapeEnum)aType));
+ }
+ aDisp->activateObjects(aModes);
+ //TODO: We have to open Local context because at neutral point filters don't work (bug 25340)
+ //aDisp->addSelectionFilter(myDocumentShapeFilter);
+}
+
+void XGUI_ModuleConnector::deactivateSubShapesSelection()
+{
+ XGUI_Displayer* aDisp = myWorkshop->displayer();
+ // The document limitation selection has to be only during operation
+ //aDisp->removeSelectionFilter(myDocumentShapeFilter);
+ //aDisp->closeLocalContexts(false);
+}
+
+AISObjectPtr XGUI_ModuleConnector::findPresentation(const ObjectPtr& theObject) const
+{
+ XGUI_Displayer* aDisp = myWorkshop->displayer();
+ return aDisp->getAISObject(theObject);
+}
+
+ObjectPtr XGUI_ModuleConnector::findPresentedObject(const AISObjectPtr& theAIS) const
+{
+ XGUI_Displayer* aDisp = myWorkshop->displayer();
+ return aDisp->getObject(theAIS);
+}
+
+void XGUI_ModuleConnector::setSelected(const QObjectPtrList& theFeatures)
+{
+ XGUI_Displayer* aDisp = myWorkshop->displayer();
+ aDisp->setSelected(theFeatures);
+}
+
+bool XGUI_ModuleConnector::canStartOperation(QString theId)
+{
+ return myWorkshop->operationMgr()->canStartOperation(theId);
+}