}
//********************************************************************
-void ModuleBase_WidgetFeatureSelector::deactivate()
+void ModuleBase_WidgetFeatureSelector::selectionModes(int& theModuleSelectionModes, QIntList& theModes)
{
- ModuleBase_ModelWidget::deactivate();
- disconnect(myWorkshop, SIGNAL(selectionChanged()), this, SLOT(onSelectionChanged()));
- activateFilters(false);
- myWorkshop->deactivateSubShapesSelection();
+ theModuleSelectionModes = -1;
+ theModes.push_back(ModuleBase_ResultPrs::Sel_Result);
}
//********************************************************************
void ModuleBase_WidgetFeatureSelector::activateCustom()
{
- connect(myWorkshop, SIGNAL(selectionChanged()), this,
- SLOT(onSelectionChanged()), Qt::UniqueConnection);
-
- activateFilters(true);
-
- QIntList aShapeTypes;
- aShapeTypes.push_back(ModuleBase_ResultPrs::Sel_Result);
- myWorkshop->activateSubShapesSelection(aShapeTypes);
-
// Restore selection in the viewer by the attribute selection list
// it should be postponed to have current widget as active to validate restored selection
//static Events_ID anEvent = Events_Loop::eventByName(EVENT_UPDATE_BY_WIDGET_SELECTION);
}
//********************************************************************
-void ModuleBase_WidgetFeatureSelector::onSelectionChanged()
+bool ModuleBase_WidgetFeatureSelector::processSelection()
{
QList<ModuleBase_ViewerPrsPtr> aSelected = myWorkshop->selection()->getSelected(
ModuleBase_ISelection::AllControls);
bool isDone = setSelection(aSelected, true/*false*/);
updateOnSelectionChanged(isDone);
+
+ return isDone;
}
//********************************************************************