Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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:
54  void sheetExported( CASheet* );
55  void staffExported( CAStaff* );
56  void voiceExported( CAVoice* );
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_ */
Represents a single sheet of paper in the document.
Definition: sheet.h:20
virtual void exportLyricsContextImpl(CALyricsContext *)
Definition: export.h:68
void setExportedDocument(CADocument *doc)
Definition: export.h:76
void staffExported(CAStaff *)
void setExportedStaff(CAStaff *staff)
Definition: export.h:78
virtual void setStreamToFile(const QString filename)
Definition: export.h:46
CAExport(QTextStream *stream=0)
Definition: export.cpp:38
CAFunctionMarkContext * exportedFunctionMarkContext()
Definition: export.h:43
void functionMarkContextExported(CAFunctionMarkContext *)
CALyricsContext * _exportedLyricsContext
Definition: export.h:87
virtual void exportSheetImpl(CASheet *)
Definition: export.h:65
CASheet * exportedSheet()
Definition: export.h:39
QTextStream * stream()
Definition: file.h:33
Class which represents a voice in the staff.
Definition: voice.h:22
CAFunctionMarkContext * _exportedFunctionMarkContext
Definition: export.h:88
void setExportedSheet(CASheet *sheet)
Definition: export.h:77
Class which represents the current document.
Definition: document.h:19
virtual void exportFunctionMarkContextImpl(CAFunctionMarkContext *)
Definition: export.h:69
void exportSheet(CASheet *)
Definition: export.cpp:121
virtual void exportVoiceImpl(CAVoice *)
Definition: export.h:67
CAVoice * exportedVoice()
Definition: export.h:41
void documentExported(CADocument *)
Base class for export filters.
Definition: export.h:22
void setExportedVoice(CAVoice *voice)
Definition: export.h:79
void exportDocument(CADocument *, bool bStartThread=true)
Definition: export.cpp:97
CAStaff * exportedStaff()
Definition: export.h:40
void setExportedLyricsContext(CALyricsContext *lc)
Definition: export.h:80
void sheetExported(CASheet *)
Context for function marks.
Definition: functionmarkcontext.h:19
void setStatus(const int status)
Definition: file.h:30
virtual void exportDocumentImpl(CADocument *)
Definition: export.h:64
CALyricsContext * exportedLyricsContext()
Definition: export.h:42
void exportLyricsContext(CALyricsContext *)
Definition: export.cpp:139
void voiceExported(CAVoice *)
CADocument * _exportedDocument
Definition: export.h:83
void lyricsContextExported(CALyricsContext *)
void exportDone(int status)
virtual ~CAExport()
Definition: export.cpp:50
One stanza line of lyrics.
Definition: lyricscontext.h:19
void exportStaff(CAStaff *)
Definition: export.cpp:127
CAVoice * _exportedVoice
Definition: export.h:86
const int status()
Definition: file.h:21
File import/export base class.
Definition: file.h:16
void run()
Definition: export.cpp:58
Represents a staff in the sheet.
Definition: staff.h:24
virtual const QString readableStatus()
Definition: export.cpp:151
void setExportedFunctionMarkContext(CAFunctionMarkContext *fmc)
Definition: export.h:81
void setStreamToFile(const QString filename)
Definition: file.cpp:73
virtual void exportStaffImpl(CAStaff *)
Definition: export.h:66
void exportVoice(CAVoice *)
Definition: export.cpp:133
bool wait(unsigned long time=ULONG_MAX)
Definition: export.h:48
void exportFunctionMarkContext(CAFunctionMarkContext *)
Definition: export.cpp:145
QTextStream & out()
Definition: export.h:71
CAStaff * _exportedStaff
Definition: export.h:85
CADocument * exportedDocument()
Definition: export.h:38
CASheet * _exportedSheet
Definition: export.h:84