]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
Set 2d mode for OCC viewer.
authornds <nds@opencascade.com>
Thu, 28 Nov 2013 14:50:45 +0000 (14:50 +0000)
committernds <nds@opencascade.com>
Thu, 28 Nov 2013 14:50:45 +0000 (14:50 +0000)
src/HYDROCurveCreator/CurveCreator_Widget.cxx
src/HYDROCurveCreator/CurveCreator_Widget.h

index 7c0b180ec7d2a51c39003e0328228931423fadb5..fb6f53a391862938c56e1dff7806349102dce7e0 100644 (file)
@@ -237,6 +237,8 @@ void CurveCreator_Widget::setOCCViewer( OCCViewer_Viewer* theViewer )
            this, SLOT( onMouseRelease( SUIT_ViewWindow*, QMouseEvent* ) ) );
     disconnect( aViewManager, SIGNAL( mouseMove( SUIT_ViewWindow*, QMouseEvent* ) ),
            this, SLOT( onMouseMove( SUIT_ViewWindow*, QMouseEvent* ) ) );
+    disconnect( aViewManager, SIGNAL( lastViewClosed( SUIT_ViewManager* ) ),
+           this, SLOT( onLastViewClosed( SUIT_ViewManager* ) ) );
     // restore normal mode in the viewer
     OCCViewer_Utilities::setViewer2DMode( myOCCViewer, OCCViewer_ViewWindow::No2dMode );
     // all local contexts should be closed if the viewer is not more used
@@ -253,6 +255,8 @@ void CurveCreator_Widget::setOCCViewer( OCCViewer_Viewer* theViewer )
            this, SLOT( onMouseRelease( SUIT_ViewWindow*, QMouseEvent* ) ) );
     connect( aViewManager, SIGNAL( mouseMove( SUIT_ViewWindow*, QMouseEvent* ) ),
            this, SLOT( onMouseMove( SUIT_ViewWindow*, QMouseEvent* ) ) );
+    connect( aViewManager, SIGNAL( lastViewClosed( SUIT_ViewManager* ) ),
+           this, SLOT( onLastViewClosed( SUIT_ViewManager* ) ) );
     OCCViewer_Utilities::setViewer2DMode( theViewer, OCCViewer_ViewWindow::XYPlane );
   }
 }
@@ -910,10 +914,11 @@ void CurveCreator_Widget::onGetCoordsByClick( QMouseEvent* pe )
   }
 }
 
-//=================================================================================
-// function : CurveCreator_Widget::onMousePress()
-// purpose  : Manage mouse press events in Modification mode
-//=================================================================================
+/**
+ * Manage mouse press events
+ * \param theWindow an owner of the signal
+ * \param theEvent a mouse event
+ */
 void CurveCreator_Widget::onMousePress( SUIT_ViewWindow*, QMouseEvent* theEvent )
 {
   if ( theEvent->button() != Qt::LeftButton )
@@ -934,10 +939,11 @@ void CurveCreator_Widget::onMousePress( SUIT_ViewWindow*, QMouseEvent* theEvent
   }
 }
 
-//=================================================================================
-// function : HYDROGUI_PolylineOp::onMouseRelease()
-// purpose  : Manage mouse press events in Modification mode
-//=================================================================================
+/**
+ * Manage mouse release events in Modification mode
+ * \param theWindow an owner of the signal
+ * \param theEvent a mouse event
+ */
 void CurveCreator_Widget::onMouseRelease( SUIT_ViewWindow*, QMouseEvent* theEvent )
 {
   if ( getActionMode() != ModificationMode )
@@ -955,10 +961,11 @@ void CurveCreator_Widget::onMouseRelease( SUIT_ViewWindow*, QMouseEvent* theEven
   updateLocalPointView();
 }
 
-//=================================================================================
-// function : GeometryGUI::onMouseMove()
-// purpose  : Manage mouse move events in Modification mode
-//=================================================================================
+/**
+ * Manage mouse move events in Modification mode
+ * \param theWindow an owner of the signal
+ * \param theEvent a mouse event
+ */
 void CurveCreator_Widget::onMouseMove( SUIT_ViewWindow*, QMouseEvent* theEvent )
 {
   if ( getActionMode() != ModificationMode || !myDragStarted )
@@ -972,6 +979,15 @@ void CurveCreator_Widget::onMouseMove( SUIT_ViewWindow*, QMouseEvent* theEvent )
   myDragStartPosition = aPos;
 }
 
+/**
+ * Set zero viewer by the last view closed in
+ * \param theManager a viewer manager
+ */
+void CurveCreator_Widget::onLastViewClosed( SUIT_ViewManager* theManager )
+{
+  myOCCViewer = 0;
+}
+
 void CurveCreator_Widget::onCellChanged( int theRow, int theColumn )
 {
   int aCurrSect = getSectionId( theRow );
index 225e864d49a06aac4b0ff31b7f95b1492c5eb3f7..72b3d64a3b4aa092b4824ca5ddf6b035b6f4d7f7 100644 (file)
@@ -55,8 +55,6 @@ public:
   void setOCCViewer( OCCViewer_Viewer* theViewer );
   OCCViewer_Viewer* getOCCViewer();
 
-  //virtual bool eventFilter( QObject* theWatched, QEvent* theEvent );
-
   //! Return unique section name
   std::string getUniqSectionName(CurveCreator_ICurve* theCurve) const;
 
@@ -104,6 +102,7 @@ protected slots:
   void     onMousePress( SUIT_ViewWindow*, QMouseEvent* theEvent );
   void     onMouseRelease( SUIT_ViewWindow*, QMouseEvent* theEvent );
   void     onMouseMove( SUIT_ViewWindow*, QMouseEvent* theEvent );
+  void     onLastViewClosed( SUIT_ViewManager* theManager );
 
   void     onCellChanged( int theRow, int theColumn );