X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_IViewer.h;h=3cf3bc5ab332613847b717ad872f65de38ee6f00;hb=22df2f3d52b661c4cffef91085300cffc02dfa65;hp=d3028d42d4f0a5c60e6aa32dcf46d87d88692b05;hpb=f1cd93fd02a54259f72e3191d037323a496b2bef;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_IViewer.h b/src/ModuleBase/ModuleBase_IViewer.h index d3028d42d..3cf3bc5ab 100644 --- a/src/ModuleBase/ModuleBase_IViewer.h +++ b/src/ModuleBase/ModuleBase_IViewer.h @@ -14,6 +14,7 @@ class QContextMenuEvent; class ModuleBase_IViewWindow; /** + * \ingroup GUI * A Base object for definition of connector object to * Salome Viewer. Reimplemented in NewGeom_SalomeViewer class */ @@ -21,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) { @@ -36,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 @@ -57,30 +62,61 @@ Q_OBJECT 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; + + /// Method returns True if the viewer can process editing objects + /// by mouse drugging. If this is impossible thet it has to return False. + virtual bool canDragByMouse() const { return true; } + signals: + /// Signal emited when last view window is closed void lastViewClosed(); + + /// 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*); };