Salome HOME
New files added.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Tool.h
index e67274fc5dc09200352e7b807aeef3160590381f..c2552ddca66bb25f52a349b624cf21660bbe676c 100644 (file)
@@ -23,7 +23,7 @@
 #ifndef HYDROGUI_TOOL_H
 #define HYDROGUI_TOOL_H
 
-#include <HYDROData_Object.h>
+#include <HYDROData_Image.h>
 
 #include <GraphicsView_Defs.h>
 #include <GraphicsView_ViewPort.h>
@@ -39,6 +39,8 @@ class HYDROGUI_DataModel;
 class HYDROGUI_Module;
 class HYDROGUI_Prs;
 
+class QDockWidget;
+
 /**
  * \class HYDROGUI_Tool
  * \brief This class contains several useful methods.
@@ -102,6 +104,14 @@ public:
                                                    int& theMinutes,
                                                    double& theSeconds );
 
+  /**
+   * \brief Check that the specified objects are equal.
+   * \param theObj1 first object
+   * \param theObj2 second object
+   */
+  static bool                     IsEqual( const Handle(HYDROData_Object)& theObj1,
+                                           const Handle(HYDROData_Object)& theObj2 );
+
   /**
    * \brief Set the specified view manager to be active on the desktop.
    * \param theModule module
@@ -148,6 +158,13 @@ public:
    */
   static Handle(HYDROData_Object) GetSelectedObject( HYDROGUI_Module* theModule );
 
+  /**
+   * \brief Get kind of objects the selected partition contains.
+   * \param theModule module
+   * \return object kind
+   */
+  static ObjectKind GetSelectedPartition( HYDROGUI_Module* theModule );
+
   /**
    * \brief Find the data object with the specified name.
    * \param theModule module
@@ -173,14 +190,44 @@ public:
    * \param theModule module
    * \return view id
    */
-  static int                      GetActiveGraphicsViewId( HYDROGUI_Module* theModule );
+  static size_t                   GetActiveGraphicsViewId( HYDROGUI_Module* theModule );
 
   /**
    * \brief Get list of ids of existing GraphicsView views.
    * \param theModule module
    * \return list of view ids
    */
-  static QList<int>               GetGraphicsViewIdList( HYDROGUI_Module* theModule );
+  static QList<size_t>            GetGraphicsViewIdList( HYDROGUI_Module* theModule );
+
+  /**
+   * \brief Get the list of references (recursively) for the specified image object
+   * \param theImage image data object
+   * \param theRefObjects list of reference objects
+   * \param theRefNames list of reference object names
+   */
+  static void                     GetObjectReferences( const Handle(HYDROData_Image)& theImage,
+                                                       HYDROData_SequenceOfObjects& theRefObjects,
+                                                       QStringList& theRefNames );
+
+  /**
+   * \brief Get the list of back-references for the specified object
+   * \param theModule module
+   * \param theObj data object
+   * \param theBackRefObjects list of back-reference objects
+   * \param theBackRefNames list of back-reference object names
+   */
+  static void                     GetObjectBackReferences( HYDROGUI_Module* theModule,
+                                                           const Handle(HYDROData_Object)& theObj,
+                                                           HYDROData_SequenceOfObjects& theBackRefObjects,
+                                                           QStringList& theBackRefNames );
+
+  /**
+   * \brief Get father dock window for widget 
+   * \param wid widget
+   * \return dock window
+   */
+  static QDockWidget*             WindowDock( QWidget* wid );
+
 };
 
 #endif