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_ */
CADrawableContext::removeMElement
virtual int removeMElement(CADrawableMusElement *elt)
Definition: drawablecontext.h:35
CADrawableContext::setDrawableContextType
void setDrawableContextType(CADrawableContextType type)
Definition: drawablecontext.h:50
CADrawableMusElement
Definition: drawablemuselement.h:16
CADrawableContext::_drawableContextType
CADrawableContextType _drawableContextType
Definition: drawablecontext.h:52
CADrawable
Definition: drawable.h:27
CADrawable::xPos
double xPos() const
Definition: drawable.h:55
CADrawableContext::context
CAContext * context()
Definition: drawablecontext.h:28
CADrawableContext::DrawableFunctionMarkContext
@ DrawableFunctionMarkContext
Definition: drawablecontext.h:24
CADrawableContext::drawableContextType
CADrawableContextType drawableContextType()
Definition: drawablecontext.h:29
CADrawableContext::DrawableStaff
@ DrawableStaff
Definition: drawablecontext.h:21
CADrawableContext::drawableMusElementList
QList< CADrawableMusElement * > & drawableMusElementList()
Definition: drawablecontext.h:38
CADrawableContext::CADrawableContextType
CADrawableContextType
Definition: drawablecontext.h:20
CADrawableContext::findInRange
QList< CADrawableMusElement * > findInRange(double x1, double x2)
Definition: drawablecontext.cpp:22
drawablemuselement.h
CADrawableContext::DrawableLyricsContext
@ DrawableLyricsContext
Definition: drawablecontext.h:22
CADrawableContext::addMElement
virtual void addMElement(CADrawableMusElement *elt)
Definition: drawablecontext.h:30
CAMusElement
An abstract class which represents every music element in the score.
Definition: muselement.h:21
drawablecontext.h
CADrawableContext::findMElement
CADrawableMusElement * findMElement(CAMusElement *elt)
Definition: drawablecontext.h:40
drawable.h
CADrawable::setDrawableType
void setDrawableType(CADrawableType t)
Definition: drawable.h:83
CADrawableContext::_drawableMusElementList
QList< CADrawableMusElement * > _drawableMusElementList
Definition: drawablecontext.h:54
CADrawable::width
double width() const
Definition: drawable.h:57
CADrawableContext
Definition: drawablecontext.h:18
CADrawable::DrawableContext
@ DrawableContext
Definition: drawable.h:31
CAContext
Line of music elements in the sheet.
Definition: context.h:16
CADrawableContext::DrawableFiguredBassContext
@ DrawableFiguredBassContext
Definition: drawablecontext.h:23
CADrawableContext::_context
CAContext * _context
Definition: drawablecontext.h:53
CADrawableContext::clone
virtual CADrawableContext * clone()=0
CADrawableContext::CADrawableContext
CADrawableContext(CAContext *c, double x, double y)
Definition: drawablecontext.cpp:10
CADrawableContext::lastDrawableMusElement
CADrawableMusElement * lastDrawableMusElement()
Definition: drawablecontext.h:36