00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __TScoreHeader__
00026 #define __TScoreHeader__
00027
00028 #include "TIdentification.h"
00029 #include "TPartList.h"
00030 #include "TScoreVisitor.h"
00031 #include "TWork.h"
00032 #include "smartpointer.h"
00033
00034 namespace MusicXML
00035 {
00036
00043 class EXP TScoreHeader : public visitable, public smartable {
00044
00045 public:
00046
00047 EXP friend SMARTP<TScoreHeader> newScoreHeader();
00048
00049 virtual void accept(TScoreVisitor& visitor);
00050
00051 void setMovementNum(const string& num);
00052 void setMovementTitle(const string& title);
00053 const string& getMovementNum() { return fMovementNum; }
00054 const string& getMovementTitle() { return fMovementTitle; }
00055
00056 SWork& work() { return fWork; }
00057 SIdentification& identification() { return fIdentification; }
00058 SPartList& partList() { return fPartList; }
00059
00060 protected:
00061 TScoreHeader() {}
00062 virtual ~TScoreHeader() {}
00063 private:
00064 SWork fWork;
00065 string fMovementNum;
00066 string fMovementTitle;
00067 SIdentification fIdentification;
00069 SPartList fPartList;
00070 };
00071 typedef SMARTP<TScoreHeader> SScoreHeader;
00072
00073 }
00074
00075
00076 #endif