+ if (isVisible) {
+ foreach (FeaturePtr aFeature, theList) {
+ myDisplayer->display(aFeature, false);
+ }
+ } else {
+ foreach (FeaturePtr aFeature, theList) {
+ myDisplayer->erase(aFeature, false);
+ }
+ }
+ myDisplayer->updateViewer();
+}
+
+//**************************************************************
+void XGUI_Workshop::updateCommandsOnViewSelection()
+{
+ PluginManagerPtr aMgr = ModelAPI_PluginManager::get();
+ ModelAPI_ValidatorsFactory* aFactory = aMgr->validators();
+ XGUI_Selection* aSelection = mySelector->selection();
+
+ QList<QAction*> aActions = getModuleCommands();
+ foreach(QAction* aAction, aActions) {
+ QString aId = aAction->data().toString();
+ const ModelAPI_Validator* aValidator = aFactory->validator(aId.toStdString());
+ if (aValidator) {
+ const ModuleBase_SelectionValidator* aSelValidator =
+ dynamic_cast<const ModuleBase_SelectionValidator*>(aValidator);
+ if (aSelValidator) {
+ aAction->setEnabled(aSelValidator->isValid(aSelection));
+ }
+ }
+ }