]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Fix for Bug N7PAL15810
authorapo <apo@opencascade.com>
Tue, 6 Nov 2007 12:19:20 +0000 (12:19 +0000)
committerapo <apo@opencascade.com>
Tue, 6 Nov 2007 12:19:20 +0000 (12:19 +0000)
  VISU formats of exit

src/SVTK/SVTK_ViewWindow.cxx
src/SVTK/SVTK_ViewWindow.h
src/SVTK/resources/SVTK_msg_en.po

index af9841baac310e18c9aa5ecb3f50837163f71698..56317d592ac77caed86d5de45252ad9ed90f9cfb 100755 (executable)
@@ -29,6 +29,7 @@
 #include <vtkPointPicker.h>
 #include <vtkCellPicker.h>
 #include <vtkAxisActor2D.h>
+#include <vtkGL2PSExporter.h>
 
 #include "QtxAction.h"
 
@@ -718,6 +719,46 @@ SVTK_ViewWindow
   return myDumpImage;
 }
 
+QString SVTK_ViewWindow::filter() const
+{
+  return tr( "SVTK_IMAGE_FILES" );
+}
+
+bool SVTK_ViewWindow::dumpViewToFormat( const QImage& img, const QString& fileName, const QString& format )
+{
+  if ( format != "PS" && format != "EPS" && format != "PDF" )
+    return SUIT_ViewWindow::dumpViewToFormat( img, fileName, format );
+
+  QApplication::setOverrideCursor( Qt::waitCursor );
+
+  vtkGL2PSExporter *anExporter = vtkGL2PSExporter::New();
+  anExporter->SetRenderWindow(getRenderWindow());
+
+  if ( format == "PS" ) {
+    anExporter->SetFileFormatToPS();
+    anExporter->CompressOff();
+  }
+
+  if ( format == "EPS" ) {
+    anExporter->SetFileFormatToEPS();
+    anExporter->CompressOff();
+  }
+
+  if ( format == "PDF" ) {
+    anExporter->SetFileFormatToPDF();
+  }
+
+  QString aFilePrefix(fileName);
+  QString anExtension(SUIT_Tools::extension(fileName));
+  aFilePrefix.truncate(aFilePrefix.length() - 1 - anExtension.length());
+  anExporter->SetFilePrefix(aFilePrefix.latin1());
+  anExporter->Write();
+  anExporter->Delete();
+
+  QApplication::restoreOverrideCursor();
+  return true;
+}
+
 /*!
   \refresh QImage, containing all scene rendering in window
 */
index 14b79945bd7afa26e1a8241fff25d856c8c20a3a..dca18f0854b46ed561425c43ae916d955b405e7a 100755 (executable)
@@ -68,6 +68,8 @@ class SVTK_EXPORT SVTK_ViewWindow : public SUIT_ViewWindow
   virtual
   ~SVTK_ViewWindow();
   
+  virtual QImage dumpView();
+
   //! To initialize #SVTK_ViewWindow instance
   virtual
   void
@@ -354,7 +356,9 @@ protected:
   void
   doSetVisualParameters( const QString& );
 
-  QImage dumpView();
+  virtual QString filter() const;
+  virtual bool dumpViewToFormat( const QImage& img, const QString& fileName, const QString& format );
+  
   virtual bool action( const int );
   
   SVTK_View* myView;
index 609f62c2b81337ab9f5d39c50344c0cdef857050..6e5f620d32e9a9a592b791f8dabd7963a6e42612 100755 (executable)
@@ -314,3 +314,5 @@ msgstr "Current Update Rate, FPS"
 msgid "SVTK_UpdateRateDlg::NUMBER_CELLS"
 msgstr "Number of Cells, -"
 
+msgid "SVTK_IMAGE_FILES"
+msgstr "Images Files (*.bmp *.png *.jpg *.jpeg *.pdf *.ps *.eps)""
\ No newline at end of file