X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_Module.h;h=e2dee3ee51dfc18f657a5f7f5bd2be705df80c3b;hb=81c9f5cdf82909d0aebd2c491c50fa7516cc80b7;hp=dc1e7cbc24122262c43fe051787cf3e3f11290b4;hpb=79d802c86c6ccf353dbc6ed29a59f2d8136372d0;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_Module.h b/src/HYDROGUI/HYDROGUI_Module.h index dc1e7cbc..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,13 +152,15 @@ 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 */ void updateVTKZRange( const int theViewId, double theRange[] ); - QStringList GetGeomObjectsToImport(); - /** * Returns true if the object with the given entry can be renamed. * @param theEntry the object entry @@ -162,6 +173,9 @@ public: */ virtual bool renameObject( const QString& theEntry, const QString& theName ); + QStack& getActiveOperations(); + HYDROGUI_Operation* activeOperation(); + protected: CAM_DataModel* createDataModel(); @@ -189,9 +203,6 @@ protected slots: virtual void onViewCreated( SUIT_ViewWindow* ); void onViewPortMouseEvent( QGraphicsSceneMouseEvent* ); - - void onExternalOperationFinished( const QString&, const QString&, - const QStringList& ); void onMouseMove( SUIT_ViewWindow*, QMouseEvent* ); @@ -230,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