#ifndef _GUITAR_RANGE_HPP_ #define _GUITAR_RANGE_HPP_ #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_BLOCK_HPP_ #include #endif class Range; typedef Block TabRanges; class Range { public: Range(); virtual ~Range(); int getBeginRange(void)const; void setBeginRange(int beginRange); int getEndRange(void)const; void setEndRange(int endRange); const String &getRangeName(void)const; void setRangeName(const String &rangeName); void autoName(void); String toString(void)const; String toTabbedString(void)const; private: enum{ShortNameLength=20}; String createRangeName(void)const; int mBeginRange; int mEndRange; String mRangeName; }; inline Range::Range() : mBeginRange(0), mEndRange(0) { } inline Range::~Range() { } inline int Range::getBeginRange(void)const { return mBeginRange; } inline void Range::setBeginRange(int beginRange) { mBeginRange=beginRange; } inline int Range::getEndRange(void)const { return mEndRange; } inline void Range::setEndRange(int endRange) { mEndRange=endRange; } inline const String &Range::getRangeName(void)const { return mRangeName; } inline void Range::setRangeName(const String &rangeName) { mRangeName=rangeName; } inline void Range::autoName(void) { setRangeName(createRangeName()); } inline String Range::createRangeName(void)const { String strRangeName("RANGE_"); strRangeName+=String().fromInt(getBeginRange()); strRangeName+=String("_"); strRangeName+=String().fromInt(getEndRange()); return strRangeName; } inline String Range::toString(void)const { String strString(getRangeName()); strString+=String("[")+String().fromInt(getBeginRange())+String("->")+String().fromInt(getEndRange()); return strString; } inline String Range::toTabbedString(void)const { String strItem; String shortName; shortName=getRangeName(); strItem+=shortName.substr(0,ShortNameLength-1)+"\t"; strItem+=String().fromInt(getBeginRange())+"\t"; strItem+=String().fromInt(getEndRange()); return strItem; } #endif