X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_IViewer.h;h=ba7ee1b28f536114857a3d6e195018efd5a86e49;hb=a2982d2108f929cf9e7f996cfd590c4ce59dc21c;hp=6858fbefc099ee1e140d62cf06b200cbbd828ac6;hpb=e30796dab1aa68c01201b2b89d4292d3fcbbc4d4;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_IViewer.h b/src/ModuleBase/ModuleBase_IViewer.h index 6858fbefc..ba7ee1b28 100644 --- a/src/ModuleBase/ModuleBase_IViewer.h +++ b/src/ModuleBase/ModuleBase_IViewer.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + #ifndef ModuleBase_IViewer_H #define ModuleBase_IViewer_H @@ -9,8 +11,10 @@ class QMouseEvent; class QKeyEvent; class QContextMenuEvent; +class ModuleBase_IViewWindow; /** + * \ingroup GUI * A Base object for definition of connector object to * Salome Viewer. Reimplemented in NewGeom_SalomeViewer class */ @@ -18,6 +22,8 @@ class MODULEBASE_EXPORT ModuleBase_IViewer : public QObject { Q_OBJECT public: + /// Constructor + /// \param theParent a parent object ModuleBase_IViewer(QObject* theParent) : QObject(theParent) { @@ -33,12 +39,14 @@ Q_OBJECT virtual Handle(V3d_View) activeView() const = 0; //! Enable or disable selection in the viewer + //! \param isEnabled is enable or disable flag virtual void enableSelection(bool isEnabled) = 0; //! Returns true if selection is enabled virtual bool isSelectionEnabled() const = 0; //! Enable or disable multiselection in the viewer + //! \param isEnable is enable or disable flag virtual void enableMultiselection(bool isEnable) = 0; //! Returns true if multiselection is enabled @@ -53,21 +61,58 @@ Q_OBJECT /// \param theZ the Z projection value virtual void setViewProjection(double theX, double theY, double theZ) = 0; + /// Add selection filter to the viewer + /// \param theFilter a selection filter + virtual void addSelectionFilter(const Handle(SelectMgr_Filter)& theFilter) = 0; + + /// Remove selection filter from the viewer + /// \param theFilter a selection filter + virtual void removeSelectionFilter(const Handle(SelectMgr_Filter)& theFilter) = 0; + + /// Remove all selection filters from the viewer + virtual void clearSelectionFilters() = 0; + + /// Update current viewer + virtual void update() = 0; signals: + /// Signal emited when last view window is closed void lastViewClosed(); - void tryCloseView(); - void deleteView(); - void viewCreated(); - void mousePress(QMouseEvent* theEvent); - void mouseRelease(QMouseEvent* theEvent); - void mouseDoubleClick(QMouseEvent* theEvent); - void mouseMove(QMouseEvent* theEvent); - void keyPress(QKeyEvent* theEvent); - void keyRelease(QKeyEvent* theEvent); - void activated(); + /// Signal emited before view window is closed + void tryCloseView(ModuleBase_IViewWindow* theWnd); + + /// Signal emited on delete view window + void deleteView(ModuleBase_IViewWindow* theWnd); + + /// Signal emited on creation of view window + void viewCreated(ModuleBase_IViewWindow* theWnd); + + /// Signal emited on key release + void activated(ModuleBase_IViewWindow* theWnd); + + /// Signal emited on mouse press + void mousePress(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent); + + /// Signal emited on mouse release + void mouseRelease(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent); + + /// Signal emited on mouse double click + void mouseDoubleClick(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent); + + /// Signal emited on mouse move + void mouseMove(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent); + + /// Signal emited on key press + void keyPress(ModuleBase_IViewWindow* theWnd, QKeyEvent* theEvent); + + /// Signal emited on key release + void keyRelease(ModuleBase_IViewWindow* theWnd, QKeyEvent* theEvent); + + /// Signal emited on selection changed void selectionChanged(); + + /// Signal emited on selection changed void contextMenuRequested(QContextMenuEvent*); };