Salome HOME
#1071 - sketch validation problem
[modules/shaper.git] / src / ModuleBase / ModuleBase_Tools.h
old mode 100644 (file)
new mode 100755 (executable)
index 410f01d..f78e9b7
 #include "ModuleBase.h"
 #include "ModuleBase_Definitions.h"
 
+#include <ModelAPI_Attribute.h>
 #include <ModelAPI_Feature.h>
+
 #include <TopAbs_ShapeEnum.hxx>
+#include <TopoDS_Shape.hxx>
+#include <Prs3d_Drawer.hxx>
+
+#include <Quantity_Color.hxx>
 
 #include <QPixmap>
 
@@ -62,6 +68,11 @@ MODULEBASE_EXPORT QPixmap lighter(const QString& theIcon, const int theLighterVa
 /// \param theValue a new value
 MODULEBASE_EXPORT void setSpinValue(QDoubleSpinBox* theSpin, double theValue);
 
+/// Sets programmatically the value to the spin box without emitting any signals(e.g. valueChanged)
+/// \param theSpin an X or Y coordinate widget
+/// \param theValue a new value
+MODULEBASE_EXPORT void setSpinValue(ModuleBase_ParamSpinBox* theSpin, double theValue);
+
 /// Sets programmatically the value to the spin box without emitting any signals(e.g. valueChanged)
 /// \param theSpin an ModuleBase_ParamSpinBox that accepts text
 /// \param theText a new value
@@ -78,14 +89,49 @@ MODULEBASE_EXPORT QString objectInfo(const ObjectPtr& theObj, const bool isUseAt
 /// \return TopAbs_ShapeEnum value
 MODULEBASE_EXPORT TopAbs_ShapeEnum shapeType(const QString& theType);
 
+/// Checks whether the object is a sub result. It gets the feature of the object,
+/// obtains all results of the feature and check if the object is a sub result
+/// \return boolean result
+MODULEBASE_EXPORT bool isSubResult(ObjectPtr theObject);
+
 /*!
 Check types of objects which are in the given list
 \param theObjects the list of objects
 \param hasResult will be set to true if list contains Result objects
 \param hasFeature will be set to true if list contains Feature objects
 \param hasParameter will be set to true if list contains Parameter objects
+\param hasSubFeature will be set to true if list contains Sub-Feature objects
+*/
+MODULEBASE_EXPORT void checkObjects(const QObjectPtrList& theObjects, bool& hasResult,
+                           bool& hasFeature, bool& hasParameter, bool& hasSubFeature);
+
+/*! Sets the default coeffient into the driver calculated accordingly the shape type.
+It provides 1.e-4 for a shape withe Edge shape type
+\param theShape a shape to define the deviation coeffient, 
+\return double value
+*/
+MODULEBASE_EXPORT void setDefaultDeviationCoefficient(const TopoDS_Shape& theShape,
+                                                      const Handle(Prs3d_Drawer)& theDrawer);
+
+/*! Obtains the color from the property manager and converts it to the OCCT color
+\param theSection a property section
+\param theName a property item name
+\param theDefault a default color value
+\return quantity color
 */
-MODULEBASE_EXPORT void checkObjects(const QObjectPtrList& theObjects, bool& hasResult, bool& hasFeature, bool& hasParameter);
+MODULEBASE_EXPORT Quantity_Color color(const std::string& theSection,
+                                       const std::string& theName,
+                                       const std::string& theDefault);
+
+
+// Returns the object from the attribute
+/// \param theObj an object
+MODULEBASE_EXPORT ObjectPtr getObject(const AttributePtr& theAttribute);
+
+// Returns the object from the attribute
+/// \param theObj an object
+MODULEBASE_EXPORT TopAbs_ShapeEnum getCompoundSubType(const TopoDS_Shape& theShape);
+
 }
 
 #endif