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
14class QTextStream;
15class CADocument;
16class CASheet;
17class CAStaff;
18class CAVoice;
19class CALyricsContext;
21
22class CAExport : public CAFile {
23#ifndef SWIG
24 Q_OBJECT
25#endif
26public:
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
52signals:
59
60 void exportDone( int status );
61#endif
62
63protected:
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
75private:
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_ */
Class which represents the current document.
Definition: document.h:19
Base class for export filters.
Definition: export.h:22
void staffExported(CAStaff *)
CAVoice * exportedVoice()
Definition: export.h:41
CADocument * _exportedDocument
Definition: export.h:83
CALyricsContext * _exportedLyricsContext
Definition: export.h:87
void exportVoice(CAVoice *)
Definition: export.cpp:133
virtual void exportVoiceImpl(CAVoice *)
Definition: export.h:67
QTextStream & out()
Definition: export.h:71
void setExportedStaff(CAStaff *staff)
Definition: export.h:78
void exportDone(int status)
void run()
Definition: export.cpp:58
CADocument * exportedDocument()
Definition: export.h:38
void exportFunctionMarkContext(CAFunctionMarkContext *)
Definition: export.cpp:145
void setExportedFunctionMarkContext(CAFunctionMarkContext *fmc)
Definition: export.h:81
void setExportedLyricsContext(CALyricsContext *lc)
Definition: export.h:80
CAVoice * _exportedVoice
Definition: export.h:86
virtual void setStreamToFile(const QString filename)
Definition: export.h:46
virtual void exportFunctionMarkContextImpl(CAFunctionMarkContext *)
Definition: export.h:69
virtual void exportStaffImpl(CAStaff *)
Definition: export.h:66
void exportSheet(CASheet *)
Definition: export.cpp:121
void setExportedDocument(CADocument *doc)
Definition: export.h:76
void setExportedVoice(CAVoice *voice)
Definition: export.h:79
CASheet * _exportedSheet
Definition: export.h:84
void exportStaff(CAStaff *)
Definition: export.cpp:127
virtual void exportSheetImpl(CASheet *)
Definition: export.h:65
virtual void exportDocumentImpl(CADocument *)
Definition: export.h:64
CAFunctionMarkContext * _exportedFunctionMarkContext
Definition: export.h:88
CAExport(QTextStream *stream=0)
Definition: export.cpp:38
CASheet * exportedSheet()
Definition: export.h:39
virtual ~CAExport()
Definition: export.cpp:50
CAStaff * exportedStaff()
Definition: export.h:40
void exportLyricsContext(CALyricsContext *)
Definition: export.cpp:139
void setExportedSheet(CASheet *sheet)
Definition: export.h:77
void documentExported(CADocument *)
virtual void exportLyricsContextImpl(CALyricsContext *)
Definition: export.h:68
CALyricsContext * exportedLyricsContext()
Definition: export.h:42
void sheetExported(CASheet *)
void lyricsContextExported(CALyricsContext *)
CAFunctionMarkContext * exportedFunctionMarkContext()
Definition: export.h:43
virtual const QString readableStatus()
Definition: export.cpp:151
void exportDocument(CADocument *, bool bStartThread=true)
Definition: export.cpp:97
CAStaff * _exportedStaff
Definition: export.h:85
void voiceExported(CAVoice *)
void functionMarkContextExported(CAFunctionMarkContext *)
bool wait(unsigned long time=ULONG_MAX)
Definition: export.h:48
File import/export base class.
Definition: file.h:16
void setStatus(const int status)
Definition: file.h:33
void setStreamToFile(const QString filename)
Definition: file.cpp:75
QTextStream * stream()
Definition: file.h:36
const int status()
Definition: file.h:21
Context for function marks.
Definition: functionmarkcontext.h:19
One stanza line of lyrics.
Definition: lyricscontext.h:19
Represents a single sheet of paper in the document.
Definition: sheet.h:22
Represents a staff in the sheet.
Definition: staff.h:25
Class which represents a voice in the staff.
Definition: voice.h:23