00001 /****************************************************************************************************** 00002 * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released * 00003 * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file * 00004 * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. * 00005 ******************************************************************************************************/ 00006 00007 #ifndef EXPORT_TO_FILE_H 00008 #define EXPORT_TO_FILE_H 00009 00010 #include <QStringList> 00011 00012 class Document; 00013 class DocumentModelExportFormat; 00014 class MainWindowModel; 00015 class QTextStream; 00016 class Transformation; 00017 00018 enum ExportToFileExtension { 00019 EXPORT_TO_FILE_EXTENSION_CSV, 00020 EXPORT_TO_FILE_EXTENSION_TSV, 00021 EXPORT_TO_FILE_EXTENSION_DEFAULT 00022 }; 00023 00025 class ExportToFile 00026 { 00027 public: 00029 ExportToFile(); 00030 00033 void exportToFile (const DocumentModelExportFormat &modelExport, 00034 const Document &document, 00035 const MainWindowModel &modelMainWindow, 00036 const Transformation &transformation, 00037 QTextStream &str) const; 00038 00040 QString fileExtensionCsv () const; 00041 00043 QString fileExtensionTsv () const; 00044 00046 QString filterCsv () const; 00047 00049 QString filterTsv () const; 00050 00051 }; 00052 00053 #endif // EXPORT_TO_FILE_H