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 
16 class CAContext;
17 
18 class CADrawableContext : public CADrawable {
19 public:
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)
43  return _drawableMusElementList[i];
44  return 0;
45  }
46 
47  QList<CADrawableMusElement*> findInRange( double x1, double x2 );
48 
49 protected:
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_ */
CADrawableContextType _drawableContextType
Definition: drawablecontext.h:52
Definition: drawablecontext.h:18
void setDrawableContextType(CADrawableContextType type)
Definition: drawablecontext.h:50
CADrawableMusElement * findMElement(CAMusElement *elt)
Definition: drawablecontext.h:40
QList< CADrawableMusElement * > findInRange(double x1, double x2)
Definition: drawablecontext.cpp:22
CADrawableContext(CAContext *c, double x, double y)
Definition: drawablecontext.cpp:10
Definition: drawablecontext.h:23
Definition: drawablecontext.h:22
Definition: drawablecontext.h:21
virtual CADrawableContext * clone()=0
virtual int removeMElement(CADrawableMusElement *elt)
Definition: drawablecontext.h:35
Definition: drawablemuselement.h:16
CADrawableContextType
Definition: drawablecontext.h:20
CADrawableMusElement * lastDrawableMusElement()
Definition: drawablecontext.h:36
An abstract class which represents every music element in the score.
Definition: muselement.h:21
double xPos() const
Definition: drawable.h:55
CADrawableContextType drawableContextType()
Definition: drawablecontext.h:29
Definition: drawablecontext.h:24
QList< CADrawableMusElement * > & drawableMusElementList()
Definition: drawablecontext.h:38
CAContext * context()
Definition: drawablecontext.h:28
Definition: drawable.h:27
CAContext * _context
Definition: drawablecontext.h:53
QList< CADrawableMusElement * > _drawableMusElementList
Definition: drawablecontext.h:54
virtual void addMElement(CADrawableMusElement *elt)
Definition: drawablecontext.h:30
Line of music elements in the sheet.
Definition: context.h:16