Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
/home/iurt/rpm/BUILD/canorus-0.7.R1002/src/core/repeatmark.h
Go to the documentation of this file.
00001 
00008 #ifndef REPEATMARK_H_
00009 #define REPEATMARK_H_
00010 
00011 #include "core/mark.h"
00012 
00013 class CABarline;
00014 
00015 class CARepeatMark : public CAMark {
00016 public:
00017         enum CARepeatMarkType {
00018                 Undefined  = 0,
00019                 Volta      = 1,
00020                 Segno      = 2,
00021                 Coda       = 3,
00022                 VarCoda    = 4,
00023                 DalSegno   = 5,
00024                 DalCoda    = 6,
00025                 DalVarCoda = 7
00026         };
00027         
00028         CARepeatMark( CABarline *b, CARepeatMarkType t, int voltaNumber = 0 );
00029         virtual ~CARepeatMark();
00030         
00031         CARepeatMark *clone(CAMusElement* elt=0);
00032         int compare( CAMusElement *);
00033         
00034         inline CARepeatMarkType repeatMarkType() { return _repeatMarkType; }
00035         inline void setRepeatMarkType( CARepeatMarkType t ) { _repeatMarkType = t; }
00036         
00037         inline int voltaNumber() { return _voltaNumber; }
00038         inline void setVoltaNumber( int n ) { _voltaNumber = n; }
00039         
00040         static const QString repeatMarkTypeToString( CARepeatMarkType t );
00041         static CARepeatMarkType repeatMarkTypeFromString( const QString r );
00042         
00043 private:
00044         CARepeatMarkType _repeatMarkType;
00045         int _voltaNumber;
00046 };
00047 
00048 #endif /* REPEATMARK_H_ */