The distance still does not work because it uses the local points selection.
/// Defines if it is supposed that the widget should interact with the viewer.
virtual bool isViewerSelector() { return false; }
+ /// Defines if it is supported to set the value in this widget
+ /// By default it returns true
+ virtual bool canSetValue() const { return true; };
+
/// Set the given wrapped value to the current widget
/// This value should be processed in the widget according to the needs
/// \param theValue the wrapped widget value
bool isSet = false;
for (aWIt = aWidgets.constBegin(), aPIt = myPreSelection.constBegin();
(aWIt != aWidgets.constEnd()) && (aPIt != myPreSelection.constEnd());
- ++aWIt, ++aPIt) {
+ ++aWIt) {
aWgt = (*aWIt);
ModuleBase_WidgetValueFeature* aValue = (*aPIt);
+ if (!aWgt->canSetValue())
+ continue;
+
+ ++aPIt;
if (!aWgt->setValue(aValue)) {
isSet = false;
break;
virtual ~ModuleBase_WidgetLabel();
+ /// Defines if it is supported to set the value in this widget
+ /// It returns false because this is an info widget
+ virtual bool canSetValue() const { return false; };
+
virtual bool storeValue() const
{
return true;