Salome HOME
Merge branch 'Dev_1.2.0' of newgeom:newgeom into Dev_1.2.0
[modules/shaper.git] / src / NewGeom / NewGeom_SalomeViewer.cpp
index 86e2d8f1b2e5b61d42ce62c760279ed70a5676a8..8bc67c748f7dc50bb8ef68125108aeac44d0a8dc 100644 (file)
@@ -3,7 +3,6 @@
 #include "NewGeom_SalomeViewer.h"
 #include "NewGeom_OCCSelector.h"
 
-#include <OCCViewer_ViewWindow.h>
 #include <OCCViewer_ViewPort3d.h>
 #include <OCCViewer_ViewFrame.h>
 
@@ -231,12 +230,21 @@ void NewGeom_SalomeViewer::onDeleteView(SUIT_ViewWindow*)
 void NewGeom_SalomeViewer::onViewCreated(SUIT_ViewWindow* theView)
 {
   myView->setCurrentView(theView);
+
+  OCCViewer_ViewFrame* aView = dynamic_cast<OCCViewer_ViewFrame*>(theView);
+
+  OCCViewer_ViewWindow* aWnd = aView->getView(OCCViewer_ViewFrame::MAIN_VIEW);
+  if (aWnd)
+    connect(aWnd, SIGNAL(vpTransformationFinished(OCCViewer_ViewWindow::OperationType)),
+      this, SLOT(onViewTransformed(OCCViewer_ViewWindow::OperationType)));
+
   emit viewCreated(myView);
 }
 
 //**********************************************
-void NewGeom_SalomeViewer::onActivated(SUIT_ViewWindow*)
+void NewGeom_SalomeViewer::onActivated(SUIT_ViewWindow* theView)
 {
+  myView->setCurrentView(theView);
   emit activated(myView);
 }
 
@@ -338,3 +346,9 @@ void NewGeom_SalomeViewer::update()
     aContext->UpdateCurrentViewer();
   }
 }
+
+//***************************************
+void NewGeom_SalomeViewer::onViewTransformed(OCCViewer_ViewWindow::OperationType theType)
+{
+  emit viewTransformed((int) theType);
+}