#define XGUI_VIEWERPROXY_H
#include "XGUI.h"
-#include "XGUI_SalomeViewer.h"
+#include <ModuleBase_IViewer.h>
class XGUI_Workshop;
class XGUI_ViewWindow;
/**
-* Proxy class which repersents or XGUI_Viewer or Salome Viewer
-* dependently on current launching environment.
-* It is reccomennded to use this class in operation for accessing to viewer
-* functionality instead of direct access to a viewer
-*/
-class XGUI_EXPORT XGUI_ViewerProxy: public XGUI_SalomeViewer
+ * Proxy class which repersents or XGUI_Viewer or Salome Viewer
+ * dependently on current launching environment.
+ * It is reccomennded to use this class in operation for accessing to viewer
+ * functionality instead of direct access to a viewer
+ */
+class XGUI_EXPORT XGUI_ViewerProxy : public ModuleBase_IViewer
{
- Q_OBJECT
-public:
+Q_OBJECT
+ public:
XGUI_ViewerProxy(XGUI_Workshop* theParent);
//! Returns AIS_InteractiveContext from current OCCViewer
/// \param theX the X projection value
/// \param theY the Y projection value
/// \param theZ the Z projection value
- void setViewProjection(double theX, double theY, double theZ);
+ virtual void setViewProjection(double theX, double theY, double theZ);
//! Sets the view fitted all
- void fitAll();
+ virtual void fitAll();
/// Connects to a viewer according to current environment
void connectToViewer();
-private slots:
+ /// Add selection filter to the viewer
+ virtual void addSelectionFilter(const Handle(SelectMgr_Filter)& theFilter);
+
+ /// Remove selection filter from the viewer
+ virtual void removeSelectionFilter(const Handle(SelectMgr_Filter)& theFilter);
+
+ /// Remove all selection filters from the viewer
+ virtual void clearSelectionFilters();
+
+ private slots:
void onMousePress(XGUI_ViewWindow*, QMouseEvent*);
void onMouseRelease(XGUI_ViewWindow*, QMouseEvent*);
void onMouseDoubleClick(XGUI_ViewWindow*, QMouseEvent*);
void onKeyPress(XGUI_ViewWindow*, QKeyEvent*);
void onKeyRelease(XGUI_ViewWindow*, QKeyEvent*);
-private:
+ private:
XGUI_Workshop* myWorkshop;
};