}*/
}
- if (theFlushMessage)
+ if (theFlushMessage) {
Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_CREATED));
+ Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
+ }
return myFeature;
}
// 1. apply the selection to controls
for (aWIt = aWidgets.constBegin(); aWIt != aWidgets.constEnd(); ++aWIt) {
aWgt = (*aWIt);
- if (!aWgt->canSetValue())
+ if (!aWgt->canAcceptFocus())
continue;
aPropertyPanel->setPreselectionWidget(aWgt);
if (!aWgt->setSelection(myPreSelection, true)) {
// in order to redisplay object in the viewer, the update/redisplay signals should be flushed
// it is better to perform it not in setSelection of each widget, but do it here,
// after the preselection is processed
- ModuleBase_ModelWidget::updateObject(myFeature);
+ ModuleBase_Tools::flushUpdated(myFeature);
}
}
clearPreselection();
void ModuleBase_OperationFeature::initSelection(ModuleBase_ISelection* theSelection,
ModuleBase_IViewer* theViewer)
{
- clearPreselection();
-
- QList<ModuleBase_ViewerPrs> aPreSelected;
+ QList<ModuleBase_ViewerPrsPtr> aPreSelected;
// Check that the selected result are not results of operation feature
FeaturePtr aFeature = feature();
if (aFeature) {
- QList<ModuleBase_ViewerPrs> aSelected = theSelection->getSelected(ModuleBase_ISelection::AllControls);
+ QList<ModuleBase_ViewerPrsPtr> aSelected = theSelection->getSelected(ModuleBase_ISelection::AllControls);
std::list<ResultPtr> aResults = aFeature->results();
QObjectPtrList aResList;
for (aIt = aResults.begin(); aIt != aResults.end(); ++aIt)
aResList.append(*aIt);
- foreach (ModuleBase_ViewerPrs aPrs, aSelected) {
- if ((!aResList.contains(aPrs.object())) && (aPrs.object() != aFeature))
+ foreach (ModuleBase_ViewerPrsPtr aPrs, aSelected) {
+ if ((!aResList.contains(aPrs->object())) && (aPrs->object() != aFeature))
aPreSelected.append(aPrs);
}
} else
aPreSelected = theSelection->getSelected(ModuleBase_ISelection::AllControls);
- myPreSelection = aPreSelected;
+ setPreselection(aPreSelected);
+}
+
+void ModuleBase_OperationFeature::setPreselection(const QList<ModuleBase_ViewerPrsPtr>& theValues)
+{
+ clearPreselection();
+ myPreSelection = theValues;
}
void ModuleBase_OperationFeature::clearPreselection()