X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_WidgetPoint2dDistance.h;h=0ad39f03cda875779d7f4c54de9eefb706db925e;hb=32208dedf0b2b5bd50b5b86c464f37a8e0eb07d0;hp=1cac83c89ea5bd2fd17db03dc1372fddbac8ca09;hpb=8abdbb054d2e130d01aaf11ee6d5b984ce1e0b71;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_WidgetPoint2dDistance.h b/src/PartSet/PartSet_WidgetPoint2dDistance.h index 1cac83c89..0ad39f03c 100644 --- a/src/PartSet/PartSet_WidgetPoint2dDistance.h +++ b/src/PartSet/PartSet_WidgetPoint2dDistance.h @@ -8,7 +8,9 @@ #define PartSet_WidgetPoint2dDistance_H #include "PartSet.h" -#include +#include "PartSet_MouseProcessor.h" + +#include #include @@ -34,7 +36,8 @@ class QMouseEvent; * * \endcode */ -class PARTSET_EXPORT PartSet_WidgetPoint2dDistance : public ModuleBase_WidgetDoubleValue +class PARTSET_EXPORT PartSet_WidgetPoint2dDistance : public ModuleBase_WidgetLabelValue, + public PartSet_MouseProcessor { Q_OBJECT public: @@ -42,15 +45,15 @@ Q_OBJECT /// \param theParent the parent object /// \param theWorkshop a current workshop /// \param theData the widget configuation. The attribute of the model widget is obtained from - /// \param theParentId is Id of a parent of the current attribute - PartSet_WidgetPoint2dDistance(QWidget* theParent, ModuleBase_IWorkshop* theWorkshop, - const Config_WidgetAPI* theData, - const std::string& theParentId); + PartSet_WidgetPoint2dDistance(QWidget* theParent, ModuleBase_IWorkshop* theWorkshop, + const Config_WidgetAPI* theData); virtual ~PartSet_WidgetPoint2dDistance(); - /// The methiod called when widget is deactivated - virtual void deactivate(); + /// Checks if the selection presentation is valid in widget + /// \param theValue a selected presentation in the view + /// \return a boolean value + virtual bool isValidSelectionCustom(const std::shared_ptr& theValue); /// \returns the sketch instance CompositeFeaturePtr sketch() const { return mySketch; } @@ -61,17 +64,15 @@ Q_OBJECT /// Returns true if the event is processed. virtual bool processEnter(); -public slots: - /// Process of mouse move - /// \param theWnd a pointer to a window - /// \param theEvent a mouse event - void onMouseMove(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent); + /// Processing the mouse move event in the viewer + /// \param theWindow a view window + /// \param theEvent a mouse event + virtual void mouseMoved(ModuleBase_IViewWindow* theWindow, QMouseEvent* theEvent); - protected slots: - /// Process of mouse release - /// \param theWnd a pointer to a window - /// \param theEvent a mouse event - void onMouseRelease(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent); + /// Processing the mouse release event in the viewer + /// \param theWindow a view window + /// \param theEvent a mouse event + virtual void mouseReleased(ModuleBase_IViewWindow* theWindow, QMouseEvent* theEvent); protected: /// Store current value in cashed value @@ -85,10 +86,8 @@ protected: /// \return true if the widget current value is reset virtual bool resetCustom(); - /// The methiod called when widget is activated - virtual void activateCustom(); - - /// Set the second point which defines a value in the widget as a distance with a first point defined by feature + /// Set the second point which defines a value in the widget as + /// a distance with a first point defined by feature void setPoint(FeaturePtr theFeature, const std::shared_ptr& thePnt); /// Compute the distance between points @@ -98,19 +97,23 @@ protected: virtual double computeValue(const std::shared_ptr& theFirstPnt, const std::shared_ptr& theCurrentPnt); + /// Saves the internal parameters to the given feature + /// \return True in success + virtual bool storeValueCustom(); + protected: /// A reference to workshop ModuleBase_IWorkshop* myWorkshop; - + /// A name of the first point std::string myFirstPntName; /// Reference to sketch CompositeFeaturePtr mySketch; - bool myValueIsCashed; /// boolean state if the value is cashed during value state change - bool myIsFeatureVisibleInCash; /// boolean value if the feature was visible when cash if filled - double myValueInCash; /// the cashed X value during value state change + bool myValueIsCashed; ///< boolean state if the value is cashed during value state change + bool myIsFeatureVisibleInCash; ///< boolean value if the feature was visible when cash if filled + double myValueInCash; ///< the cashed X value during value state change }; #endif