Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mark.h
Go to the documentation of this file.
1 
8 #ifndef MARK_H_
9 #define MARK_H_
10 
11 #include "core/muselement.h"
12 
13 class CAContext;
14 
15 class CAMark : public CAMusElement {
16 public:
17  enum CAMarkType {
18  Undefined = -1,
32  };
33 
34  CAMark( CAMarkType type, CAMusElement *associatedElt, int timeStart=-1, int timeLength=-1 );
36  virtual ~CAMark();
37 
38  virtual CAMark *clone(CAContext* context) { CAMark* c = clone(); c->setContext(context); }
39  virtual CAMark *clone(CAMusElement* elt=0);
40  virtual int compare( CAMusElement* elt );
41 
43  inline void setAssociatedElement( CAMusElement* elt ) { _associatedElt = elt; if(elt) _context = elt->context(); }
44 
45  inline CAMarkType markType() { return _markType; }
46  inline void setMarkType( CAMarkType type ) { _markType = type; }
47 
48  inline bool isCommon() { return _common; }
49 
50  static const QString markTypeToString( CAMarkType t );
51  static CAMarkType markTypeFromString( const QString s );
52 
53 protected:
54  inline void setCommon( bool c ) { _common=c; }
55 
56 private:
59  bool _common; // is mark assigned to a single element only or the whole chord - depends who deletes it!
60 };
61 
62 #endif /* MARK_H_ */
static const QString markTypeToString(CAMarkType t)
Definition: mark.cpp:44
void setAssociatedElement(CAMusElement *elt)
Definition: mark.h:43
CAContext * _context
Definition: muselement.h:78
Definition: mark.h:26
CAContext * setContext(CAContext *context)
Definition: muselement.h:46
Definition: mark.h:24
Marks that depend on other music elements.
Definition: mark.h:15
Definition: mark.h:29
CAMarkType markType()
Definition: mark.h:45
Definition: mark.h:28
Definition: mark.h:21
virtual int timeStart()
Definition: muselement.h:48
Definition: mark.h:20
bool _common
Definition: mark.h:59
Definition: mark.h:30
virtual ~CAMark()
Definition: mark.cpp:126
Definition: mark.h:22
static CAMarkType markTypeFromString(const QString s)
Definition: mark.cpp:82
Definition: mark.h:27
CAMarkType
Definition: mark.h:17
Definition: mark.h:23
CAMusElement * _associatedElt
Definition: mark.h:57
virtual int timeLength()
Definition: muselement.h:50
Definition: mark.h:25
An abstract class which represents every music element in the score.
Definition: muselement.h:20
Definition: mark.h:19
void setMarkType(CAMarkType type)
Definition: mark.h:46
bool isCommon()
Definition: mark.h:48
CAMark(CAMarkType type, CAMusElement *associatedElt, int timeStart=-1, int timeLength=-1)
Definition: mark.cpp:19
Definition: mark.h:18
Definition: mark.h:31
CAMarkType _markType
Definition: mark.h:58
void setCommon(bool c)
Definition: mark.h:54
CAContext * context()
Definition: muselement.h:45
virtual CAMark * clone(CAContext *context)
Definition: mark.h:38
virtual int compare(CAMusElement *elt)
Definition: mark.cpp:136
CAMusElement * associatedElement()
Definition: mark.h:42
Line of music elements in the sheet.
Definition: context.h:16