diff options
author | Tim E. Real <termtech@rogers.com> | 2013-02-20 01:16:45 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2013-02-20 01:16:45 +0000 |
commit | c3650bf9b2302e1a20853f0cadc7833370e3d0dd (patch) | |
tree | fa1a229b0928290a00f974a14104e385d42c5905 /muse2/muse/midiedit/dcanvas.h | |
parent | 612acc2cd3979edf441d2f33403f6b3403c1cf05 (diff) |
MASSIVE FIXES: MANY editor, usability, operation fixes and changes.
See ChangeLog.
Diffstat (limited to 'muse2/muse/midiedit/dcanvas.h')
-rw-r--r-- | muse2/muse/midiedit/dcanvas.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/muse2/muse/midiedit/dcanvas.h b/muse2/muse/midiedit/dcanvas.h index fb4a5a96..1a1ee546 100644 --- a/muse2/muse/midiedit/dcanvas.h +++ b/muse2/muse/midiedit/dcanvas.h @@ -32,7 +32,6 @@ #define TH 18 - class QResizeEvent; class QDragEnterEvent; class QDropEvent; @@ -109,20 +108,24 @@ class DrumCanvas : public EventCanvas { virtual void drawItem(QPainter&, const CItem*, const QRect&); void drawTopItem(QPainter& p, const QRect& rect); virtual void drawMoving(QPainter&, const CItem*, const QRect&); - virtual MusECore::Undo moveCanvasItems(CItemList&, int, int, DragType); - virtual bool moveItem(MusECore::Undo&, CItem*, const QPoint&, DragType); + virtual MusECore::Undo moveCanvasItems(CItemList&, int, int, DragType, bool rasterize = true); + virtual bool moveItem(MusECore::Undo&, CItem*, const QPoint&, DragType, bool rasterize = true); virtual CItem* newItem(const QPoint&, int); - virtual void resizeItem(CItem*, bool, bool); + virtual void resizeItem(CItem*, bool, bool) { } // Non-virt width is meaningless, such as drums. virtual void newItem(CItem*, bool); virtual void newItem(CItem*, bool, bool replace ); virtual bool deleteItem(CItem*); virtual void itemPressed(const CItem*); virtual void itemReleased(const CItem*, const QPoint&); + virtual void itemMoved(const CItem*, const QPoint&); CItem* newItem(int tick, int instrument, int velocity); + bool index2Note(int index, int* port, int* channel, int* note); int y2pitch(int y) const; int pitch2y(int pitch) const; + inline int y2height(int) const { return TH; } + inline int yItemOffset() const { return -TH/2; } void startDrag(CItem*, bool copymode); void dragEnterEvent(QDragEnterEvent* event); void dragMoveEvent(QDragMoveEvent*); @@ -163,6 +166,7 @@ class DrumCanvas : public EventCanvas { void cmd(int); virtual void modifySelected(NoteInfo::ValType type, int val, bool delta_mode = true); virtual void keyPress(QKeyEvent* event); + virtual void keyRelease(QKeyEvent* event); MusECore::Event *getEventAtCursorPos(); void selectCursorEvent(MusECore::Event *ev); |