Salome HOME
Issue #2063 crash during trim: it was corrected with #2065 issue, TestTrimLine02...
[modules/shaper.git] / src / ModuleBase / ModuleBase_Tools.h
index 9c529b341eec68aa704990a7d0f5d79567c73ea4..1d9d2118c685af95368d01c80bf3d3a67b3bc420 100755 (executable)
 
 #include <QIcon>
 #include <QPixmap>
+#include <QLocale>
 
 #include <map>
 
-class Handle_AIS_InteractiveContext;
-
 class QWidget;
 class QLayout;
 class QDoubleSpinBox;
@@ -37,6 +36,8 @@ class ModuleBase_IWorkshop;
 
 class GeomAPI_Shape;
 
+class Events_InfoMessage;
+
 namespace ModuleBase_Tools {
 
 /// Methods to adjust margins and spacings.
@@ -70,7 +71,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.
 
@@ -79,10 +80,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
@@ -129,17 +131,14 @@ MODULEBASE_EXPORT QAction* createAction(const QIcon& theIcon, const QString& the
                                         const QString& theToolTip = QString(),
                                         const QString& theStatusTip = QString());
 
+#ifdef _DEBUG
 /// Converts the object to the feature or a result and generate information string
 /// \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);
-
-/// Converts the AIS context information in a string information.
-/// \param theContext a viewer context
-/// \param thePrefix additional information where the method is called
-MODULEBASE_EXPORT void selectionInfo(Handle_AIS_InteractiveContext& theContext,
-                                     const std::string& thePrefix);
+MODULEBASE_EXPORT QString objectInfo(const ObjectPtr& theObj,
+                                     const bool isUseAttributesInfo = false);
+#endif
 
 /// Converts string value (name of shape type) to shape enum value
 /// \param theType - string with shape type name
@@ -170,7 +169,7 @@ MODULEBASE_EXPORT void checkObjects(const QObjectPtrList& theObjects, bool& hasR
 
 /// 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);
@@ -178,11 +177,9 @@ MODULEBASE_EXPORT void setDefaultDeviationCoefficient(const TopoDS_Shape& theSha
 /// 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 Quantity_Color color(const std::string& theSection,
-                                       const std::string& theName,
-                                       const std::string& theDefault);
+                                       const std::string& theName);
 
 /// Returns the object from the attribute
 /// \param theObj an object
@@ -252,6 +249,11 @@ MODULEBASE_EXPORT void blockUpdateViewer(const bool theValue);
 MODULEBASE_EXPORT QString wrapTextByWords(const QString& theValue, QWidget* theWidget,
                                              int theMaxLineInPixels = 150);
 
+/// Generates a locale to disable thousands separator for spin box
+/// (to avoid inconsistency of double-2-string and string-2-double conversion)
+/// \return locale
+MODULEBASE_EXPORT QLocale doubleLocale();
+
 /// Returns a container of referenced feature to the current object in the object document.
 /// \param theObject an object, which will be casted to a feature type
 /// \param theRefFeatures an output container
@@ -293,7 +295,7 @@ 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, 
+                                   const std::map<FeaturePtr,
                                    std::set<FeaturePtr> >& theReferences,
                                    QWidget* theParent,
                                    std::set<FeaturePtr>& theReferencesToDelete,
@@ -304,17 +306,22 @@ bool MODULEBASE_EXPORT askToDelete(const std::set<FeaturePtr> aFeatures,
 /// 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, 
+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 theMessage a message which dave to be translated
+QString MODULEBASE_EXPORT translate(const Events_InfoMessage& theMessage);
+
+/// Returns translation from the given data.
+/// 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);
+QString MODULEBASE_EXPORT translate(const std::string& theContext, const std::string& theMessage);
 
 /// Set Highlighting of points as a Ball shape
 /// \param theAIS - the presentation