Canorus  0.0
export.h
Go to the documentation of this file.
1 
8 #ifndef EXPORT_H_
9 #define EXPORT_H_
10 
11 #include "core/file.h"
12 #include <QString>
13 
14 class QTextStream;
15 class CADocument;
16 class CASheet;
17 class CAStaff;
18 class CAVoice;
19 class CALyricsContext;
21 
22 class CAExport : public CAFile {
23 #ifndef SWIG
24  Q_OBJECT
25 #endif
26 public:
27  CAExport( QTextStream *stream=0 );
28  virtual ~CAExport();
29 
30  virtual const QString readableStatus();
31  void exportDocument( CADocument*, bool bStartThread = true );
32  void exportSheet( CASheet* );
33  void exportStaff( CAStaff* );
34  void exportVoice( CAVoice* );
37 
39  inline CASheet *exportedSheet() { return _exportedSheet; }
40  inline CAStaff *exportedStaff() { return _exportedStaff; }
41  inline CAVoice *exportedVoice() { return _exportedVoice; }
44 
45  // Methods from CAFile to be called via abstract class CAAbsExport
46  virtual void setStreamToFile( const QString filename )
47  { CAFile::setStreamToFile( filename); }
48  bool wait ( unsigned long time = ULONG_MAX )
49  { return CAFile::wait( time ); }
50 
51 #ifndef SWIG
52 signals:
59 
60  void exportDone( int status );
61 #endif
62 
63 protected:
64  virtual void exportDocumentImpl( CADocument* ) { setStatus(0); return; }
65  virtual void exportSheetImpl( CASheet* ) { setStatus(0); return; }
66  virtual void exportStaffImpl( CAStaff* ) { setStatus(0); return; }
67  virtual void exportVoiceImpl( CAVoice* ) { setStatus(0); return; }
68  virtual void exportLyricsContextImpl( CALyricsContext* ) { setStatus(0); return; }
70 
71  inline QTextStream& out() { return *stream(); }
72 
73  void run();
74 
75 private:
76  inline void setExportedDocument( CADocument *doc ) { _exportedDocument = doc; }
77  inline void setExportedSheet( CASheet *sheet ) { _exportedSheet = sheet; }
78  inline void setExportedStaff( CAStaff *staff ) { _exportedStaff = staff; }
79  inline void setExportedVoice( CAVoice *voice ) { _exportedVoice = voice; }
82 
89 
90 };
91 
92 #endif /* EXPORT_H_ */
CAExport::exportedDocument
CADocument * exportedDocument()
Definition: export.h:38
CAExport::setStreamToFile
virtual void setStreamToFile(const QString filename)
Definition: export.h:46
CAExport::exportedFunctionMarkContext
CAFunctionMarkContext * exportedFunctionMarkContext()
Definition: export.h:43
CAExport::_exportedSheet
CASheet * _exportedSheet
Definition: export.h:84
CAExport::functionMarkContextExported
void functionMarkContextExported(CAFunctionMarkContext *)
CAExport::staffExported
void staffExported(CAStaff *)
CAExport::setExportedStaff
void setExportedStaff(CAStaff *staff)
Definition: export.h:78
CADocument
Class which represents the current document.
Definition: document.h:19
CAExport::exportSheet
void exportSheet(CASheet *)
Definition: export.cpp:121
CAVoice
Class which represents a voice in the staff.
Definition: voice.h:23
CAExport::setExportedDocument
void setExportedDocument(CADocument *doc)
Definition: export.h:76
CAExport::exportedSheet
CASheet * exportedSheet()
Definition: export.h:39
CAExport::exportDocument
void exportDocument(CADocument *, bool bStartThread=true)
Definition: export.cpp:97
CAExport::CAExport
CAExport(QTextStream *stream=0)
Definition: export.cpp:38
CAExport::setExportedSheet
void setExportedSheet(CASheet *sheet)
Definition: export.h:77
CAExport::exportLyricsContext
void exportLyricsContext(CALyricsContext *)
Definition: export.cpp:139
CAExport::exportSheetImpl
virtual void exportSheetImpl(CASheet *)
Definition: export.h:65
CAExport::exportVoiceImpl
virtual void exportVoiceImpl(CAVoice *)
Definition: export.h:67
CAFile::stream
QTextStream * stream()
Definition: file.h:36
CAExport::setExportedVoice
void setExportedVoice(CAVoice *voice)
Definition: export.h:79
CAExport::lyricsContextExported
void lyricsContextExported(CALyricsContext *)
CAFunctionMarkContext
Context for function marks.
Definition: functionmarkcontext.h:19
CAExport::sheetExported
void sheetExported(CASheet *)
CAExport::~CAExport
virtual ~CAExport()
Definition: export.cpp:50
CAExport::exportFunctionMarkContextImpl
virtual void exportFunctionMarkContextImpl(CAFunctionMarkContext *)
Definition: export.h:69
CAFile::status
const int status()
Definition: file.h:21
CAExport::setExportedFunctionMarkContext
void setExportedFunctionMarkContext(CAFunctionMarkContext *fmc)
Definition: export.h:81
CAFile::setStreamToFile
void setStreamToFile(const QString filename)
Definition: file.cpp:75
CAExport::documentExported
void documentExported(CADocument *)
CAStaff
Represents a staff in the sheet.
Definition: staff.h:25
CAFile::setStream
virtual void setStream(QTextStream *stream)
Definition: file.h:37
CAExport::exportedVoice
CAVoice * exportedVoice()
Definition: export.h:41
CAExport::run
void run()
Definition: export.cpp:58
CAExport::exportedStaff
CAStaff * exportedStaff()
Definition: export.h:40
CAExport::exportDone
void exportDone(int status)
CAFile
File import/export base class.
Definition: file.h:16
CAExport::exportVoice
void exportVoice(CAVoice *)
Definition: export.cpp:133
CAExport::setExportedLyricsContext
void setExportedLyricsContext(CALyricsContext *lc)
Definition: export.h:80
CAExport::voiceExported
void voiceExported(CAVoice *)
CAExport::_exportedDocument
CADocument * _exportedDocument
Definition: export.h:83
CAFile::setStatus
void setStatus(const int status)
Definition: file.h:33
CAExport::exportStaffImpl
virtual void exportStaffImpl(CAStaff *)
Definition: export.h:66
CAExport::exportDocumentImpl
virtual void exportDocumentImpl(CADocument *)
Definition: export.h:64
CAExport::exportedLyricsContext
CALyricsContext * exportedLyricsContext()
Definition: export.h:42
CAExport::exportStaff
void exportStaff(CAStaff *)
Definition: export.cpp:127
CALyricsContext
One stanza line of lyrics.
Definition: lyricscontext.h:19
CAExport::_exportedVoice
CAVoice * _exportedVoice
Definition: export.h:86
CAExport::_exportedLyricsContext
CALyricsContext * _exportedLyricsContext
Definition: export.h:87
CAExport::exportFunctionMarkContext
void exportFunctionMarkContext(CAFunctionMarkContext *)
Definition: export.cpp:145
file.h
CASheet
Represents a single sheet of paper in the document.
Definition: sheet.h:22
CAExport::_exportedStaff
CAStaff * _exportedStaff
Definition: export.h:85
CAExport::exportLyricsContextImpl
virtual void exportLyricsContextImpl(CALyricsContext *)
Definition: export.h:68
CAExport::readableStatus
virtual const QString readableStatus()
Definition: export.cpp:151
CAExport::out
QTextStream & out()
Definition: export.h:71
CAExport
Base class for export filters.
Definition: export.h:22
CAExport::wait
bool wait(unsigned long time=ULONG_MAX)
Definition: export.h:48
export.h
CAExport::_exportedFunctionMarkContext
CAFunctionMarkContext * _exportedFunctionMarkContext
Definition: export.h:88