#define PartSet_WidgetPoint2dDistance_H
#include "PartSet.h"
-#include <ModuleBase_WidgetDoubleValue.h>
+#include "PartSet_MouseProcessor.h"
+
+#include <ModuleBase_WidgetLabelValue.h>
#include <ModelAPI_CompositeFeature.h>
* </point2ddistance>
* \endcode
*/
-class PARTSET_EXPORT PartSet_WidgetPoint2dDistance : public ModuleBase_WidgetDoubleValue
+class PARTSET_EXPORT PartSet_WidgetPoint2dDistance : public ModuleBase_WidgetLabelValue,
+ public PartSet_MouseProcessor
{
Q_OBJECT
public:
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<ModuleBase_ViewerPrs>& theValue);
/// \returns the sketch instance
CompositeFeaturePtr sketch() const { return mySketch; }
/// 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
/// \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<GeomAPI_Pnt2d>& thePnt);
/// Compute the distance between points
virtual double computeValue(const std::shared_ptr<GeomAPI_Pnt2d>& theFirstPnt,
const std::shared_ptr<GeomAPI_Pnt2d>& 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