Canorus  0.0
typesetctl.h
Go to the documentation of this file.
1 
8 #ifndef _TYPESET_CTL_H_
9 #define _TYPESET_CTL_H_
10 
11 // Includes
12 #include <QObject>
13 #include <QVariant>
14 #include <QVector>
15 #include <QStringList>
16 #include <QTemporaryFile>
17 
18 // Forward declarations
19 class CAExternProgram;
20 class CAExport;
21 class CADocument;
22 class CASheet;
23 
24 class CATypesetCtl : public QObject
25 {
26  Q_OBJECT
27 
28 public:
29  CATypesetCtl();
30  ~CATypesetCtl();
31 
32  void setTypesetter( const QString &roProgramName, const QString &roProgramPath = "" );
33  void setPS2PDF( const QString &roProgrammName, const QString &roProgramPath = "",
34  const QStringList &roParams = (QStringList() << QString("") ) );
35  virtual void setExpOption( const QVariant &roName, const QVariant &roValue );
36  virtual void setTSetOption( const QVariant &roName, const QVariant &roValue, bool bSpace = false, bool bShortParam = true );
37  inline void setPDFConversion( bool bConversion ) { _bPDFConversion = bConversion; }
38  inline void setExporter( CAExport *poExport ) { _poExport = poExport ; }
39  // Attention: .pdf automatically added and removed if it was added internally
40  void exportDocument( CADocument *poDoc );
41  void exportSheet( CASheet *poSheet );
42  void runTypesetter();
43 
44  inline bool getPDFConversion() { return _bPDFConversion; }
45  inline CAExport *getExporter() { return _poExport; }
46  inline QString getTempFilePath() { return _oOutputFileName; }
47  bool waitForFinished ( int iMSecs );
48 
49 signals:
50  void nextOutput( const QByteArray &roData );
51  void nextStep();
52  void typesetterFinished( int iExitCode );
53 
54 protected slots:
55  void rcvTypesetterOutput( const QByteArray &roData );
56  void typsetterExited( int iExitCode );
57 
58 protected:
59  bool createPDF();
60 
61  CAExternProgram *_poTypesetter; // Transforms exported file to pdf / postscript
62  CAExternProgram *_poConvPS2PDF; // Transforms postscripts files to pdf if needed
63  CAExport *_poExport; // Transforms canorus document to typesetter format
64  QVector<QVariant> _oExpOptList; // List of options for export
65  QVector<QVariant> _oTSetOptList; // List of options for typesetter
66  QTemporaryFile *_poOutputFile; // Output file for pdf (also used for exported file)
67  QString _oOutputFileName; // Output file name for pdf (temporary file deletes it on close)
68  bool _bPDFConversion; // Do a conversion from postscript to pdf
69  bool _bOutputFileNameFirst; // File name as first parameter ? (Default: No)
70 };
71 
72 #endif // _TYPESET_CTL_H_
73 
CATypesetCtl::typesetterFinished
void typesetterFinished(int iExitCode)
QObject
CATypesetCtl::setPDFConversion
void setPDFConversion(bool bConversion)
Definition: typesetctl.h:37
CAFile::setStreamToDevice
void setStreamToDevice(QIODevice *device)
Definition: file.cpp:92
typesetctl.h
CATypesetCtl::_oExpOptList
QVector< QVariant > _oExpOptList
Definition: typesetctl.h:64
CADocument
Class which represents the current document.
Definition: document.h:19
CAExport::exportSheet
void exportSheet(CASheet *)
Definition: export.cpp:121
CATypesetCtl::createPDF
bool createPDF()
Definition: typesetctl.cpp:249
CATypesetCtl::setTSetOption
virtual void setTSetOption(const QVariant &roName, const QVariant &roValue, bool bSpace=false, bool bShortParam=true)
Definition: typesetctl.cpp:129
CAExport::exportDocument
void exportDocument(CADocument *, bool bStartThread=true)
Definition: export.cpp:97
CATypesetCtl::_poExport
CAExport * _poExport
Definition: typesetctl.h:63
CATypesetCtl::setTypesetter
void setTypesetter(const QString &roProgramName, const QString &roProgramPath="")
Definition: typesetctl.cpp:61
CATypesetCtl::nextStep
void nextStep()
CATypesetCtl::nextOutput
void nextOutput(const QByteArray &roData)
CATypesetCtl::~CATypesetCtl
~CATypesetCtl()
Definition: typesetctl.cpp:38
CATypesetCtl::waitForFinished
bool waitForFinished(int iMSecs)
Definition: typesetctl.cpp:273
CAExternProgram::setProgramName
void setProgramName(const QString &roProgram)
Definition: externprogram.cpp:55
CAExternProgram::execProgram
bool execProgram(const QString &roCwd=".")
Definition: externprogram.cpp:157
CATypesetCtl::getTempFilePath
QString getTempFilePath()
Definition: typesetctl.h:46
CATypesetCtl::_bOutputFileNameFirst
bool _bOutputFileNameFirst
Definition: typesetctl.h:69
CAExternProgram::clearParameters
void clearParameters()
Definition: externprogram.h:45
CATypesetCtl::getExporter
CAExport * getExporter()
Definition: typesetctl.h:45
CATypesetCtl::getPDFConversion
bool getPDFConversion()
Definition: typesetctl.h:44
CAExternProgram::addParameter
void addParameter(const QString &roParam, bool bAddDelimiter=true)
Definition: externprogram.cpp:132
CATypesetCtl::typsetterExited
void typsetterExited(int iExitCode)
Definition: typesetctl.cpp:289
CAExternProgram::setProgramPath
void setProgramPath(const QString &roPath)
Definition: externprogram.cpp:73
CATypesetCtl::_oOutputFileName
QString _oOutputFileName
Definition: typesetctl.h:67
CATypesetCtl::rcvTypesetterOutput
void rcvTypesetterOutput(const QByteArray &roData)
Definition: typesetctl.cpp:261
CATypesetCtl::_poConvPS2PDF
CAExternProgram * _poConvPS2PDF
Definition: typesetctl.h:62
CATypesetCtl::setExporter
void setExporter(CAExport *poExport)
Definition: typesetctl.h:38
CATypesetCtl::_bPDFConversion
bool _bPDFConversion
Definition: typesetctl.h:68
CATypesetCtl::runTypesetter
void runTypesetter()
Definition: typesetctl.cpp:234
CAExternProgram::setParameters
void setParameters(const QStringList &roParams)
Definition: externprogram.cpp:93
CAExternProgram
Start a program as extern background process.
Definition: externprogram.h:23
CAExternProgram::waitForFinished
bool waitForFinished(int iMSecs)
Definition: externprogram.h:47
CATypesetCtl::exportSheet
void exportSheet(CASheet *poSheet)
Definition: typesetctl.cpp:196
CATypesetCtl::setExpOption
virtual void setExpOption(const QVariant &roName, const QVariant &roValue)
Definition: typesetctl.cpp:105
CATypesetCtl::exportDocument
void exportDocument(CADocument *poDoc)
Definition: typesetctl.cpp:158
CASheet
Represents a single sheet of paper in the document.
Definition: sheet.h:22
CATypesetCtl::setPS2PDF
void setPS2PDF(const QString &roProgrammName, const QString &roProgramPath="", const QStringList &roParams=(QStringList()<< QString("")))
Definition: typesetctl.cpp:82
externprogram.h
CATypesetCtl::CATypesetCtl
CATypesetCtl()
Definition: typesetctl.cpp:25
CAExport
Base class for export filters.
Definition: export.h:22
CATypesetCtl::_oTSetOptList
QVector< QVariant > _oTSetOptList
Definition: typesetctl.h:65
CAExport::wait
bool wait(unsigned long time=ULONG_MAX)
Definition: export.h:48
CATypesetCtl::_poOutputFile
QTemporaryFile * _poOutputFile
Definition: typesetctl.h:66
CATypesetCtl::_poTypesetter
CAExternProgram * _poTypesetter
Definition: typesetctl.h:61
CATypesetCtl
Interface to start a typesetter in the background.
Definition: typesetctl.h:25
export.h