|
Canorus
0.7
|
00001 00008 #ifndef FINGERING_H_ 00009 #define FINGERING_H_ 00010 00011 #include <QList> 00012 #include "core/mark.h" 00013 00014 class CANote; 00015 00016 class CAFingering: public CAMark { 00017 public: 00018 enum CAFingerNumber { 00019 First = 1, 00020 Second = 2, 00021 Third = 3, 00022 Fourth = 4, 00023 Fifth = 5, 00024 Thumb, 00025 LHeel, 00026 RHeel, 00027 LToe, 00028 RToe, 00029 Undefined 00030 }; 00031 00032 CAFingering( CAFingerNumber finger, CANote *m, bool italic=false ); 00033 CAFingering( QList<CAFingerNumber> fingers, CANote *m, bool italic=false ); 00034 virtual ~CAFingering(); 00035 00036 CAFingering *clone(CAMusElement* elt=0); 00037 int compare(CAMusElement *elt); 00038 00039 inline CAFingerNumber finger() { return (_fingerList.size()?_fingerList[0]:Undefined); } 00040 inline void setFinger(CAFingerNumber f) { _fingerList.clear(); _fingerList << f; } 00041 inline QList<CAFingerNumber>& fingerList() { return _fingerList; } 00042 inline void addFinger( CAFingerNumber f ) { _fingerList << f; } 00043 inline void removeFingerAt( int idx ) { _fingerList.removeAt(idx); } 00044 00045 inline bool isOriginal() { return _original; } 00046 inline void setOriginal( bool original ) { _original = original; } 00047 00048 static const QString fingerNumberToString( CAFingerNumber n ); 00049 static CAFingerNumber fingerNumberFromString( const QString s ); 00050 00051 private: 00052 QList<CAFingerNumber> _fingerList; 00053 bool _original; 00054 }; 00055 00056 #endif /* FINGERING_H_ */
1.8.0