+
+void XGUI_ViewerProxy::onMousePress(AppElements_ViewWindow* theWnd, QMouseEvent* theEvent)
+{
+ emit mousePress(theWnd, theEvent);
+}
+
+void XGUI_ViewerProxy::onMouseRelease(AppElements_ViewWindow* theWnd, QMouseEvent* theEvent)
+{
+ emit mouseRelease(theWnd, theEvent);
+}
+
+void XGUI_ViewerProxy::onMouseDoubleClick(AppElements_ViewWindow* theWnd, QMouseEvent* theEvent)
+{
+ emit mouseDoubleClick(theWnd, theEvent);
+}
+
+void XGUI_ViewerProxy::onMouseMove(AppElements_ViewWindow* theWnd, QMouseEvent* theEvent)
+{
+ emit mouseMove(theWnd, theEvent);
+}
+
+void XGUI_ViewerProxy::onKeyPress(AppElements_ViewWindow* theWnd, QKeyEvent* theEvent)
+{
+ emit keyPress(theWnd, theEvent);
+}
+
+void XGUI_ViewerProxy::onKeyRelease(AppElements_ViewWindow* theWnd, QKeyEvent* theEvent)
+{
+ emit keyRelease(theWnd, theEvent);
+}
+
+
+
+//***************************************
+void XGUI_ViewerProxy::enableSelection(bool isEnabled)
+{
+ if (myWorkshop->isSalomeMode()) {
+ myWorkshop->salomeConnector()->viewer()->enableSelection(isEnabled);
+ } else {
+ myWorkshop->mainWindow()->viewer()->setSelectionEnabled(isEnabled);
+ }
+}
+
+//***************************************
+bool XGUI_ViewerProxy::isSelectionEnabled() const
+{
+ if (myWorkshop->isSalomeMode()) {
+ return myWorkshop->salomeConnector()->viewer()->isSelectionEnabled();
+ } else {
+ return myWorkshop->mainWindow()->viewer()->isSelectionEnabled();
+ }
+}
+
+//***************************************
+void XGUI_ViewerProxy::enableMultiselection(bool isEnable)
+{
+ if (myWorkshop->isSalomeMode()) {
+ myWorkshop->salomeConnector()->viewer()->enableMultiselection(isEnable);
+ } else {
+ myWorkshop->mainWindow()->viewer()->setMultiSelectionEnabled(isEnable);
+ }
+}
+
+//***************************************
+bool XGUI_ViewerProxy::isMultiSelectionEnabled() const
+{
+ if (myWorkshop->isSalomeMode()) {
+ return myWorkshop->salomeConnector()->viewer()->isMultiSelectionEnabled();
+ } else {
+ return myWorkshop->mainWindow()->viewer()->isMultiSelectionEnabled();
+ }
+}
+
+//***************************************
+void XGUI_ViewerProxy::addSelectionFilter(const Handle(SelectMgr_Filter)& theFilter)
+{
+ myWorkshop->displayer()->addSelectionFilter(theFilter);
+}
+
+//***************************************
+void XGUI_ViewerProxy::removeSelectionFilter(const Handle(SelectMgr_Filter)& theFilter)
+{
+ myWorkshop->displayer()->removeSelectionFilter(theFilter);
+}
+
+//***************************************
+bool XGUI_ViewerProxy::hasSelectionFilter(const Handle(SelectMgr_Filter)& theFilter)
+{
+ return myWorkshop->displayer()->hasSelectionFilter(theFilter);
+}
+
+//***************************************
+void XGUI_ViewerProxy::clearSelectionFilters()
+{
+ myWorkshop->displayer()->removeFilters();
+}
+
+//***************************************
+void XGUI_ViewerProxy::update()
+{
+ myWorkshop->displayer()->updateViewer();
+}
+
+//***************************************
+bool XGUI_ViewerProxy::canDragByMouse() const
+{
+ if (myWorkshop->isSalomeMode()) {
+ ModuleBase_IViewer* aViewer = myWorkshop->salomeConnector()->viewer();
+ return aViewer->canDragByMouse();
+ } else {
+ return true;
+ }
+}
+
+//***************************************
+void XGUI_ViewerProxy::onViewTransformed(AppElements_ViewWindow::OperationType theType)
+{
+ emit viewTransformed((int) theType);
+}
+
+
+//***************************************
+void XGUI_ViewerProxy::Zfitall()
+{
+ if (myWorkshop->isSalomeMode()) {
+ myWorkshop->salomeConnector()->viewer()->Zfitall();
+ } else {
+ AppElements_Viewer* aViewer = myWorkshop->mainWindow()->viewer();
+ AppElements_ViewWindow* aView = aViewer->activeViewWindow();
+ if (aView)
+ aView->v3dView()->ZFitAll();
+ }
+}
\ No newline at end of file