+ /// Fills the widget with default values. It calls the resetCustom method and change
+ /// the widget state to Reset if the reset is performed.
+ /// \return true if the widget current value is reset
+ bool reset();
+
+ /// Returns the state whether the attribute of the feature is initialized
+ /// \param theObject a model feature to be checked
+ /// \return the boolean result
+ bool isInitialized(ObjectPtr theObject) const;
+
+ /// Returns true, if default value of the widget should be computed
+ /// on operation's execute, like radius for circle's constraint (can not be zero)
+ bool isComputedDefault() const { return myIsComputedDefault; }
+
+ /// Returns true, if default value of the widget is defined in the XML and it is not the
+ /// computed value
+ /// \return the boolean result
+ std::string getDefaultValue() const { return myDefaultValue; }
+
+ /// Returns true, if widget is internal
+ /// \return the boolean result
+ bool isInternal() const { return myIsInternal; }
+
+ /// Returns true, if the obligatory value of the widget is
+ /// not defined in the XML or has true value
+ /// \return the boolean result
+ bool isObligatory() const { return myIsObligatory; }
+
+ /// Returns true, if the widget value is enabled and might be modified manualy.
+ /// It returns false if the application preferences allow having disabled value
+ /// and the internal state tells to disable
+ /// \return the boolean result
+ virtual bool isValueEnabled() const;
+
+ /// Returns this parameter value in the xml file
+ /// \return the boolean result
+ bool isUseReset() const { return myUseReset; }
+
+ /// Returns this widget value state
+ /// \return the enumeration result
+ ValueState getValueState() const { return myState; }
+
+ /// Stores the widget value if it is modified
+ void processValueState();
+
+ /// Returns an attribute error according to the value state
+ /// It exists in all cases excepring the "Store" case
+ Events_InfoMessage getValueStateError() const;
+
+ /// 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 canAcceptFocus() const { return true; };
+
+ //! Returns the widget error, get it from the attribute validator and state of the widget
+ //! If the feature is correct, it returns an empty value
+ //! \param theValueStateChecked the boolean flag if the state of the widget should be checked
+ //! \return string value
+ QString getError(const bool theValueStateChecked = true) const;
+
+ /// Set the given wrapped value to the current widget
+ /// This value should be processed in the widget according to the needs
+ /// \param theValues the wrapped selection values
+ /// \param theToValidate the boolean value whether the value should be checked by filters
+ virtual bool setSelection(QList<std::shared_ptr<ModuleBase_ViewerPrs>>& theValues,
+ const bool theToValidate)
+ {
+ return false;
+ }