X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_Module.h;h=a1a0bd540b92a5e0e6dfa4a5cc640d0ab14738fa;hb=a53349567d67f4df0ef737798a25c24d9dc8f08e;hp=58583ab50477a05e058e2d2e050d5c26040eeaf3;hpb=b7337e3ea5eeb15fdad4eac991480a20405f8cff;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_Module.h b/src/HYDROGUI/HYDROGUI_Module.h index 58583ab5..a1a0bd54 100644 --- a/src/HYDROGUI/HYDROGUI_Module.h +++ b/src/HYDROGUI/HYDROGUI_Module.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 @@ -28,15 +24,13 @@ #include #include - -#include +#include class QGraphicsSceneMouseEvent; class GraphicsView_Viewer; class OCCViewer_Viewer; class SVTK_Viewer; -class vtkWorldPointPicker; class SUIT_ViewWindow; class SUIT_ViewManager; @@ -48,6 +42,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 @@ -58,6 +53,29 @@ class HYDROGUI_Module : public LightApp_Module enum CustomEvent { NewViewEvent = QEvent::User + 100 }; + enum CursorType + { + CT_ArrowCursor = 0, + CT_UpArrowCursor, + CT_CrossCursor, + CT_WaitCursor, + CT_IBeamCursor, + CT_SizeVerCursor, + CT_SizeHorCursor, + CT_SizeBDiagCursor, + CT_SizeFDiagCursor, + CT_SizeAllCursor, + CT_SplitVCursor, + CT_SplitHCursor, + CT_PointingHandCursor, + CT_ForbiddenCursor, + CT_WhatsThisCursor, + CT_BusyCursor, + CT_OpenHandCursor, + CT_ClosedHandCursor, + CT_User + }; + public: enum ViewManagerRole @@ -102,6 +120,7 @@ public: virtual void viewManagers( QStringList& ) const; virtual void contextMenuPopup( const QString&, QMenu*, QString& ); + virtual void createPreferences(); virtual void update( const int ); virtual void updateCommandsStatus(); @@ -136,6 +155,8 @@ public: */ void setIsToUpdate( const Handle(HYDROData_Entity)& theObject, const bool theState = true ); + QList getObjectShapes( const int theViewId, + ObjectKind theKind ) const; HYDROGUI_Shape* getObjectShape( const int theViewId, const Handle(HYDROData_Entity)& theObject ) const; void setObjectShape( const int theViewId, @@ -154,6 +175,9 @@ public: 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 */ @@ -171,8 +195,14 @@ public: */ virtual bool renameObject( const QString& theEntry, const QString& theName ); - int getObjectDisplayOrder( const int theViewId, - const Handle(HYDROData_Entity)& theObject ) const; + QStack& getActiveOperations(); + HYDROGUI_Operation* activeOperation(); + + /** + * Returns the cursor defined for edition operations in module preferences. + * \return specific cursor + */ + QCursor getPrefEditCursor() const; protected: CAM_DataModel* createDataModel(); @@ -180,6 +210,7 @@ protected: public slots: virtual bool activateModule( SUIT_Study* ); virtual bool deactivateModule( SUIT_Study* ); + virtual void onObjectClicked( SUIT_DataObject*, int ); protected: virtual LightApp_Operation* createOperation( const int ) const; @@ -241,12 +272,10 @@ private: ViewManagerMap myViewManagerMap; ViewId2Entry2ObjectStateMap myObjectStateMap; - QMap myObjectDisplayOrderMap; + QStack myActiveOperationMap; ViewId2ListOfShapes myShapesMap; ViewId2ListOfVTKPrs myVTKPrsMap; - vtkNew myPicker; - bool myIsUpdateEnabled; QStringList myGeomObjectsToImport; ///< entries of GEOM objects to be imported