Canorus 0.0
drawablecontext.h
Go to the documentation of this file.
1
8#ifndef DRAWABLECONTEXT_H_
9#define DRAWABLECONTEXT_H_
10
11#include <QList>
12
13#include "layout/drawable.h"
15
16class CAContext;
17
19public:
25 };
26
27 CADrawableContext(CAContext *c, double x, double y);
28 inline CAContext *context() { return _context; }
30 inline virtual void addMElement(CADrawableMusElement *elt) {
31 int i;
32 for (i=_drawableMusElementList.size()-1; (i>=0) && _drawableMusElementList[i]->xPos()>elt->xPos(); i--);
33 _drawableMusElementList.insert( ++i, elt);
34 }
35 virtual int removeMElement(CADrawableMusElement *elt) { return _drawableMusElementList.removeAll(elt); }
37 virtual CADrawableContext* clone() = 0;
38 QList<CADrawableMusElement*>& drawableMusElementList() { return _drawableMusElementList; }
39
41 for (int i=0; i<_drawableMusElementList.size(); i++)
42 if (_drawableMusElementList[i]->musElement()==elt)
44 return 0;
45 }
46
47 QList<CADrawableMusElement*> findInRange( double x1, double x2 );
48
49protected:
51
54 QList<CADrawableMusElement *> _drawableMusElementList; // List of all the drawable musElements in this context sorted by their left borders
55};
56
57#endif /* DRAWABLECONTEXT_H_ */
Line of music elements in the sheet.
Definition: context.h:16
Definition: drawablecontext.h:18
CAContext * context()
Definition: drawablecontext.h:28
QList< CADrawableMusElement * > _drawableMusElementList
Definition: drawablecontext.h:54
virtual void addMElement(CADrawableMusElement *elt)
Definition: drawablecontext.h:30
CAContext * _context
Definition: drawablecontext.h:53
virtual int removeMElement(CADrawableMusElement *elt)
Definition: drawablecontext.h:35
CADrawableContextType
Definition: drawablecontext.h:20
@ DrawableStaff
Definition: drawablecontext.h:21
@ DrawableFunctionMarkContext
Definition: drawablecontext.h:24
@ DrawableLyricsContext
Definition: drawablecontext.h:22
@ DrawableFiguredBassContext
Definition: drawablecontext.h:23
QList< CADrawableMusElement * > & drawableMusElementList()
Definition: drawablecontext.h:38
CADrawableContext(CAContext *c, double x, double y)
Definition: drawablecontext.cpp:10
virtual CADrawableContext * clone()=0
CADrawableContextType drawableContextType()
Definition: drawablecontext.h:29
QList< CADrawableMusElement * > findInRange(double x1, double x2)
Definition: drawablecontext.cpp:22
CADrawableContextType _drawableContextType
Definition: drawablecontext.h:52
CADrawableMusElement * findMElement(CAMusElement *elt)
Definition: drawablecontext.h:40
void setDrawableContextType(CADrawableContextType type)
Definition: drawablecontext.h:50
CADrawableMusElement * lastDrawableMusElement()
Definition: drawablecontext.h:36
Definition: drawablemuselement.h:16
Definition: drawable.h:27
double xPos() const
Definition: drawable.h:55
An abstract class which represents every music element in the score.
Definition: muselement.h:21