X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FModuleBase%2FModuleBase_Tools.h;h=410f01de2b77459e2df124391b060fbc968ec858;hb=c8e35a67c60489a46aaf7c8ff75001511ac2635b;hp=3a2dbacfffacbc88b11387e7bffbb6d3183d5ff9;hpb=7210ed3a44c73d261bb5abb28fae1489c5a35b30;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_Tools.h b/src/ModuleBase/ModuleBase_Tools.h index 3a2dbacff..410f01de2 100644 --- a/src/ModuleBase/ModuleBase_Tools.h +++ b/src/ModuleBase/ModuleBase_Tools.h @@ -1,28 +1,91 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: ModuleBase_Tools.h // Created: 11 July 2014 // Author: Vitaly Smetannikov - #ifndef ModuleBase_Tools_H #define ModuleBase_Tools_H #include "ModuleBase.h" +#include "ModuleBase_Definitions.h" -#include #include +#include + +#include + +class QWidget; +class QLayout; +class QDoubleSpinBox; +class ModuleBase_ParamSpinBox; + +namespace ModuleBase_Tools { + +/* + * Methods to adjust margins and spacings. + */ +MODULEBASE_EXPORT void adjustMargins(QWidget* theWidget); +MODULEBASE_EXPORT void adjustMargins(QLayout* theLayout); + +MODULEBASE_EXPORT void zeroMargins(QWidget* theWidget); +MODULEBASE_EXPORT void zeroMargins(QLayout* theLayout); + + +/** + * \ingroup GUI + * Methods to modify a resource 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. + +//! \param theAdditionalIcon resource text of the additional pixmap +//! \param theIcon resource text of the background pixmap +//! \return resulting pixmap +MODULEBASE_EXPORT QPixmap composite(const QString& theAdditionalIcon, const QString& theIcon); + +//! 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, +//! the return pixmap is darker. If the factor is 0 or negative, the return pixmap is unspecified. + +//! \param resource text of the pixmap +//! \param theLighterValue a lighter factor +//! \return resulting pixmap +MODULEBASE_EXPORT QPixmap lighter(const QString& theIcon, const int theLighterValue = 200); -class GeomAPI_Shape; +/// 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(QDoubleSpinBox* theSpin, double theValue); -namespace ModuleBase_Tools -{ +/// 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 +MODULEBASE_EXPORT void setSpinText(ModuleBase_ParamSpinBox* theSpin, const QString& theText); - /** - * Returns returns a shape if the result has a shape method. Otherwise returns NULL pointer - */ - MODULEBASE_EXPORT boost::shared_ptr shape(ResultPtr theResult); +/// 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); - MODULEBASE_EXPORT FeaturePtr feature(ObjectPtr theObject); +/// 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); -}; +/*! +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 +*/ +MODULEBASE_EXPORT void checkObjects(const QObjectPtrList& theObjects, bool& hasResult, bool& hasFeature, bool& hasParameter); +} -#endif \ No newline at end of file +#endif