X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ModuleConnector.cpp;h=970cb045c6aad989e23ec9d9b9dbe54ace120437;hb=965adcb3288bda478cdd045d4b2f90c92980d099;hp=6a3c81a9f35b5ccda61750026914f4970ff75231;hpb=9854dbe3ec458621458f78823cf31d0fc3e9de85;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ModuleConnector.cpp b/src/XGUI/XGUI_ModuleConnector.cpp index 6a3c81a9f..970cb045c 100644 --- a/src/XGUI/XGUI_ModuleConnector.cpp +++ b/src/XGUI/XGUI_ModuleConnector.cpp @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> + // File: XGUI_ModuleConnector.cpp // Created: 3 June 2014 // Author: Vitaly Smetannikov @@ -22,17 +24,12 @@ XGUI_ModuleConnector::XGUI_ModuleConnector(XGUI_Workshop* theWorkshop) XGUI_OperationMgr* anOperationMgr = myWorkshop->operationMgr(); - connect(anOperationMgr, SIGNAL(operationStarted(ModuleBase_Operation*)), - this, SIGNAL(operationStarted(ModuleBase_Operation*))); - connect(anOperationMgr, SIGNAL(operationStopped(ModuleBase_Operation*)), - this, SIGNAL(operationStopped(ModuleBase_Operation*))); - - myDocumentShapeFilter = new ModuleBase_ShapeDocumentFilter(this); + //myDocumentShapeFilter = new ModuleBase_ShapeDocumentFilter(this); } XGUI_ModuleConnector::~XGUI_ModuleConnector() { - myDocumentShapeFilter.Nullify(); + //myDocumentShapeFilter.Nullify(); } ModuleBase_ISelection* XGUI_ModuleConnector::selection() const @@ -59,23 +56,25 @@ ModuleBase_Operation* XGUI_ModuleConnector::currentOperation() const void XGUI_ModuleConnector::activateSubShapesSelection(const QIntList& theTypes) { XGUI_Displayer* aDisp = myWorkshop->displayer(); - aDisp->openLocalContext(); + // 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->activateObjectsOutOfContext(aModes); + aDisp->activateObjects(aModes); //TODO: We have to open Local context because at neutral point filters don't work (bug 25340) - aDisp->addSelectionFilter(myDocumentShapeFilter); + //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); + //aDisp->removeSelectionFilter(myDocumentShapeFilter); + //aDisp->closeLocalContexts(false); } AISObjectPtr XGUI_ModuleConnector::findPresentation(const ObjectPtr& theObject) const @@ -90,8 +89,13 @@ ObjectPtr XGUI_ModuleConnector::findPresentedObject(const AISObjectPtr& theAIS) return aDisp->getObject(theAIS); } -void XGUI_ModuleConnector::setSelected(const QList& theFeatures) +void XGUI_ModuleConnector::setSelected(const QObjectPtrList& theFeatures) { XGUI_Displayer* aDisp = myWorkshop->displayer(); aDisp->setSelected(theFeatures); -} \ No newline at end of file +} + +bool XGUI_ModuleConnector::canStartOperation(QString theId) +{ + return myWorkshop->operationMgr()->canStartOperation(theId); +}