X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_Tool.h;h=4ea4039edd77b2fec67829cf454ccb8205fad0db;hb=a53349567d67f4df0ef737798a25c24d9dc8f08e;hp=5b5908657847dc7dfd2dc109afc665d87140564d;hpb=7e825ec456c9331ef0df1cb59865cc55f0d8516a;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_Tool.h b/src/HYDROGUI/HYDROGUI_Tool.h index 5b590865..4ea4039e 100644 --- a/src/HYDROGUI/HYDROGUI_Tool.h +++ b/src/HYDROGUI/HYDROGUI_Tool.h @@ -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 @@ -33,7 +29,14 @@ #include #include +#include + +// IDL includes +#include +#include CORBA_SERVER_HEADER(GEOM_Gen) + class SUIT_ViewManager; +class OCCViewer_ViewFrame; class HYDROGUI_DataModel; class HYDROGUI_Module; @@ -111,6 +114,14 @@ public: 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 @@ -161,14 +172,7 @@ public: * \return object kind */ static ObjectKind GetSelectedPartition( HYDROGUI_Module* theModule ); - - /** - * \brief Get the selected GEOM objects. - * \param theModule module - * \return list of GEOM objects entries - */ - static QStringList GetSelectedGeomObjects( HYDROGUI_Module* theModule ); - + /** * \brief Find the data object with the specified name. * \param theModule module @@ -196,11 +200,13 @@ public: * \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. @@ -238,13 +244,33 @@ public: */ static QList 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 image object - * \param theImage image data object + * \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 ); @@ -252,13 +278,19 @@ public: * \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 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 void GetObjectBackReferences( HYDROGUI_Module* theModule, - const Handle(HYDROData_Entity)& theObj, - HYDROData_SequenceOfObjects& theBackRefObjects, - QStringList& theBackRefNames ); + static QMap GetObjectsBackReferences( HYDROGUI_Module* theModule, + const QStringList& theObjectNames ); /** * \brief Get father dock window for widget @@ -292,7 +324,38 @@ public: * \return list of names */ static QStringList FindExistingObjectsNames( const Handle(HYDROData_Document)& theDoc, - const ObjectKind theObjectKind ); + 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 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 ); }; #endif