X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_Module.h;h=3561ed1c9b82048d45cbaa6b356db06ac36592d8;hb=de7cf9bb0a7a41d6487013c87f4a54d0664cd303;hp=f258db2ecd2dee6d303c48b09335acf0e7fd62cd;hpb=3c8f91209d19afd8514e837d001119c39b3c28f7;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_Module.h b/src/HYDROGUI/HYDROGUI_Module.h index f258db2e..3561ed1c 100644 --- a/src/HYDROGUI/HYDROGUI_Module.h +++ b/src/HYDROGUI/HYDROGUI_Module.h @@ -23,7 +23,7 @@ #ifndef HYDROGUI_MODULE_H #define HYDROGUI_MODULE_H -#include +#include #include @@ -37,6 +37,10 @@ class SUIT_ViewWindow; class HYDROGUI_DataModel; class HYDROGUI_Displayer; +class HYDROGUI_OCCDisplayer; +class HYDROGUI_Shape; + +class OCCViewer_Viewer; /**\class HYDROGUI_Module *\brief The class representing the HYDROGUI module @@ -48,7 +52,17 @@ class HYDROGUI_Module : public LightApp_Module enum CustomEvent { NewViewEvent = QEvent::User + 100 }; public: - enum ViewManagerRole { VMR_Unknown = 0, VMR_General, VMR_TransformImage, VMR_ObserveImage }; + + enum ViewManagerRole + { + VMR_Unknown = 0, + VMR_General, + VMR_TransformImage, + VMR_ReferenceImage, + VMR_ObserveImage, + //VMR_PreviewZone, // totally unused, to delete + VMR_PreviewCaseZones // actually unused, to review + }; typedef QPair< SUIT_ViewManager*, ViewManagerRole > ViewManagerInfo; typedef QMap < int, ViewManagerInfo > ViewManagerMap; @@ -64,6 +78,9 @@ public: typedef QMap< QString, ObjectState > Name2ObjectStateMap; typedef QMap< int, Name2ObjectStateMap > ViewId2Name2ObjectStateMap; + typedef QList ListOfShapes; + typedef QMap ViewId2ListOfShapes; + public: HYDROGUI_Module(); virtual ~HYDROGUI_Module(); @@ -79,10 +96,14 @@ public: virtual void update( const int ); virtual void updateCommandsStatus(); + virtual void selectionChanged(); + HYDROGUI_DataModel* getDataModel() const; HYDROGUI_Displayer* getDisplayer() const; + HYDROGUI_OCCDisplayer* getOCCDisplayer() const; GraphicsView_Viewer* getViewer( const int theId ) const; + OCCViewer_Viewer* getOCCViewer( const int theId ) const; int getViewManagerId( SUIT_ViewManager* theViewManager ); ViewManagerRole getViewManagerRole( SUIT_ViewManager* theViewManager ); @@ -90,11 +111,20 @@ public: const ViewManagerRole theRole ); bool isObjectVisible( const int theViewId, - const Handle(HYDROData_Object)& theObject ); + const Handle(HYDROData_Entity)& theObject ) const; void setObjectVisible( const int theViewId, - const Handle(HYDROData_Object)& theObject, + const Handle(HYDROData_Entity)& theObject, const bool theState ); + HYDROGUI_Shape* getObjectShape( const int theViewId, + const Handle(HYDROData_Entity)& theObject ) const; + void setObjectShape( const int theViewId, + const Handle(HYDROData_Entity)& theObject, + HYDROGUI_Shape* theShape ); + void removeViewShapes( const int theViewId ); + void removeObjectShape( const int theViewId, + const Handle(HYDROData_Entity)& theObject ); + protected: CAM_DataModel* createDataModel(); @@ -124,11 +154,17 @@ private: void updateGV( const bool theIsInit = false, const bool theIsForced = false ); + void updateOCCViewer( const bool theIsInit = false, + const bool theIsForced = false ); + void createSelector( SUIT_ViewManager* viewMgr ); bool setUpdateEnabled( const bool theState ); bool isUpdateEnabled() const; + QStringList storeSelection() const; + void restoreSelection( const QStringList& theEntryList ); + private: void createActions(); void createMenus(); @@ -146,10 +182,13 @@ private: private: HYDROGUI_Displayer* myDisplayer; + HYDROGUI_OCCDisplayer* myOCCDisplayer; ViewManagerMap myViewManagerMap; ViewId2Name2ObjectStateMap myObjectStateMap; + ViewId2ListOfShapes myShapesMap; + bool myIsUpdateEnabled; };