X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_Module.h;h=e2dee3ee51dfc18f657a5f7f5bd2be705df80c3b;hb=81c9f5cdf82909d0aebd2c491c50fa7516cc80b7;hp=3f46027b1b7493f657eb959c60227496a015dce8;hpb=95666601f14d4315afb4689162b6702ec526ad34;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_Module.h b/src/HYDROGUI/HYDROGUI_Module.h index 3f46027b..e2dee3ee 100644 --- a/src/HYDROGUI/HYDROGUI_Module.h +++ b/src/HYDROGUI/HYDROGUI_Module.h @@ -28,6 +28,7 @@ #include #include +#include class QGraphicsSceneMouseEvent; @@ -45,6 +46,7 @@ class HYDROGUI_VTKPrsDisplayer; class HYDROGUI_AbstractDisplayer; class HYDROGUI_Shape; class HYDROGUI_VTKPrs; +class HYDROGUI_Operation; /**\class HYDROGUI_Module *\brief The class representing the HYDROGUI module @@ -79,8 +81,8 @@ public: double ZValue; ObjectState() : Visibility( false ), Transparency( 1.0 ), ZValue( 0.0 ) {} }; - typedef QMap< QString, ObjectState > Name2ObjectStateMap; - typedef QMap< int, Name2ObjectStateMap > ViewId2Name2ObjectStateMap; + typedef QMap< QString, ObjectState > Entry2ObjectStateMap; + typedef QMap< int, Entry2ObjectStateMap > ViewId2Entry2ObjectStateMap; typedef QList ListOfShapes; typedef QMap ViewId2ListOfShapes; @@ -125,7 +127,14 @@ public: void setObjectVisible( const int theViewId, const Handle(HYDROData_Entity)& theObject, const bool theState ); - + /** + * Set IsToUpdate flag for all presentations of the given object to recompute them during + * the next viewer(s) updating. + * @param theObject the data model object + * @param theState the flag to set for object's presentations, it's true by default. + */ + void setIsToUpdate( const Handle(HYDROData_Entity)& theObject, + const bool theState = true ); HYDROGUI_Shape* getObjectShape( const int theViewId, const Handle(HYDROData_Entity)& theObject ) const; void setObjectShape( const int theViewId, @@ -143,6 +152,10 @@ public: void removeViewVTKPrs( const int theViewId ); void removeObjectVTKPrs( const int theViewId, const Handle(HYDROData_Entity)& theObject ); + + void removeObjectVTKPrs( const int theViewId, + const QString& theEntry ); + /** * Update global imposed range of Z values for the given VTK viewer id */ @@ -160,6 +173,9 @@ public: */ virtual bool renameObject( const QString& theEntry, const QString& theName ); + QStack& getActiveOperations(); + HYDROGUI_Operation* activeOperation(); + protected: CAM_DataModel* createDataModel(); @@ -225,11 +241,12 @@ private: HYDROGUI_VTKPrsDisplayer* myVTKDisplayer; ViewManagerMap myViewManagerMap; - ViewId2Name2ObjectStateMap myObjectStateMap; + ViewId2Entry2ObjectStateMap myObjectStateMap; + + QStack myActiveOperationMap; ViewId2ListOfShapes myShapesMap; ViewId2ListOfVTKPrs myVTKPrsMap; - bool myIsUpdateEnabled; QStringList myGeomObjectsToImport; ///< entries of GEOM objects to be imported