+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
#ifndef ModuleBase_IViewer_H
#define ModuleBase_IViewer_H
class QMouseEvent;
class QKeyEvent;
class QContextMenuEvent;
+class ModuleBase_IViewWindow;
/**
* A Base object for definition of connector object to
/// \param theZ the Z projection value
virtual void setViewProjection(double theX, double theY, double theZ) = 0;
+ /// Add selection filter to the viewer
+ virtual void addSelectionFilter(const Handle(SelectMgr_Filter)& theFilter) = 0;
+
+ /// Remove selection filter from the viewer
+ 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:
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();
+ void tryCloseView(ModuleBase_IViewWindow* theWnd);
+ void deleteView(ModuleBase_IViewWindow* theWnd);
+ void viewCreated(ModuleBase_IViewWindow* theWnd);
+ void activated(ModuleBase_IViewWindow* theWnd);
+
+ void mousePress(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+ void mouseRelease(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+ void mouseDoubleClick(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+ void mouseMove(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+
+ void keyPress(ModuleBase_IViewWindow* theWnd, QKeyEvent* theEvent);
+ void keyRelease(ModuleBase_IViewWindow* theWnd, QKeyEvent* theEvent);
void selectionChanged();
void contextMenuRequested(QContextMenuEvent*);