Salome HOME
Issue #1854 Recover feature control update
[modules/shaper.git] / src / ModuleBase / ModuleBase_Tools.h
index ad735c09b6d0d36947b59a6b941977d59cd1770d..1f53c21b8b0d96b6859a9e048132015b5616db56 100755 (executable)
@@ -16,6 +16,7 @@
 #include <TopAbs_ShapeEnum.hxx>
 #include <TopoDS_Shape.hxx>
 #include <Prs3d_Drawer.hxx>
+#include <AIS_Shape.hxx>
 
 #include <Quantity_Color.hxx>
 
@@ -69,7 +70,7 @@ MODULEBASE_EXPORT void setShadowEffect(QWidget* theWidget, const bool isSetEffec
 /// \ingroup GUI
 /// Methods to modify a resource pixmap
 
-/// Create composite pixmap. 
+/// Create composite pixmap.
 /// Pixmap \a theAdditionalIcon is drawn over pixmap \a dest with coordinates
 /// specified relatively to the upper left corner of \a theIcon.
 
@@ -78,10 +79,11 @@ MODULEBASE_EXPORT void setShadowEffect(QWidget* theWidget, const bool isSetEffec
 /// \return resulting pixmap
 MODULEBASE_EXPORT QPixmap composite(const QString& theAdditionalIcon, const QString& theIcon);
 
-/// Generates the pixmap lighter than the resources pixmap. 
+/// Generates the pixmap lighter than the resources pixmap.
 /// Pixmap \a theIcon is lighted according to the given value.
 /// If the lighter value is greater than 100, this functions returns a lighter pixmap.
-/// Setting lighter value to 150 returns a color that is 50% brighter. If the factor is less than 100,
+/// Setting lighter value to 150 returns a color that is 50% brighter.
+/// If the factor is less than 100,
 /// the return pixmap is darker. If the factor is 0 or negative, the return pixmap is unspecified.
 
 /// \param resource text of the pixmap
@@ -132,7 +134,8 @@ MODULEBASE_EXPORT QAction* createAction(const QIcon& theIcon, const QString& the
 /// \param theObj an object
 /// \param isUseAttributesInfo a flag whether the attribute values information is used
 /// \return a string
-MODULEBASE_EXPORT QString objectInfo(const ObjectPtr& theObj, const bool isUseAttributesInfo = false);
+MODULEBASE_EXPORT QString objectInfo(const ObjectPtr& theObj,
+                                     const bool isUseAttributesInfo = false);
 
 /// Converts the AIS context information in a string information.
 /// \param theContext a viewer context
@@ -143,7 +146,7 @@ MODULEBASE_EXPORT void selectionInfo(Handle_AIS_InteractiveContext& theContext,
 /// Converts string value (name of shape type) to shape enum value
 /// \param theType - string with shape type name
 /// \return TopAbs_ShapeEnum value
-MODULEBASE_EXPORT TopAbs_ShapeEnum shapeType(const QString& theType);
+MODULEBASE_EXPORT int 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
@@ -163,13 +166,13 @@ MODULEBASE_EXPORT void checkObjects(const QObjectPtrList& theObjects, bool& hasR
 /// It provides 1.e-4 for results of construction type
 /// \param theResult a result object to define the deviation coeffient
 /// \param theDrawer a drawer
-MODULEBASE_EXPORT void setDefaultDeviationCoefficient(
-                           const std::shared_ptr<ModelAPI_Result>& theResult,
-                           const Handle(Prs3d_Drawer)& theDrawer);
+//MODULEBASE_EXPORT void setDefaultDeviationCoefficient(
+//                           const std::shared_ptr<ModelAPI_Result>& theResult,
+//                           const Handle(Prs3d_Drawer)& theDrawer);
 
 /// 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, 
+/// \param theShape a shape to define the deviation coeffient,
 /// \param theDrawer a drawer
 MODULEBASE_EXPORT void setDefaultDeviationCoefficient(const TopoDS_Shape& theShape,
                                                       const Handle(Prs3d_Drawer)& theDrawer);
@@ -222,7 +225,8 @@ MODULEBASE_EXPORT bool hasObject(const AttributePtr& theAttribute, const ObjectP
 /// \param theTemporarily if it is true, do not store and name the added in the data framework
 /// \param theCheckIfAttributeHasObject if it is true, the check isInList is called
 ///        It is useful for attribute selection
-MODULEBASE_EXPORT void setObject(const AttributePtr& theAttribute, const ObjectPtr& theObject,
+/// \return true if the attribute is filled with the given parameters
+MODULEBASE_EXPORT bool setObject(const AttributePtr& theAttribute, const ObjectPtr& theObject,
                                  const std::shared_ptr<GeomAPI_Shape>& theShape,
                                  ModuleBase_IWorkshop* theWorkshop,
                                  const bool theTemporarily,
@@ -263,13 +267,13 @@ void MODULEBASE_EXPORT refsToFeatureInFeatureDocument(const ObjectPtr& theObject
 /// \param theObject a candidate to be a sub object
 /// \param theFeature a candidate to be a composite feature
 /// \return a boolean value
-bool MODULEBASE_EXPORT isSubOfComposite(const ObjectPtr& theObject, const FeaturePtr& theFeature);
+//bool MODULEBASE_EXPORT isSubOfComposite(const ObjectPtr& theObject, const FeaturePtr& theFeature);
 
 
 /// Returns true if the result is a sub object of some composite object
 /// \param theObject a result object
 /// \returns boolean value
-bool MODULEBASE_EXPORT isSubOfComposite(const ObjectPtr& theObject);
+//bool MODULEBASE_EXPORT isSubOfComposite(const ObjectPtr& theObject);
 
 
 /// Returns first result of the feature: the object itself if it is a result of
@@ -291,26 +295,33 @@ bool MODULEBASE_EXPORT hasModuleDocumentFeature(const std::set<FeaturePtr>& theF
 /// \param theReferencesToDelete an out set for references features to be removed
 /// \return true if in message box answer is Yes
 bool MODULEBASE_EXPORT askToDelete(const std::set<FeaturePtr> aFeatures,
-                                   const std::map<FeaturePtr, std::set<FeaturePtr> >& theReferences,
+                                   const std::map<FeaturePtr,
+                                   std::set<FeaturePtr> >& theReferences,
                                    QWidget* theParent,
-                                   std::set<FeaturePtr>& theReferencesToDelete);
+                                   std::set<FeaturePtr>& theReferencesToDelete,
+                                   const std::string& thePrefixInfo = "");
 
 /// Converts a list of objects to set of corresponded features. If object is result, it is ingored
 /// because the feauture only might be removed. But if result is in a parameter group, the feature
 /// of this parameter is to be removed
 /// \param theObjects a list of objects
 /// \param theFeatures an out conteiner of features
-void MODULEBASE_EXPORT convertToFeatures(const QObjectPtrList& theObjects, std::set<FeaturePtr>& theFeatures);
+void MODULEBASE_EXPORT convertToFeatures(const QObjectPtrList& theObjects,
+                                         std::set<FeaturePtr>& theFeatures);
 
 
 /// Returns translation from the given data.
-/// If translation is not exists then it returns a string 
+/// If translation is not exists then it returns a string
 /// from the info data without translation
 /// \param theContext context of the message (Feature Id)
 /// \param theMessage a message which dave to be translated
 /// \param theParams a list of parameters (can be empty)
 void MODULEBASE_EXPORT translate(const std::string& theContext, std::string& theMessage);
 
+/// Set Highlighting of points as a Ball shape
+/// \param theAIS - the presentation
+void MODULEBASE_EXPORT setPointBallHighlighting(AIS_Shape* theAIS);
+
 }
 
 #endif