+
+ /// Returns True if the widget uses feature attribute.
+ /// If not then it means that the widget do not need attribute at all.
+ virtual bool usesAttribute() const { return true; }
+
+ /// It is called when user press Ok or OkPlus buttons in the parent property panel
+ /// By default this slot does nothing
+ virtual void onFeatureAccepted() {}
+
+ /// Returns True in case if the widget contains useful information for inspection tool
+ virtual bool isInformative() const { return true; }
+
+ /// If widgets has several panels then this method has to show a page which contains information
+ /// for current feature. By default does nothing
+ virtual void showInformativePage() {}
+
+ /// Returns True if data of its attribute was modified
+ virtual bool isModified() const { return false; }
+
+ virtual void setReadOnly(bool isReadOnly) { setEnabled(!isReadOnly); }
+
+ virtual bool isReadOnly() const { return !isEnabled(); }
+
+ /// Returns true if the widget should have access to external parts
+ bool canUseExternalParts() const { return myUseExternalParts; }
+