/media/hdb5/canorusNightlyBuildSystem/trunk/src/core/fingering.h

Go to the documentation of this file.
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         CAMusElement *clone();
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_ */

Generated on Sat Feb 9 13:06:25 2008 for Canorus by  doxygen 1.5.3