#ifndef HYDROGUI_TOOL_H
#define HYDROGUI_TOOL_H
-#include <HYDROData_Image.h>
-
-#include <GraphicsView_Defs.h>
-#include <GraphicsView_ViewPort.h>
-
-#include <TCollection_AsciiString.hxx>
-#include <TCollection_ExtendedString.hxx>
-#include <TCollection_HAsciiString.hxx>
-#include <TCollection_HExtendedString.hxx>
-
-#include <Image_PixMap.hxx>
-
-// IDL includes
-#include <SALOMEconfig.h>
-#include CORBA_SERVER_HEADER(GEOM_Gen)
-
-class SUIT_ViewManager;
-class OCCViewer_ViewFrame;
-
-class HYDROGUI_DataModel;
-class HYDROGUI_Module;
-class HYDROGUI_Prs;
-
+#include <HYDROData_Entity.h>
+#include <QString>
+
+class TCollection_AsciiString;
+class HYDROData_Document;
+class Image_PixMap;
+class TCollection_HAsciiString;
+class TCollection_HExtendedString;
class QDockWidget;
-class Handle(HYDROData_Document);
+class QImage;
+class QWidget;
-/**
- * \class HYDROGUI_Tool
- * \brief This class contains several useful methods.
- */
-class HYDROGUI_Tool
+namespace HYDROGUI_Tool
{
-public:
- /**
- * \brief Convert \a TCollection_AsciiString to \a QString
- */
- static QString ToQString( const TCollection_AsciiString& );
-
- /**
- * \brief Convert \a TCollection_ExtendedString to \a QString
- */
- static QString ToQString( const TCollection_ExtendedString& );
-
- /**
- * \brief Convert \a Handle_TCollection_HAsciiString to \a QString
- */
- static QString ToQString( const Handle(TCollection_HAsciiString)& );
-
- /**
- * \brief Convert \a Handle_TCollection_HExtendedString to \a QString
- */
- static QString ToQString( const Handle(TCollection_HExtendedString)& );
-
- /**
- * \brief Convert \a QString to \a TCollection_AsciiString
- */
- static TCollection_AsciiString ToAsciiString( const QString& );
-
- /**
- * \brief Convert \a QString to \a TCollection_ExtendedString
- */
- static TCollection_ExtendedString ToExtString( const QString& );
-
- /**
- * \brief Convert \a QString to \a Handle_TCollection_HAsciiString
- */
- static Handle(TCollection_HAsciiString) ToHAsciiString( const QString& );
-
- /**
- * \brief Convert \a QString to \a Handle_TCollection_HExtendedString
- */
- static Handle(TCollection_HExtendedString) ToHExtString( const QString& );
-
- /**
- * \brief Get the active study id.
- * \return active study id
- */
- static int GetActiveStudyId();
-
- /**
- * \brief Get path to the temporary directory.
- * \param theToCreate flag used to create a directory if it doesn't exist
- * \return path
- */
- static QString GetTempDir( const bool theToCreate );
-
- /**
- * \brief Set the specified view manager to be active on the desktop.
- * \param theModule module
- * \param theViewManager view manager
- */
- static void SetActiveViewManager( HYDROGUI_Module* theModule,
- SUIT_ViewManager* theViewManager );
-
- /**
- * \brief Returns TRUE if object can be shown on the viewer.
- * \param theObject data model object to check
- * \param theViewerType viewer type
- */
- static bool IsObjectHasPresentation( const Handle(HYDROData_Entity)& theObject,
- const QString& theViewerType = "" );
-
-/**
- * \brief Get sub-objects to build presentations.
- * \param theModule module
- * \param theSeq sequence of sub-objects
- */
- static void GetPrsSubObjects( HYDROGUI_Module* theModule,
- HYDROData_SequenceOfObjects& theSeq );
-
- /**
- * \brief Get presentation built for specified data object.
- * \param theObj data object
- * \param theObjects list of existing presentations
- * \return presentation
- */
- static HYDROGUI_Prs* GetPresentation( const Handle(HYDROData_Entity)& theObj,
- const GraphicsView_ObjectList& theObjects );
-
- /**
- * \brief Get list of HYDRO presentations from the specified viewport.
- * \param theViewPort viewport
- * \return list of HYDRO presentations
- */
- static GraphicsView_ObjectList GetPrsList( GraphicsView_ViewPort* theViewPort );
-
- /**
- * \brief Get list of the selected data objects.
- * \param theModule module
- * \return list of the selected data objects
- */
- static HYDROData_SequenceOfObjects GetSelectedObjects( HYDROGUI_Module* theModule );
-
- /**
- * \brief Get the selected data object (first in the selected list).
- * \param theModule module
- * \return selected data object
- */
- static Handle(HYDROData_Entity) GetSelectedObject( HYDROGUI_Module* theModule );
-
- /**
- * \brief Get the geometry data objects from document.
- * \param theModule module
- * \return sequence of data objects
- */
- static HYDROData_SequenceOfObjects GetGeometryObjects( HYDROGUI_Module* theModule );
-
- /**
- * \brief Get kind of objects the selected partition contains.
- * \param theModule module
- * \return object kind
- */
- static ObjectKind GetSelectedPartition( HYDROGUI_Module* theModule );
+ QString ToQString( const TCollection_AsciiString& );
+ QString ToQString( const TCollection_ExtendedString& );
+ QString ToQString( const Handle(TCollection_HAsciiString)& );
+ QString ToQString( const Handle(TCollection_HExtendedString)& );
+ TCollection_AsciiString ToAsciiString( const QString& );
+ TCollection_ExtendedString ToExtString( const QString& );
+ Handle(TCollection_HAsciiString) ToHAsciiString( const QString& );
+ Handle(TCollection_HExtendedString) ToHExtString( const QString& );
+
+ QString GetTempDir( const bool theToCreate );
+
+ QDockWidget* WindowDock( QWidget* wid );
+
+ QStringList FindExistingObjectsNames( const Handle(HYDROData_Document)& theDoc,
+ const ObjectKind theObjectKind,
+ bool isCheckValidProfile = false );
+ QString GetCoordinateString( const double theNumber, bool isInLocale );
- /**
- * \brief Find the data object with the specified name.
- * \param theModule module
- * \param theName name
- * \param theObjectKind kind of object
- * \return data object
- */
- static Handle(HYDROData_Entity) FindObjectByName( HYDROGUI_Module* theModule,
- const QString& theName,
- const ObjectKind theObjectKind = KIND_UNKNOWN );
-
- /**
- * \brief Find the data objects with the specified names.
- * \param theModule module
- * \param theNames list of names
- * \param theObjectKind kind of object
- * \return list of data objects
- */
- static HYDROData_SequenceOfObjects FindObjectsByNames( HYDROGUI_Module* theModule,
- const QStringList& theNames,
- const ObjectKind theObjectKind = KIND_UNKNOWN );
-
- /**
- * \brief Generate name for new object.
- * \param theModule module
- * \param thePrefix name prefix
- * \param theUsedNames list of already used names
- * \param theIsTryToUsePurePrefix if true - the prefix will be returned if the name equal to the prefix is not busy
- * \return generated name
- */
- static QString GenerateObjectName( HYDROGUI_Module* theModule,
- const QString& thePrefix,
- const QStringList& theUsedNames = QStringList(),
- const bool theIsTryToUsePurePrefix = false );
-
- /**
- * \brief Get id of the active view.
- * \param theModule module
- * \return view id
- */
- static size_t GetActiveViewId( HYDROGUI_Module* theModule,
- const QString& theViewId = QString() );
-
- /**
- * \brief Get id of the active GraphicsView view.
- * \param theModule module
- * \return view id
- */
- static size_t GetActiveGraphicsViewId( HYDROGUI_Module* theModule );
-
- /**
- * \brief Get id of the active OCC view.
- * \param theModule module
- * \return view id
- */
- static size_t GetActiveOCCViewId( HYDROGUI_Module* theModule );
-
- /**
- * \brief Get list of ids of existing GraphicsView views.
- * \param theModule module
- * \return list of view ids
- */
- static QList<size_t> GetGraphicsViewIdList( HYDROGUI_Module* theModule );
-
- /**
- * \brief Get list of ids of existing OCC views.
- * \param theModule module
- * \return list of view ids
- */
- static QList<size_t> GetOCCViewIdList( HYDROGUI_Module* theModule );
-
-
- /**
- * \brief Change OCC viewer action visibility.
- * \param theViewFrame OCC viewer frame
- * \param theActionId an action index, which state should be changed
- * \param isShown the action visibility state
- */
- static void setOCCActionShown( OCCViewer_ViewFrame* theViewFrame,
- const int theActionId,
- const bool isShown );
-
- /**
- * \brief Change OCC viewer action visibility for all opened views.
- * \param theActionId an action index, which state should be changed
- * \param isShown the action visibility state
- */
- static void setOCCActionShown( HYDROGUI_Module* theModule,
- const int theActionId,
- const bool isShown );
-
- /**
- * \brief Get the list of references (recursively) for the specified data object
- * \param theObj data object
- * \param theRefObjects list of reference objects
- * \param theRefNames list of reference object names
- */
- static void GetObjectReferences( const Handle(HYDROData_Entity)& theObj,
- HYDROData_SequenceOfObjects& theRefObjects,
- QStringList& theRefNames );
-
- /**
- * \brief Get the list of back-references for the specified object
- * \param theModule module
- * \param theObj data object
- * \return list of back-reference objects
- */
- static HYDROData_SequenceOfObjects GetObjectBackReferences( HYDROGUI_Module* theModule,
- const Handle(HYDROData_Entity)& theObj );
-
- /**
- * \brief Get the map of back-references for the specified list of objects
- * \param theModule module
- * \param theObjectNames names of objects
- * \return map of back-reference objects
- */
- static QMap<QString,HYDROData_SequenceOfObjects> GetObjectsBackReferences( HYDROGUI_Module* theModule,
- const QStringList& theObjectNames );
-
- /**
- * \brief Get father dock window for widget
- * \param wid widget
- * \return dock window
- */
- static QDockWidget* WindowDock( QWidget* wid );
-
- /**
- * \brief Generates the filling color for intersected zone
- * \param theModule module
- * \param theZoneNames list of intersected zones
- * \return result color
- */
- static QColor GenerateFillingColor( HYDROGUI_Module* theModule,
- const QStringList& theZoneNames );
-
- /**
- * \brief Generates the filling color for intersected zone
- * \param theDoc model document
- * \param theZoneNames list of intersected zones
- * \return result color
- */
- static QColor GenerateFillingColor( const Handle(HYDROData_Document)& theDoc,
- const QStringList& theZoneNames );
-
- /**
- * \brief Find names of existing objects of the given kind.
- * \param theDoc model document
- * \param theObjectKind kind of object
- * \return list of names
- */
- static QStringList FindExistingObjectsNames( const Handle(HYDROData_Document)& theDoc,
- const ObjectKind theObjectKind,
- bool isCheckValidProfile = false );
-
- /**
- * \brief Converts coordinate value to string.
- * \param theNumber coordinate as a number
- * \return coordinate as a string
- */
- static QString GetCoordinateString( const double theNumber, bool isInLocale );
-
- /**
- * \brief Converts Qt QImage object to OCCT Image_PixMap object.
- * \param theImage QImage object
- * \return Image_PixMap object
- */
- static Handle(Image_PixMap) Pixmap( const QImage& theImage );
-
- /**
- * \brief Get the selected GEOM objects.
- * \param theModule the module
- * \param theTypes the acceptable GEOM object types
- * \return list of GEOM objects entries
- */
- static QStringList GetSelectedGeomObjects( HYDROGUI_Module* theModule,
- QList<GEOM::shape_type> theTypes );
-
- /**
- * \brief Delete the GEOM objects.
- * \param theModule the module
- * \param theEntries the GEOM objects entries
- */
- static void DeleteGeomObjects( HYDROGUI_Module* theModule, const QStringList& theEntries );
+ Handle(Image_PixMap) Pixmap( const QImage& theImage );
+
+ void GetObjectReferences( const Handle(HYDROData_Entity)& theObj,
+ HYDROData_SequenceOfObjects& theRefObjects,
+ QStringList& theRefNames );
+ HYDROData_SequenceOfObjects GetObjectBackReferences( const Handle(HYDROData_Entity)& theObj );
+ QMap<QString,HYDROData_SequenceOfObjects> GetObjectsBackReferences
+ ( const Handle(HYDROData_Document)& theDocument, const QStringList& theObjectNames );
};
#endif