Salome HOME
Selector implementation for OCC viewer.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Tool.h
index 35ab64743bb4a04479a8022545858a1d3540872f..cb77fb75c6468dd6a2efd39ed24c43294ff682c4 100644 (file)
@@ -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.
@@ -156,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
@@ -167,14 +176,35 @@ public:
                                                     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
    * \return generated name
    */
-  static QString                  GenerateObjectName( HYDROGUI_Module* theModule,
-                                                      const QString& thePrefix );
+  static QString                  GenerateObjectName( HYDROGUI_Module*   theModule,
+                                                      const QString&     thePrefix,
+                                                      const QStringList& theUsedNames = QStringList() );
+
+  /**
+   * \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.
@@ -183,6 +213,13 @@ public:
    */
   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
@@ -190,6 +227,13 @@ public:
    */
   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 Get the list of references (recursively) for the specified image object
    * \param theImage image data object
@@ -211,6 +255,23 @@ public:
                                                            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 );
+
+  /**
+   * \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 );
+
 };
 
 #endif