|
Canorus
0.7
|
00001 00008 #ifndef CONTEXT_H_ 00009 #define CONTEXT_H_ 00010 00011 #include <QString> 00012 00013 class CASheet; 00014 class CAMusElement; 00015 00016 class CAContext { 00017 public: 00018 CAContext( const QString name, CASheet *s ); 00019 virtual ~CAContext(); 00020 virtual CAContext* clone( CASheet* ) = 0; 00021 00022 enum CAContextType { 00023 Staff, 00024 FunctionMarkContext, 00025 LyricsContext 00026 }; 00027 00028 const QString name() { return _name; } 00029 void setName(const QString name) { _name = name; } 00030 00031 CAContextType contextType() { return _contextType; } 00032 00033 CASheet *sheet() { return _sheet; } 00034 void setSheet(CASheet *sheet) { _sheet = sheet; } 00035 00036 virtual void clear() = 0; 00037 virtual CAMusElement *next(CAMusElement *elt) = 0; 00038 virtual CAMusElement *previous(CAMusElement *elt) = 0; 00039 virtual bool remove( CAMusElement *elt ) = 0; 00040 00041 protected: 00042 void setContextType( CAContextType t ) { _contextType = t; } 00043 00044 CASheet *_sheet; 00045 QString _name; 00046 CAContextType _contextType; 00047 }; 00048 #endif /* CONTEXT_H_ */
1.8.0