Canorus 0.0
scoreview.h
Go to the documentation of this file.
1
8#ifndef SCOREVIEW_H_
9#define SCOREVIEW_H_
10
11#include <QList>
12#include <QPen>
13#include <QBrush>
14#include <QRect>
15#include <QLineEdit>
16#include <QTimer>
17#include <QMultiMap>
18
19#include "widgets/view.h"
20#include "layout/kdtree.h"
21#include "score/note.h"
22
23class QScrollBar;
24class QMouseEvent;
25class QWheelEvent;
26class QTimer;
27class QGridLayout;
28
29class CADrawable;
32class CADrawableNote;
34class CAMusElement;
35class CAContext;
36class CASheet;
37class CAStaff;
38class CALyricsContext;
40
41class CATextEdit : public QLineEdit {
42Q_OBJECT
43
44public:
45 CATextEdit( QWidget *parent=0 );
47
48signals:
49 void CAKeyPressEvent( QKeyEvent * );
50
51public slots:
52 void keyPressEvent( QKeyEvent * );
53};
54
55class CAScoreView : public CAView {
56Q_OBJECT
57
58public:
63 };
64
66 // Basic methods //
68 CAScoreView(QWidget *parent=0);
69 CAScoreView(CASheet *sheet, QWidget *parent=0);
70 virtual ~CAScoreView();
72 CAScoreView *clone(QWidget *parent);
73 inline CASheet *sheet() { return _sheet; }
74 inline void setSheet( CASheet *sheet ) { _sheet = sheet; }
75
77 // Addition, removal of drawable elements //
79 void addMElement(CADrawableMusElement *elt, bool select=false);
80 void addCElement(CADrawableContext *elt, bool select=false);
82
84
86 // Selection //
88 inline const QList<CADrawableMusElement*>& selection() { return _selection; };
89 QList<CAMusElement*> musElementSelection();
90 QList<CADrawableMusElement*> musElementsAt(double x, double y);
91 CADrawableContext *selectCElement(double x, double y);
94 inline QPoint lastMousePressCoords() { return _lastMousePressCoords; }
95 void setLastMousePressCoordsAfter(const QList<CAMusElement*> list);
96
99
100 void selectAll();
101 void selectAllCurBar();
102 void selectAllCurContext();
103 void invertSelection();
104 inline void clearSelection() { _selection.clear(); emit selectionChanged(); }
105 inline bool removeFromSelection(CADrawableMusElement *elt) { return _selection.removeAll(elt); emit selectionChanged(); }
106
107 void addToSelection(CADrawableMusElement *elt, bool triggerSignal=true );
108 void addToSelection( const QList<CADrawableMusElement*> list, bool selectableOnly=true );
110 void addToSelection(const QList<CAMusElement *> elts);
111
112 CADrawableMusElement* selectNextMusElement( bool append=false );
113 CADrawableMusElement* selectPrevMusElement( bool append=false );
116
117 inline const QList<QRect> &selectionRegionList() const { return _selectionRegionList; }
118 inline void addSelectionRegion(QRect r) { _selectionRegionList << r; }
119 inline void removeSelectionRegion(QRect r) { _selectionRegionList.removeAll(r); }
122 bool mouseDragActivated();
123
125 // Music elements and contexts query, space calculation and access //
129 QList<CADrawableContext*> findContextsInRegion(QRect &reg);
130 CADrawableMusElement *nearestLeftElement(double x, double y, CADrawableContext* context=0);
131 CADrawableMusElement *nearestLeftElement(double x, double y, CAVoice *voice);
132 CADrawableMusElement *nearestRightElement(double x, double y, CADrawableContext* context=0);
133 CADrawableMusElement *nearestRightElement(double x, double y, CAVoice *voice);
134 int coordsToTime( double x );
135 double timeToCoords( int time );
136 double timeToCoordsSimpleVersion( int time );
137 static bool musElementTimeLessThan(const CAMusElement* a, const int b);
138 static bool timeMusElementLessThan(const int a, const CAMusElement* b);
139
140 CADrawableContext *nearestUpContext(double x, double y);
141 CADrawableContext *nearestDownContext(double x, double y);
142
143 int calculateTime(double x, double y);
144 QMap<int, CADrawableBarline*> computeBarlinePositions(bool dotted=false);
145
146 CAContext *contextCollision(double x, double y);
147
149 // Scrollbars //
151 inline void setManualScroll(bool scroll) { _allowManualScroll = scroll; }
152 inline bool manualScroll() { return _allowManualScroll; }
153
154 void checkScrollBars();
155
158
160 // Scene appearance, properties and actions //
162 void rebuild();
163 void setMouseTracking(bool); // reimplemented!
164 inline const int drawableWidth() { return _canvas->width(); }
165 inline const int drawableHeight() { return _canvas->height(); }
166
167 void setWorldX(double x, bool animate=false, bool force=false);
168 void setWorldY(double y, bool animate=false, bool force=false);
169 void setWorldWidth(double w, bool force=false);
170 void setWorldHeight(double h, bool force=false);
171
172 inline const double worldX() { return _worldX; }
173 inline const double worldY() { return _worldY; }
174 inline const double worldWidth() { return _worldW; }
175 inline const double worldHeight() { return _worldH; }
176 inline const QRectF worldCoords() { return QRectF(worldX(), worldY(), worldWidth(), worldHeight()); }
177
178 inline const float zoom() { return _zoom; }
179
180 void setWorldCoords(const QRectF r, bool animate=false, bool force=false);
181 void setWorldCoords(double x, double y, double w, double h, bool animate=false, bool force=false) { setWorldCoords( QRect(x,y,w,h), animate, force); }
182
183 void setCenterCoords(double x, double y, bool animate=false, bool force=false);
184
185 void setZoom(float z, double x=0, double y=0, bool animate=false, bool force = false);
186 void setZoom(float z, QPoint p, bool animate=false, bool force = false) { setZoom(z, p.x(), p.y(), animate, force); }
187
188 void zoomToSelection(bool animate=false, bool force=false);
189 void zoomToWidth(bool animate=false, bool force=false);
190 void zoomToHeight(bool animate=false, bool force=false);
191 void zoomToFit(bool animate=false, bool force=false);
192
193 bool grabTabKey() { return _grabTabKey; }
194 void setGrabTabKey( bool g ) { _grabTabKey = g; }
195
196 void setBorder(const QPen pen);
197 void unsetBorder();
198 inline QPen border() { return _borderPen; }
199 inline QColor backgroundColor() { return _backgroundColor; }
200 inline void setBackgroundColor( const QColor c ) { _backgroundColor = c; }
201 inline QColor foregroundColor() { return _foregroundColor; }
202 inline void setForegroundColor( const QColor c ) { _foregroundColor = c; }
203 inline QColor selectionColor() { return _selectionColor; }
204 inline void setSelectionColor( const QColor c ) { _selectionColor = c; }
205 inline QColor selectionAreaColor() { return _selectionAreaColor; }
206 inline void setSelectionAreaColor( const QColor c ) { _selectionAreaColor = c; }
207 inline QColor selectedContextColor() { return _selectedContextColor; }
208 inline void setSelectedContextColor( const QColor c ) { _selectedContextColor = c; }
209 inline QColor hiddenElementsColor() { return _hiddenElementsColor; }
210 inline void setHiddenElementsColor( const QColor c ) { _hiddenElementsColor = c; }
212 inline void setDisabledElementsColor( const QColor c ) { _disabledElementsColor = c; }
213
214 inline bool playing() { return _playing; }
215 inline void setPlaying(bool playing) { _playing = playing; }
216
217 inline void setRepaintArea(QRect *area) { _repaintArea = area; }
218 inline void clearRepaintArea() { if (_repaintArea) delete _repaintArea; _repaintArea=0; }
219
222
223 inline bool shadowNoteVisible() { return _shadowNoteVisible; }
224 inline void setShadowNoteVisible(bool visible) { _shadowNoteVisible = visible; setShadowNoteVisibleOnLeave(visible); }
225
226 inline bool drawShadowNoteAccs() { return _drawShadowNoteAccs; }
227 inline void setDrawShadowNoteAccs(bool draw) { _drawShadowNoteAccs = draw; }
228
229 inline int shadowNoteAccs() { return _shadowNoteAccs; }
230 inline void setShadowNoteAccs(int accs) { _shadowNoteAccs = accs; }
231
233
235 inline CATextEdit *textEdit() { return _textEdit; }
236 void removeTextEdit();
237 inline bool textEditVisible() { return _textEditVisible; }
238
240 void setNoteNameVisible( bool v ) { _noteNameVisible = v; }
241
242 QString noteName() { return _noteName; }
243 void setNoteName( QString n ) { _noteName = n; }
244
245 void updateHelpers(); // method for updating shadow notes, syllable edits and other post-engrave elements coordinates and sizes when zoom level is changed etc.
246
247private slots:
248 void mousePressEvent(QMouseEvent *e);
249 void mouseMoveEvent(QMouseEvent *e);
250 void mouseReleaseEvent(QMouseEvent *e);
251 void wheelEvent(QWheelEvent *e);
252 void keyPressEvent(QKeyEvent *e);
253
254 void HScrollBarEvent(int val);
255 void VScrollBarEvent(int val);
256
257 void resizeEvent(QResizeEvent *e);
258 void paintEvent(QPaintEvent *p);
259 void leaveEvent(QEvent *e);
260 void enterEvent(QEvent *e);
263
264signals:
265 void CATripleClickEvent( QMouseEvent *e, QPoint p );
266 void CADoubleClickEvent( QMouseEvent *e, QPoint p );
267 void CAMousePressEvent( QMouseEvent *e, QPoint p );
268 void CAMouseReleaseEvent( QMouseEvent *e, QPoint p );
269 void CAMouseMoveEvent( QMouseEvent *e, QPoint p );
270 void CAWheelEvent( QWheelEvent *e, QPoint p );
271 void CAKeyPressEvent( QKeyEvent *e );
273
274protected:
275 bool event( QEvent *event );
276
277private:
278 void initScoreView( CASheet *s );
279 inline void clearMElements() { _drawableMList.clear(true); }
280 inline void clearCElements() { _drawableCList.clear(true); }
281 inline bool isSelected(CADrawableMusElement *elt) { return (_selection.contains(elt)); }
282
284 // Core Widgets //
286 QGridLayout *_layout; // Grid layout for placing the scrollbars at the right and the bottom.
287 QWidget *_canvas; // Virtual canvas which represents the size of the drawable area. All its signals are forwarded to CAView.
288 QScrollBar *_hScrollBar, *_vScrollBar; // Horizontal/vertical scrollbars
289
291 // General properties //
293 CAKDTree<CADrawableMusElement*> _drawableMList; // The list of music elements stored in a tree for faster lookup and other operations. Every view has its own list of drawable elements and drawable objects themselves!
294 CAKDTree<CADrawableContext*> _drawableCList; // The list of context drawable elements (staffs, lyrics etc.). Every view has its own list of drawable elements and drawable objects themselves!
295 CAKDTree<CADrawableNoteCheckerError*> _drawableNCEList; // The list of drawable note checker errors
296 QMultiMap<void*, CADrawable*> _mapDrawable; // Mapping of all music elements/contexts in the score -> drawable elements on canvas
297 CASheet *_sheet; // Pointer to the CASheet which the view represents.
298
299 QList<CADrawableMusElement *> _selection; // The set of elements being selected.
300 CADrawableContext *_currentContext; // The pointer to the currently active context (staff, lyrics).
301
302 static const int RIGHT_EXTRA_SPACE; // Extra space at the right end to insert new music
303 static const int BOTTOM_EXTRA_SPACE; // Extra space at the bottom end to insert new music
304 static const int RULER_HEIGHT; // Ruler height in pixels
305 template <typename T> double getMaxXExtended(CAKDTree<T> &v); // Make the viewable World a little bigger (stuffed) to make inserting at the end easier
306 template <typename T> double getMaxYExtended(CAKDTree<T> &v); // Make the viewable World a little bigger (stuffed) to make inserting below easies
307
308 double _worldX, _worldY, _worldW, _worldH; // Absolute world coordinates of the area the view is currently showing.
309 QPoint _lastMousePressCoords; // Used in multiple selection - coordinates of the upper-left point of the rectangle the user drags in world coordinates
310 inline void setLastMousePressCoords( QPoint p ) { _lastMousePressCoords = p; }
311 float _zoom; // Zoom level of the view (1.0 = 100%, 1.5 = 150% etc.).
312
313 CAVoice *_selectedVoice; // Voice to be drawn normal colors, others are shaded
314
316 // Helpers //
318 // Shadow note
319 bool _shadowNoteVisible; // Should the shadow notes be rendered or not
320
321 bool _shadowNoteVisibleOnLeave; // When you leave the view, shadow note is always turned off. This property holds the value, if shadow note was enabled before you left the view.
324
325 int _shadowNoteAccs; // Number of accidentals - 0 - natural, 1 - sharp, -1 flat
326 bool _drawShadowNoteAccs; // Draw shadow note accs?
327 QList<CANote*> _shadowNote; // List of all shadow notes - one shadow note per drawable staff
328 QList<CADrawableNote*> _shadowDrawableNote; // List of drawable shadow notes
329
330 // QLineEdit for editing or creating a lyrics syllable
332 inline void setTextEdit( CATextEdit *e ) { _textEdit = e; }
334 inline QRect textEditGeometry() { return _textEditGeometry; }
335 inline void setTextEditGeometry( const QRect r ) { _textEditGeometry = r; }
337 inline void setTextEditVisible(bool v) { _textEditVisible = v; }
339 CADrawable::CADirection _resizeDirection; // Is the current scalable music element in drag-drop resizing mode?
340
341 // Selection regions
343 void drawSelectionRegion( QPainter *p, CADrawSettings s );
344public:
345 static const int SELECTION_REGION_THRESHOLD; // Threshold in px for mouse move until the selection region is activated
346
347private:
349 // Appearance //
351 bool _grabTabKey; // Pass the tab key to keyPressEvent() or treat it like the next item key
352 bool _drawBorder; // Should the border be drawn or not.
353 QRect *_repaintArea; // Area to be repainted on paintEvent().
354 QPen _borderPen; // Pen which the border is drawn by.
355 QColor _backgroundColor; // Color which the background is filled.
356 QColor _foregroundColor; // Color which the music elements are painted.
357 QColor _selectionColor; // Color which the selected music elements are painted.
358 QColor _selectionAreaColor; // Color which the selection area background is filled.
359 QColor _selectedContextColor; // Color which the current context is painted.
360 QColor _disabledElementsColor; // Color which the elements in non-selected voice are painted.
361 QColor _hiddenElementsColor; // Color which the invisible elements are painted in current-voice-only mode.
362 bool _noteNameVisible; // Is the written note name visible
363 QString _noteName; // Name of the note to be inserted. eg. c', Des,
364
366 // Animation //
368 QTimer *_animationTimer; // Timer used to animate scroll/zoom behaviour.
369 static const int ANIMATION_STEPS; // Number of steps used in animation
370 int _animationStep; // Current step in the animation
371 double _targetWorldX, _targetWorldY, _targetWorldW, _targetWorldH; // Absolute world coordinates of the area the view is currently showing.
372 float _targetZoom; // Zoom level of the view (1.0 = 100%, 1.5 = 150% etc.).
373
374 void startAnimationTimer();
375
377 // Widgets behaviour //
379 CAScrollBarVisibility _scrollBarVisible; // Are the scrollbars always visible/never/if needed. Use CAView::ScrollBarAlwaysVisible, CAView::ScrollBarAlwaysHidden or CAView::ScrollBarShowIfNeeded.
380 bool _allowManualScroll; // Does the scrollbars actually react on user actions - sometimes we only want the scrollbars to show the current location of the score and don't do anything
381
383 // Internal properties //
385 double _oldWorldX, _oldWorldY, _oldWorldW, _oldWorldH; // Old coordinates used before the repaint. This is needed so only the new part of the view gets repainted when panning.
386 bool _playing; // Set to on, when in Playback mode
387 QTimer *_clickTimer; // Used for measuring doubleClick and tripleClick
388 int _numberOfClicks; // Used for measuring doubleClick and tripleClick
389
390 double _xCursor, _yCursor; // Mouse cursor position in absolute world coords.
391 bool _holdRepaint; // Flag to prevent multiple repaintings.
392 bool _checkScrollBarsDeadLock; // Flag to prevent recursive checkScrollBars() calls.
393 bool _hScrollBarDeadLock; // Flag to prevent recursive scrollbar calls when its value is manually changed.
394 bool _vScrollBarDeadLock; // Flag to prevent recursive scrollbar calls when its value is manually changed.
395};
396
397#endif /*SCOREVIEW_H_*/
Line of music elements in the sheet.
Definition: context.h:16
Definition: drawablebarline.h:16
Definition: drawablecontext.h:18
Definition: drawablemuselement.h:16
Definition: drawablenotecheckererror.h:15
Definition: drawablenote.h:17
Definition: drawable.h:27
CADirection
Definition: drawable.h:34
void clear(bool autoDelete=true)
Definition: kdtree.h:104
One stanza line of lyrics.
Definition: lyricscontext.h:19
An abstract class which represents every music element in the score.
Definition: muselement.h:21
Musical length of notes and rests.
Definition: playablelength.h:16
Definition: scoreview.h:55
QWidget * _canvas
Definition: scoreview.h:287
void setTextEditGeometry(const QRect r)
Definition: scoreview.h:335
int _animationStep
Definition: scoreview.h:370
QColor disabledElementsColor()
Definition: scoreview.h:211
CADrawableMusElement * findMElement(CAMusElement *)
Definition: scoreview.cpp:1654
QColor hiddenElementsColor()
Definition: scoreview.h:209
CADrawableContext * findCElement(CAContext *)
Definition: scoreview.cpp:1667
static bool musElementTimeLessThan(const CAMusElement *a, const int b)
Definition: scoreview.cpp:1788
void leaveEvent(QEvent *e)
Definition: scoreview.cpp:1430
bool mouseDragActivated()
Definition: scoreview.cpp:1365
QRect * _repaintArea
Definition: scoreview.h:353
double _targetWorldH
Definition: scoreview.h:371
void mousePressEvent(QMouseEvent *e)
Definition: scoreview.cpp:1268
void CAWheelEvent(QWheelEvent *e, QPoint p)
void zoomToSelection(bool animate=false, bool force=false)
Definition: scoreview.cpp:794
void zoomToWidth(bool animate=false, bool force=false)
Definition: scoreview.cpp:816
void HScrollBarEvent(int val)
Definition: scoreview.cpp:1412
CAScoreView * clone()
Definition: scoreview.cpp:244
QList< CANote * > _shadowNote
Definition: scoreview.h:327
bool _checkScrollBarsDeadLock
Definition: scoreview.h:392
void setWorldWidth(double w, bool force=false)
Definition: scoreview.cpp:694
QRect textEditGeometry()
Definition: scoreview.h:334
CAVoice * _selectedVoice
Definition: scoreview.h:313
const QList< QRect > & selectionRegionList() const
Definition: scoreview.h:117
void CAKeyPressEvent(QKeyEvent *e)
void setWorldHeight(double h, bool force=false)
Definition: scoreview.cpp:724
void setWorldX(double x, bool animate=false, bool force=false)
Definition: scoreview.cpp:628
void clearRepaintArea()
Definition: scoreview.h:218
double _worldH
Definition: scoreview.h:308
QPen border()
Definition: scoreview.h:198
void setGrabTabKey(bool g)
Definition: scoreview.h:194
bool _holdRepaint
Definition: scoreview.h:391
static const int SELECTION_REGION_THRESHOLD
Definition: scoreview.h:345
void setRepaintArea(QRect *area)
Definition: scoreview.h:217
void clearMElements()
Definition: scoreview.h:279
QPoint _lastMousePressCoords
Definition: scoreview.h:309
int calculateTime(double x, double y)
Definition: scoreview.cpp:494
CADrawableMusElement * selectDownMusElement()
Definition: scoreview.cpp:1521
bool _shadowNoteVisible
Definition: scoreview.h:319
static bool timeMusElementLessThan(const int a, const CAMusElement *b)
Definition: scoreview.cpp:1797
void importElements(CAKDTree< CADrawableMusElement * > *drawableMList, CAKDTree< CADrawableContext * > *drawableCList)
Definition: scoreview.cpp:415
void setLastMousePressCoordsAfter(const QList< CAMusElement * > list)
Definition: scoreview.cpp:334
void setManualScroll(bool scroll)
Definition: scoreview.h:151
QPoint lastMousePressCoords()
Definition: scoreview.h:94
CADrawableMusElement * selectNextMusElement(bool append=false)
Definition: scoreview.cpp:1455
bool noteNameVisible()
Definition: scoreview.h:239
CAScrollBarVisibility
Definition: scoreview.h:59
@ ScrollBarAlwaysVisible
Definition: scoreview.h:60
@ ScrollBarShowIfNeeded
Definition: scoreview.h:62
@ ScrollBarAlwaysHidden
Definition: scoreview.h:61
CADrawableMusElement * nearestLeftElement(double x, double y, CADrawableContext *context=0)
Definition: scoreview.cpp:444
double _worldY
Definition: scoreview.h:308
void CATripleClickEvent(QMouseEvent *e, QPoint p)
double getMaxYExtended(CAKDTree< T > &v)
Definition: scoreview.cpp:1740
double _oldWorldX
Definition: scoreview.h:385
void updateHelpers()
Definition: scoreview.cpp:1144
CATextEdit * textEdit()
Definition: scoreview.h:235
void setHiddenElementsColor(const QColor c)
Definition: scoreview.h:210
double _oldWorldW
Definition: scoreview.h:385
void selectionChanged()
bool grabTabKey()
Definition: scoreview.h:193
CADrawableContext * currentContext()
Definition: scoreview.h:97
bool manualScroll()
Definition: scoreview.h:152
bool _allowManualScroll
Definition: scoreview.h:380
CADrawableContext * _currentContext
Definition: scoreview.h:300
double timeToCoords(int time)
Definition: scoreview.cpp:1833
QMap< int, CADrawableBarline * > computeBarlinePositions(bool dotted=false)
Definition: scoreview.cpp:515
void clearSelection()
Definition: scoreview.h:104
CATextEdit * createTextEdit(CADrawableMusElement *elt)
Definition: scoreview.cpp:1681
void setSelectionAreaColor(const QColor c)
Definition: scoreview.h:206
void VScrollBarEvent(int val)
Definition: scoreview.cpp:1423
const int drawableWidth()
Definition: scoreview.h:164
bool _grabTabKey
Definition: scoreview.h:351
QScrollBar * _vScrollBar
Definition: scoreview.h:288
bool shadowNoteVisible()
Definition: scoreview.h:223
QColor _selectionColor
Definition: scoreview.h:357
void setSelectedVoice(CAVoice *selectedVoice)
Definition: scoreview.h:221
void CAMouseMoveEvent(QMouseEvent *e, QPoint p)
QColor selectedContextColor()
Definition: scoreview.h:207
bool _noteNameVisible
Definition: scoreview.h:362
QColor _disabledElementsColor
Definition: scoreview.h:360
void selectAll()
Definition: scoreview.cpp:1586
void selectAllCurContext()
Definition: scoreview.cpp:1623
bool _textEditVisible
Definition: scoreview.h:336
QColor _foregroundColor
Definition: scoreview.h:356
void unsetBorder()
Definition: scoreview.cpp:1194
bool _vScrollBarDeadLock
Definition: scoreview.h:394
void setCenterCoords(double x, double y, bool animate=false, bool force=false)
Definition: scoreview.cpp:839
int shadowNoteAccs()
Definition: scoreview.h:229
bool drawShadowNoteAccs()
Definition: scoreview.h:226
void setZoom(float z, QPoint p, bool animate=false, bool force=false)
Definition: scoreview.h:186
CADrawableContext * nearestDownContext(double x, double y)
Definition: scoreview.cpp:487
void setDisabledElementsColor(const QColor c)
Definition: scoreview.h:212
QTimer * _clickTimer
Definition: scoreview.h:387
void setTextEditVisible(bool v)
Definition: scoreview.h:337
void addSelectionRegion(QRect r)
Definition: scoreview.h:118
void setShadowNoteLength(CAPlayableLength)
Definition: scoreview.cpp:1878
double _worldX
Definition: scoreview.h:308
QGridLayout * _layout
Definition: scoreview.h:286
void setLastMousePressCoords(QPoint p)
Definition: scoreview.h:310
void CADoubleClickEvent(QMouseEvent *e, QPoint p)
QTimer * _animationTimer
Definition: scoreview.h:368
void setPlaying(bool playing)
Definition: scoreview.h:215
bool removeFromSelection(CADrawableMusElement *elt)
Definition: scoreview.h:105
void addCElement(CADrawableContext *elt, bool select=false)
Definition: scoreview.cpp:283
void addMElement(CADrawableMusElement *elt, bool select=false)
Definition: scoreview.cpp:268
void addToSelection(CADrawableMusElement *elt, bool triggerSignal=true)
Definition: scoreview.cpp:1531
QScrollBar * _hScrollBar
Definition: scoreview.h:288
const QRectF worldCoords()
Definition: scoreview.h:176
void setNoteNameVisible(bool v)
Definition: scoreview.h:240
QList< CADrawableMusElement * > _selection
Definition: scoreview.h:299
float _targetZoom
Definition: scoreview.h:372
void setScrollBarVisible(CAScrollBarVisibility status)
Definition: scoreview.cpp:1390
void setCurrentContext(CADrawableContext *c)
Definition: scoreview.h:98
bool _drawShadowNoteAccs
Definition: scoreview.h:326
void setShadowNoteAccs(int accs)
Definition: scoreview.h:230
float _zoom
Definition: scoreview.h:311
QList< CADrawableNote * > _shadowDrawableNote
Definition: scoreview.h:328
bool playing()
Definition: scoreview.h:214
QColor selectionColor()
Definition: scoreview.h:203
CADrawableMusElement * selectUpMusElement()
Definition: scoreview.cpp:1507
QColor foregroundColor()
Definition: scoreview.h:201
CAKDTree< CADrawableNoteCheckerError * > _drawableNCEList
Definition: scoreview.h:295
CADrawableMusElement * selectPrevMusElement(bool append=false)
Definition: scoreview.cpp:1481
void setTextEdit(CATextEdit *e)
Definition: scoreview.h:332
QColor _selectedContextColor
Definition: scoreview.h:359
static const int RIGHT_EXTRA_SPACE
Definition: scoreview.h:302
int _shadowNoteAccs
Definition: scoreview.h:325
CAScrollBarVisibility _scrollBarVisible
Definition: scoreview.h:379
void setBorder(const QPen pen)
Definition: scoreview.cpp:1186
void setSelectionColor(const QColor c)
Definition: scoreview.h:204
QMultiMap< void *, CADrawable * > _mapDrawable
Definition: scoreview.h:296
void setZoom(float z, double x=0, double y=0, bool animate=false, bool force=false)
Definition: scoreview.cpp:858
CATextEdit * _textEdit
Definition: scoreview.h:331
void setShadowNoteVisible(bool visible)
Definition: scoreview.h:224
bool _shadowNoteVisibleOnLeave
Definition: scoreview.h:321
void setForegroundColor(const QColor c)
Definition: scoreview.h:202
CASheet * sheet()
Definition: scoreview.h:73
CADrawableContext * selectCElement(double x, double y)
Definition: scoreview.cpp:353
void resizeEvent(QResizeEvent *e)
Definition: scoreview.cpp:1202
void on_clickTimer_timeout()
Definition: scoreview.cpp:1310
virtual ~CAScoreView()
Definition: scoreview.cpp:199
void rebuild()
Definition: scoreview.cpp:579
void setNoteName(QString n)
Definition: scoreview.h:243
QString noteName()
Definition: scoreview.h:242
bool event(QEvent *event)
Definition: scoreview.cpp:1253
static const int ANIMATION_STEPS
Definition: scoreview.h:369
void wheelEvent(QWheelEvent *e)
Definition: scoreview.cpp:1373
double _oldWorldH
Definition: scoreview.h:385
void setShadowNoteVisibleOnLeave(bool v)
Definition: scoreview.h:323
CADrawable::CADirection resizeDirection()
Definition: scoreview.h:121
QList< CADrawableContext * > findContextsInRegion(QRect &reg)
Definition: scoreview.cpp:1751
CADrawable::CADirection _resizeDirection
Definition: scoreview.h:339
QColor backgroundColor()
Definition: scoreview.h:199
double getMaxXExtended(CAKDTree< T > &v)
Definition: scoreview.cpp:1732
const float zoom()
Definition: scoreview.h:178
void invertSelection()
Definition: scoreview.cpp:1637
void zoomToHeight(bool animate=false, bool force=false)
Definition: scoreview.cpp:821
const double worldHeight()
Definition: scoreview.h:175
CAScoreView(QWidget *parent=0)
Definition: scoreview.cpp:113
void enterEvent(QEvent *e)
Definition: scoreview.cpp:1436
QPen _borderPen
Definition: scoreview.h:354
void keyPressEvent(QKeyEvent *e)
Definition: scoreview.cpp:1386
void zoomToFit(bool animate=false, bool force=false)
Definition: scoreview.cpp:826
CAVoice * selectedVoice()
Definition: scoreview.h:220
static const int RULER_HEIGHT
Definition: scoreview.h:304
QColor _hiddenElementsColor
Definition: scoreview.h:361
const double worldY()
Definition: scoreview.h:173
CADrawableMusElement * selectMElement(CAMusElement *elt)
Definition: scoreview.cpp:388
double _worldW
Definition: scoreview.h:308
void removeSelectionRegion(QRect r)
Definition: scoreview.h:119
static const int BOTTOM_EXTRA_SPACE
Definition: scoreview.h:303
QString _noteName
Definition: scoreview.h:363
void setSelectedContextColor(const QColor c)
Definition: scoreview.h:208
bool _playing
Definition: scoreview.h:386
double timeToCoordsSimpleVersion(int time)
Definition: scoreview.cpp:1807
double _targetWorldW
Definition: scoreview.h:371
const double worldX()
Definition: scoreview.h:172
void selectAllCurBar()
Definition: scoreview.cpp:1600
CAScrollBarVisibility isScrollBarVisible()
Definition: scoreview.h:156
const int drawableHeight()
Definition: scoreview.h:165
bool _hScrollBarDeadLock
Definition: scoreview.h:393
void setResizeDirection(CADrawable::CADirection r)
Definition: scoreview.h:338
const double worldWidth()
Definition: scoreview.h:174
QColor _backgroundColor
Definition: scoreview.h:355
void initScoreView(CASheet *s)
Definition: scoreview.cpp:118
void mouseMoveEvent(QMouseEvent *e)
Definition: scoreview.cpp:1327
void on_animationTimer_timeout()
Definition: scoreview.cpp:218
void clearCElements()
Definition: scoreview.h:280
void startAnimationTimer()
Definition: scoreview.cpp:1441
int _numberOfClicks
Definition: scoreview.h:388
double _targetWorldX
Definition: scoreview.h:371
QColor _selectionAreaColor
Definition: scoreview.h:358
void drawSelectionRegion(QPainter *p, CADrawSettings s)
Definition: scoreview.cpp:1178
void clearSelectionRegionList()
Definition: scoreview.h:120
QList< QRect > _selectionRegionList
Definition: scoreview.h:342
void CAMouseReleaseEvent(QMouseEvent *e, QPoint p)
void CAMousePressEvent(QMouseEvent *e, QPoint p)
QRect _textEditGeometry
Definition: scoreview.h:333
QList< CADrawableMusElement * > musElementsAt(double x, double y)
Definition: scoreview.cpp:371
CASheet * _sheet
Definition: scoreview.h:297
double _yCursor
Definition: scoreview.h:390
void addDrawableNoteCheckerError(CADrawableNoteCheckerError *dnce)
Definition: scoreview.cpp:300
CAContext * contextCollision(double x, double y)
Definition: scoreview.cpp:565
CAKDTree< CADrawableContext * > _drawableCList
Definition: scoreview.h:294
double _targetWorldY
Definition: scoreview.h:371
CADrawableMusElement * nearestRightElement(double x, double y, CADrawableContext *context=0)
Definition: scoreview.cpp:462
CADrawableContext * nearestUpContext(double x, double y)
Definition: scoreview.cpp:479
void setWorldCoords(double x, double y, double w, double h, bool animate=false, bool force=false)
Definition: scoreview.h:181
bool _drawBorder
Definition: scoreview.h:352
void mouseReleaseEvent(QMouseEvent *e)
Definition: scoreview.cpp:1318
void removeTextEdit()
Definition: scoreview.cpp:1721
bool textEditVisible()
Definition: scoreview.h:237
void setWorldCoords(const QRectF r, bool animate=false, bool force=false)
Definition: scoreview.cpp:754
double _xCursor
Definition: scoreview.h:390
QList< CAMusElement * > musElementSelection()
Definition: scoreview.cpp:1890
QColor selectionAreaColor()
Definition: scoreview.h:205
CAKDTree< CADrawableMusElement * > _drawableMList
Definition: scoreview.h:293
void setSheet(CASheet *sheet)
Definition: scoreview.h:74
int coordsToTime(double x)
Definition: scoreview.cpp:1760
void setMouseTracking(bool)
Definition: scoreview.cpp:239
void setWorldY(double y, bool animate=false, bool force=false)
Definition: scoreview.cpp:661
bool isSelected(CADrawableMusElement *elt)
Definition: scoreview.h:281
bool shadowNoteVisibleOnLeave()
Definition: scoreview.h:322
double _oldWorldY
Definition: scoreview.h:385
void paintEvent(QPaintEvent *p)
Definition: scoreview.cpp:918
void setDrawShadowNoteAccs(bool draw)
Definition: scoreview.h:227
void checkScrollBars()
Definition: scoreview.cpp:1212
void setBackgroundColor(const QColor c)
Definition: scoreview.h:200
CADrawableContext * selectContext(CAContext *context)
Definition: scoreview.cpp:313
const QList< CADrawableMusElement * > & selection()
Definition: scoreview.h:88
Represents a single sheet of paper in the document.
Definition: sheet.h:22
Represents a staff in the sheet.
Definition: staff.h:25
A text edit widget based on QLineEdit.
Definition: scoreview.h:41
void CAKeyPressEvent(QKeyEvent *)
~CATextEdit()
Definition: scoreview.cpp:74
CATextEdit(QWidget *parent=0)
Definition: scoreview.cpp:70
void keyPressEvent(QKeyEvent *)
Definition: scoreview.cpp:77
Base class for various views.
Definition: view.h:15
Class which represents a voice in the staff.
Definition: voice.h:23
Definition: drawable.h:16