Canorus
0.7
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
core
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,
19
Text
,
20
Tempo
,
21
Ritardando
,
22
Dynamic
,
23
Crescendo
,
24
Pedal
,
25
InstrumentChange
,
26
BookMark
,
27
RehersalMark
,
28
Fermata
,
29
RepeatMark
,
30
Articulation
,
31
Fingering
32
};
33
34
CAMark
(
CAMarkType
type,
CAMusElement
*associatedElt,
int
timeStart
=-1,
int
timeLength
=-1 );
35
CAMark
(
CAMarkType
type,
CAContext
*
context
,
int
timeStart
,
int
timeLength
);
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
42
inline
CAMusElement
*
associatedElement
() {
return
_associatedElt
; }
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
:
57
CAMusElement
*
_associatedElt
;
58
CAMarkType
_markType
;
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_ */
Generated on Fri Jan 11 2013 14:40:12 for Canorus by
1.8.3