1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: SketcherPrs_DimensionStyleListener.h
4 // Created: 31 March 2016
5 // Author: Natalia ERMOLAEVA
7 #ifndef SketcherPrs_DimensionStyleListener_H
8 #define SketcherPrs_DimensionStyleListener_H
10 #include <Events_Listener.h>
12 #include <ModelAPI_AttributeDouble.h>
14 #include "SketcherPrs_Tools.h"
16 #include <Standard.hxx>
22 * A class for representation of linear dimension constraint.
23 * It supports SketchPlugin_ConstraintLength and SketchPlugin_ConstraintDistance features.
25 class SketcherPrs_DimensionStyleListener : public Events_Listener
29 Standard_EXPORT SketcherPrs_DimensionStyleListener();
32 Standard_EXPORT ~SketcherPrs_DimensionStyleListener();
34 /// Process the ModelAPI_DocumentCreatedMessage to fulfill a document
35 /// from the message with origin and planes
36 virtual void processEvent(const std::shared_ptr<Events_Message>& theMessage);
38 /// Redefinition of virtual function
39 Standard_EXPORT void updateDimensions(AIS_Dimension* theDimension,
40 const AttributeDoublePtr& theAttributeValue);
42 /// Visualizes the dimension text or dimension value depending on the has parameters state
43 /// \param theDimension a modified dimension
44 /// \param theHasParameters if true, the text is shown, else digit
45 /// \param theValue a dimension value
46 Standard_EXPORT void updateDimensions(AIS_Dimension* theDimension,
47 const bool theHasParameters,
48 const std::string& theValue);
51 /// Style how the parameter of dimension should be visualized
52 SketcherPrs_ParameterStyleMessage::ParameterStyle myStyle;