diff options
Diffstat (limited to 'muse_qt4_evolution/muse/midiedit/ecanvas.h')
-rw-r--r-- | muse_qt4_evolution/muse/midiedit/ecanvas.h | 173 |
1 files changed, 0 insertions, 173 deletions
diff --git a/muse_qt4_evolution/muse/midiedit/ecanvas.h b/muse_qt4_evolution/muse/midiedit/ecanvas.h deleted file mode 100644 index f128e5fa..00000000 --- a/muse_qt4_evolution/muse/midiedit/ecanvas.h +++ /dev/null @@ -1,173 +0,0 @@ -//============================================================================= -// MusE -// Linux Music Editor -// $Id:$ -// -// Copyright (C) 2002-2006 by Werner Schweer and others -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License version 2. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -//============================================================================= - -#ifndef __ECANVAS_H__ -#define __ECANVAS_H__ - -#include "al/pos.h" -#include "awl/tcanvas.h" -#include "widgets/noteinfo.h" -#include "citem.h" -#include "ctrl/ctrledit.h" -#include "widgets/tb1.h" - -class MidiTrack; -class MidiEditor; -class MidiEvent; -class Part; -class Event; -class CtrlEdit; - -//--------------------------------------------------------- -// EventCanvas -//--------------------------------------------------------- - -class EventCanvas : public TimeCanvas { - Q_OBJECT - - int startPitch; // on start dragging events - int deltaPitch; - int keyDown; // pressed key on piano keypad (or drum instrument list) - int playedPitch; - - void noteOn(int pitch, int velocity, bool shift); - void noteOff(int pitch); - virtual void layout(); - virtual void magChanged(); - - protected: - enum DragMode { - DRAG_OFF, DRAG_NEW, - DRAG_MOVE_START, DRAG_MOVE, - DRAG_COPY_START, DRAG_COPY, - DRAGX_MOVE, DRAGY_MOVE, - DRAGX_COPY, DRAGY_COPY, - DRAG_DELETE, - DRAG_RESIZE, DRAG_LASSO_START, DRAG_LASSO, - }; - - enum DragType { - MOVE_MOVE, MOVE_COPY - }; - - CtrlEditList ctrlEditList; - MidiEditor* editor; - CItemList items; - CItemList moving; - CItem* curItem; - Part* curPart; - int canvasTools; - int curSplitter; // -1 mouse not in splitter - bool dragSplitter; - int splitterY; - - DragMode drag; - QRect lasso; - QPoint start; - QMenu* itemPopupMenu; - QMenu* canvasPopupMenu; - - unsigned startTick, endTick; - int curVelo; - - virtual void mousePress(QMouseEvent*); - virtual void mouseDoubleClick(QMouseEvent*); - virtual void mouseMove(QPoint); - virtual void enterB(); - virtual void leaveB(); - virtual void mouseRelease(QMouseEvent*); - void layoutPanelB(CtrlEdit* c); - - void updateSelection(); - virtual CItem* searchItem(const QPoint& p) const = 0; - virtual void addItem(Part*, const Event&) = 0; - virtual void moveItem(CItem*, DragType) = 0; - virtual CItem* newItem(const QPoint&, int state) = 0; - virtual void newItem(CItem*, bool noSnap=false) = 0; - virtual bool deleteItem(CItem*) = 0; - virtual void resizeItem(CItem*, bool noSnap=false) = 0; - - virtual void startDrag(CItem*, bool) {} - virtual QMenu* genItemPopup(CItem*) { return 0; } - virtual void itemPopup(CItem*, int, const QPoint&) {} - virtual void itemReleased() {} - virtual void itemPressed(const CItem*) {} - virtual void itemMoved(const CItem*) {} - - virtual void addController(); - - void endMoveItems(DragType); - virtual void selectItem(CItem* e, bool); - virtual void deselectAll(); - QMenu* genCanvasPopup(); - void canvasPopup(int); - virtual void startUndo(DragType); - virtual void endUndo(DragType); - virtual void selectLasso(bool) {} - void setCursor(); - virtual void deleteItem(const QPoint&); - void moveItems(const QPoint& pos, int dir); - void mousePressCanvasA(QPoint pos); - void mousePressCanvasA(QMouseEvent*); - void mouseMoveCanvasA(QPoint pos); - void mouseReleaseCanvasA(QMouseEvent*); - - virtual void paintControllerCanvas(QPainter&, QRect); - virtual void paintControllerPanel(QPainter&, QRect); - - void pasteAt(const QString& pt, unsigned pos); - void updatePartControllerList(); - - private slots: - void removeController(QAction*); - void midiNote(const MidiEvent&); - - public slots: - void setQuant(int) { update(); } - void songChanged(int); - - signals: - void selectionChanged(int, Event&, Part*); - void enterCanvas(); - void yChanged(int); // emitted from mouseMove in controller canvas - - public: - EventCanvas(MidiEditor*, TimeCanvasType); - MidiTrack* track() const; - Part* part() const { return curPart; } - QString getCaption() const; - void range(AL::Pos& s, AL::Pos& e) const; - void selectFirst(); - virtual void modifySelected(NoteInfo::ValType, int) {} - virtual void keyPress(QKeyEvent*); - int selectionSize() const; - void setCurPart(Part*); - QMimeData* getTextDrag(); - CItemList* getItems() { return &items; } - CtrlEditList* getCtrlEditors() { return &ctrlEditList; } - const CtrlEditList* getCtrlEditors() const { return &ctrlEditList; } - void addController(int id, int h); - void layout1(); - }; - -extern void paintVLine(QPainter& p, int y1, int y2, int x); - -#endif - |