#include <QObject>
#include <QStringList>
+class ModuleBase_WidgetValue;
class ModelAPI_Feature;
class QWidget;
class QLabel;
/// Destructor
virtual ~ModuleBase_WidgetFeature();
- /// Fill the widget values by given point
- /// \param thePoint the point
- bool setFeature(const FeaturePtr& theFeature);
+ /// 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
+ virtual bool setValue(ModuleBase_WidgetValue* theValue);
/// Saves the internal parameters to the given feature
/// \param theFeature a model feature to be changed
- virtual bool storeValue(FeaturePtr theFeature) const;
+ virtual bool storeValue(ObjectPtr theObject) const;
- virtual bool restoreValue(FeaturePtr theFeature);
+ virtual bool restoreValue(ObjectPtr theObject);
/// Returns the internal parent wiget control, that can be shown anywhere
/// \returns the widget
/// \return a control list
virtual QList<QWidget*> getControls() const;
+protected:
+ /// Fill the widget values by given point
+ /// \param thePoint the point
+ /// \return the boolean result of the feature set
+ bool setObject(const ObjectPtr& theObject);
+
+ /// Returns current widget feature
+ /// \return the feature
+ const ObjectPtr object() const { return myObject; }
+
+ /// Returns the widget editor
+ /// \return the editor
+ QLineEdit* editor() const { return myEditor; }
+
+ /// Returns the possible feature kinds
+ /// \return the list of kinds
+ const QStringList& featureKinds() const { return myObjectKinds; }
+
private:
- FeaturePtr myFeature; ///< the current widget feature
- QStringList myFeatureKinds; ///< the kinds of possible features
+ ObjectPtr myObject; ///< the current widget feature
+ QStringList myObjectKinds; ///< the kinds of possible features
QWidget* myContainer; /// the parent top control
QLabel* myLabel; /// the editor information label