Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 "drawable/drawable.h"
15 
16 class CAContext;
17 
18 class CADrawableContext : public CADrawable {
19 public:
24  };
25 
26  CADrawableContext(CAContext *c, double x, double y);
27  inline CAContext *context() { return _context; }
29  inline virtual void addMElement(CADrawableMusElement *elt) {
30  int i;
31  for (i=_drawableMusElementList.size()-1; (i>=0) && _drawableMusElementList[i]->xPos()>elt->xPos(); i--);
32  _drawableMusElementList.insert( ++i, elt);
33  }
34  virtual int removeMElement(CADrawableMusElement *elt) { return _drawableMusElementList.removeAll(elt); }
36  virtual CADrawableContext* clone() = 0;
37  QList<CADrawableMusElement*>& drawableMusElementList() { return _drawableMusElementList; }
38 
40  for (int i=0; i<_drawableMusElementList.size(); i++)
41  if (_drawableMusElementList[i]->musElement()==elt)
42  return _drawableMusElementList[i];
43  return 0;
44  }
45 
46  QList<CADrawableMusElement*> findInRange( double x1, double x2 );
47 
48 protected:
50 
53  QList<CADrawableMusElement *> _drawableMusElementList; // List of all the drawable musElements in this context sorted by their left borders
54 };
55 
56 #endif /* DRAWABLECONTEXT_H_ */
CADrawableContextType _drawableContextType
Definition: drawablecontext.h:51
Definition: drawablecontext.h:18
void setDrawableContextType(CADrawableContextType type)
Definition: drawablecontext.h:49
CADrawableMusElement * findMElement(CAMusElement *elt)
Definition: drawablecontext.h:39
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:22
Definition: drawablecontext.h:21
virtual CADrawableContext * clone()=0
virtual int removeMElement(CADrawableMusElement *elt)
Definition: drawablecontext.h:34
Definition: drawablemuselement.h:16
double xPos()
Definition: drawable.h:55
CADrawableContextType
Definition: drawablecontext.h:20
CADrawableMusElement * lastDrawableMusElement()
Definition: drawablecontext.h:35
An abstract class which represents every music element in the score.
Definition: muselement.h:20
CADrawableContextType drawableContextType()
Definition: drawablecontext.h:28
Definition: drawablecontext.h:23
QList< CADrawableMusElement * > & drawableMusElementList()
Definition: drawablecontext.h:37
CAContext * context()
Definition: drawablecontext.h:27
Definition: drawable.h:27
CAContext * _context
Definition: drawablecontext.h:52
QList< CADrawableMusElement * > _drawableMusElementList
Definition: drawablecontext.h:53
virtual void addMElement(CADrawableMusElement *elt)
Definition: drawablecontext.h:29
Line of music elements in the sheet.
Definition: context.h:16