+ /// Process mouse release event
+ /// \param theWnd a view window
+ /// \param theEvent a mouse event
+ void onMouseRelease(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+
+protected:
+ /// Saves the internal parameters to the given feature
+ /// \return True in success
+ virtual bool storeValueCustom() const;
+
+ /// Restore value from attribute data to the widget's control
+ virtual bool restoreValueCustom();
+
+ /// Store current value in cashed value
+ void storeCurentValue();
+
+ /// Restore cashed value in the model attribute
+ /// \return boolean state if the restored feature shoud be hidden
+ bool restoreCurentValue();
+
+ /// Fills the widget with default values
+ /// \return true if the widget current value is reset
+ virtual bool resetCustom();
+
+ /// The methiod called when widget is activated
+ virtual void activateCustom();
+
+ /// Returns true if the feature contains Point2D attribute with the same coordinates
+ /// The attribute of the widget is not processed.
+ /// \param theFeature a feature
+ /// \param theX the X coordinate
+ /// \param theY the Y coordinate
+ /// \return boolean result
+ bool isFeatureContainsPoint(const FeaturePtr& theFeature, double theX, double theY);
+
+//private slots:
+ /// Process value changed event
+ //void onValuesChanged();
+
+ /// Compute the feature default value and fill the controls with it
+ /// or store the control value to the feature
+ /// The widget is not initialize the attribute value in order to avoid the
+ /// incorrect visualization in Sketch. E.g. by a line creation, the line should not
+ /// be visualized immediatelly when the end point widget is activated.
+ virtual void initializeValueByActivate();