#include <TCollection_HAsciiString.hxx>
#include <TCollection_HExtendedString.hxx>
+// IDL includes
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(GEOM_Gen)
+
class SUIT_ViewManager;
+class OCCViewer_ViewFrame;
class HYDROGUI_DataModel;
class HYDROGUI_Module;
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
/**
* \brief Get the geometry data objects from document.
- * \param theDoc document
+ * \param theModule module
* \return sequence of data objects
*/
- static HYDROData_SequenceOfObjects GetGeometryObjects( const Handle(HYDROData_Document)& theDoc );
+ static HYDROData_SequenceOfObjects GetGeometryObjects( HYDROGUI_Module* theModule );
/**
* \brief Get kind of objects the selected partition contains.
*/
static ObjectKind GetSelectedPartition( HYDROGUI_Module* theModule );
+ /**
+ * \brief Get the selected GEOM objects.
+ * \param theModule 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 Find the data object with the specified name.
* \param theModule module
* \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 QStringList& theUsedNames = QStringList(),
+ const bool theIsTryToUsePurePrefix = false );
/**
* \brief Get id of the active view.
*/
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
+ * \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_Image)& theImage,
+ 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
- * \param theBackRefObjects list of back-reference objects
- * \param theBackRefNames list of back-reference object names
+ * \return list of back-reference objects
*/
- static void GetObjectBackReferences( HYDROGUI_Module* theModule,
- const Handle(HYDROData_Entity)& theObj,
- HYDROData_SequenceOfObjects& theBackRefObjects,
- QStringList& theBackRefNames );
+ 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
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
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 );
+
+ /**
+ * \brief Converts coordinate value to string.
+ * \param theNumber coordinate as a number
+ * \return coordinate as a string
+ */
+ static QString GetCoordinateString( const double theNumber );
};
#endif