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 __TMeasure__
00026 #define __TMeasure__
00027
00028 #include "exports.h"
00029 #include "smartpointer.h"
00030 #include "TScoreVisitor.h"
00031 #include "common.h"
00032
00033 using namespace std;
00034
00035 namespace MusicXML
00036 {
00037
00056 class TMeasure : public visitable, public smartable {
00057 public:
00058 void setStringNumber(const string& num);
00059 void setImplicit( YesNo::type type);
00060 void setNonControlling( YesNo::type type);
00061
00062 const string& getStringNumber() const { return fNum; }
00063 long getNumber() const { return (fImplicit == YesNo::undefined)?atoi(fNum.c_str()):-1; }
00064 YesNo::type getImplicit() const { return fImplicit; }
00065 YesNo::type getNonControlling() const { return fNonControling; }
00066
00067 protected:
00068 TMeasure(long num);
00069 TMeasure(string num) : fNum(num),fImplicit(YesNo::undefined),fNonControling(YesNo::undefined) {}
00070 virtual ~TMeasure() {}
00071 private:
00073 string fNum;
00074 YesNo::type fImplicit;
00075 YesNo::type fNonControling;
00076 };
00077
00078 }
00079
00080
00081 #endif