Salome HOME
refs #682, #684 - #686: create icons for land cover map operations.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Tool.h
index a419734ce6fd348845c82c7ff61ecfc327298c3c..99aa175ced8d12252890a750a76b02fa0c649292 100644 (file)
@@ -1,12 +1,8 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015  EDF-R&D
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 #ifndef HYDROGUI_TOOL_H
 #define HYDROGUI_TOOL_H
 
-#include <HYDROData_Object.h>
-
-#include <GraphicsView_Defs.h>
-
-#include <TCollection_AsciiString.hxx>
-#include <TCollection_ExtendedString.hxx>
-#include <TCollection_HAsciiString.hxx>
-#include <TCollection_HExtendedString.hxx>
+#include <HYDROData_Entity.h>
+#include <QString>
 
-class SUIT_ViewManager;
+class TCollection_AsciiString;
+class Handle_HYDROData_Document;
+class Handle_Image_PixMap;
+class Handle_TCollection_HAsciiString;
+class Handle_TCollection_HExtendedString;
+class QDockWidget;
+class QImage;
+class QWidget;
 
-class HYDROGUI_DataModel;
-class HYDROGUI_Module;
-class HYDROGUI_Prs;
-
-/**
- * \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 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 Get sub-objects to build presentations.
-   * \param theModel data model
-   * \param theViewerId viewer id
-   * \param theSeq sequence of sub-objects
-   */
-  static void                     GetPrsSubObjects( const HYDROGUI_DataModel* theModel,
-                                                    const int theViewerId,
-                                                    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_Object)& theObj,
-                                                   const GraphicsView_ObjectList& theObjects );
+  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 );
+  
+  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