]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
PAL8598: Provide an access to "Dump View" functionality from the context popup menu...
authorvsr <vsr@opencascade.com>
Fri, 15 Apr 2005 06:11:25 +0000 (06:11 +0000)
committervsr <vsr@opencascade.com>
Fri, 15 Apr 2005 06:11:25 +0000 (06:11 +0000)
src/SALOMEGUI/QAD_ViewFrame.cxx
src/SALOMEGUI/QAD_ViewFrame.h
src/SALOMEGUI/QAD_msg_en.po

index c22c7a4a8224e785529c5df99c060cc166fffdde..ff25d5aa302e1f422a9bcacabf074406eebf4df7 100644 (file)
@@ -78,7 +78,6 @@ void QAD_ViewFrame::onViewDump()
 {
   if (!getViewWidget())
     return;
-
   QApplication::setOverrideCursor( Qt::waitCursor );
   QPixmap px = QPixmap::grabWindow(getViewWidget()->winId());
   QApplication::restoreOverrideCursor();
@@ -105,3 +104,29 @@ void QAD_ViewFrame::onViewDump()
     }
   }
 }
+
+#define DUMP_EVENT QEvent::User + 123
+/*!
+   This method is used to dump the viewer contents to the image file
+   from the context popup menu (uses event mechanizm to assure redrawing
+   the viewer contents before dumping by sending custom event)
+*/
+void QAD_ViewFrame::onProcessViewDump() 
+{
+  qApp->postEvent( this, new QPaintEvent( QRect( 0, 0, width(), height() ), TRUE ) );
+  qApp->postEvent( this, new QCustomEvent( DUMP_EVENT ) );
+}
+
+/*!
+  Processes the custom event sent by onProcessViewDump() method to
+  call onViewDump() slot: dumping the view contents to the image file
+  (see desription for onProcessViewDump() method above)
+*/
+bool QAD_ViewFrame::event ( QEvent* e )
+{
+  if ( e->type() == DUMP_EVENT ) {
+    onViewDump();
+    return TRUE;
+  }
+  return QMainWindow::event( e );
+}
index 7ea86fb5fa03f17337564136d8f9782aea7c0ebe..572eccddf030ba9bba73eb5b944900b8fec07270 100644 (file)
@@ -51,6 +51,8 @@ public:
   QAD_ViewFrame(QWidget* parent = 0);
   virtual ~QAD_ViewFrame();
 
+  bool                   event ( QEvent* e );
+
   void                   cleanup();
 
   virtual ViewType       getTypeView() const = 0; 
@@ -128,6 +130,11 @@ public slots:
   virtual void           onRotateRight() {}
   virtual void           onRotateUp()    {}
   virtual void           onRotateDown()  {}
+
+  /* the next slot is used for dumping viewer contents to the image file;
+     called from the context popup menu
+  */
+  void                   onProcessViewDump();
 };
 
 #endif
index feca9f9e5cc569ceaf3deb8a3772691fc2a877b0..631141152be6006350e17381c5e7812a658cf5db 100644 (file)
@@ -333,6 +333,9 @@ msgstr "Viewer"
 msgid "MEN_VP3D_CHANGEBGR"
 msgstr "Change background..."
 
+msgid "MEN_VP3D_DUMPVIEW"
+msgstr "Camera Dump..."
+
 msgid "MEN_APP_DISPLAY"
 msgstr "Display"