diff options
Diffstat (limited to 'attic/muse2-oom/muse2/muse/widgets/canvas.h')
-rw-r--r-- | attic/muse2-oom/muse2/muse/widgets/canvas.h | 185 |
1 files changed, 0 insertions, 185 deletions
diff --git a/attic/muse2-oom/muse2/muse/widgets/canvas.h b/attic/muse2-oom/muse2/muse/widgets/canvas.h deleted file mode 100644 index 595fe04e..00000000 --- a/attic/muse2-oom/muse2/muse/widgets/canvas.h +++ /dev/null @@ -1,185 +0,0 @@ -//========================================================= -// MusE -// Linux Music Editor -// $Id: canvas.h,v 1.3.2.8 2009/02/02 21:38:01 terminator356 Exp $ -// (C) Copyright 1999 Werner Schweer (ws@seh.de) -//========================================================= - -#ifndef __CANVAS_H__ -#define __CANVAS_H__ - -#include "citem.h" -#include "view.h" -#include "tools.h" - -#include <QWheelEvent> -#include <QMouseEvent> -#include <QKeyEvent> - -class QMenu; - -//--------------------------------------------------------- -// Canvas -//--------------------------------------------------------- - -class Canvas : public View { - Q_OBJECT - int canvasTools; - QTimer *scrollTimer; - - bool doScroll; - int scrollSpeed; - - QPoint ev_pos; - bool canScrollLeft; - bool canScrollRight; - bool canScrollUp; - bool canScrollDown; - protected: - enum DragMode { - DRAG_OFF, DRAG_NEW, - DRAG_MOVE_START, DRAG_MOVE, - DRAG_COPY_START, DRAG_COPY, - DRAG_CLONE_START, DRAG_CLONE, - DRAGX_MOVE, DRAGY_MOVE, - DRAGX_COPY, DRAGY_COPY, - DRAGX_CLONE, DRAGY_CLONE, - DRAG_DELETE, - DRAG_RESIZE, DRAG_LASSO_START, DRAG_LASSO, - }; - - enum DragType { - MOVE_MOVE, MOVE_COPY, MOVE_CLONE - }; - - enum HScrollDir { - HSCROLL_NONE, HSCROLL_LEFT, HSCROLL_RIGHT - }; - enum VScrollDir { - VSCROLL_NONE, VSCROLL_UP, VSCROLL_DOWN - }; - - CItemList items; - CItemList moving; - CItem* curItem; - Part* curPart; - int curPartId; - - DragMode drag; - QRect lasso; - QPoint start; - Tool _tool; - unsigned pos[3]; - - HScrollDir hscrollDir; - VScrollDir vscrollDir; - int button; - Qt::KeyboardModifiers keyState; - QMenu* itemPopupMenu; - QMenu* canvasPopupMenu; - - void setCursor(); - virtual void viewKeyPressEvent(QKeyEvent* event); - virtual void viewMousePressEvent(QMouseEvent* event); - virtual void viewMouseMoveEvent(QMouseEvent*); - virtual void viewMouseReleaseEvent(QMouseEvent*); - virtual void draw(QPainter&, const QRect&); - virtual void wheelEvent(QWheelEvent* e); - - virtual void mousePress(QMouseEvent*) {} - virtual void keyPress(QKeyEvent*); - virtual void mouseMove(const QPoint&) = 0; - virtual void mouseRelease(const QPoint&) {} - virtual void drawCanvas(QPainter&, const QRect&) = 0; - virtual void drawItem(QPainter&, const CItem*, const QRect&) = 0; - virtual void drawMoving(QPainter&, const CItem*, const QRect&) = 0; - virtual void updateSelection() = 0; - virtual QPoint raster(const QPoint&) const = 0; - virtual int y2pitch(int) const = 0; //CDW - virtual int pitch2y(int) const = 0; //CDW - - virtual void moveCanvasItems(CItemList&, int, int, DragType, int*) = 0; - // Changed by T356. - //virtual bool moveItem(CItem*, const QPoint&, DragType, int*) = 0; - virtual bool moveItem(CItem*, const QPoint&, DragType) = 0; - virtual CItem* newItem(const QPoint&, int state) = 0; - virtual void resizeItem(CItem*, bool noSnap=false) = 0; - virtual void newItem(CItem*, bool noSnap=false) = 0; - virtual bool deleteItem(CItem*) = 0; - virtual void startUndo(DragType) = 0; - - virtual void endUndo(DragType, int flags) = 0; - int getCurrentDrag(); - - /*! - \brief Virtual member - - Implementing class is responsible for creating a popup to be shown when the user rightclicks an item on the Canvas - \param item The canvas item that is rightclicked - \return A QPopupMenu* - */ - virtual QMenu* genItemPopup(CItem* /*item*/) { return 0; } - - /*! - \brief Pure virtual member - - Implementing class is responsible for creating a popup to be shown when the user rightclicks an empty region of the canvas - \return A QPopupMenu* - */ - QMenu* genCanvasPopup(); - - /*! - \brief Virtual member - - This is the function called when the user has selected an option in the popupmenu generated by genItemPopup() - \param item the canvas item the whole thing is about - \param n Command type - \param pt I think this is the position of the pointer when right mouse button was pressed - */ - virtual void itemPopup(CItem* /*item */, int /*n*/, const QPoint& /*pt*/) {} - void canvasPopup(int); - - virtual void startDrag(CItem*, bool) {} - - // selection - virtual void deselectAll(); - virtual void selectItem(CItem* e, bool); - - virtual void deleteItem(const QPoint&); - - // moving - void startMoving(const QPoint&, DragType); - - void moveItems(const QPoint&, int dir, bool rasterize = true); - void endMoveItems(const QPoint&, DragType, int dir); - - virtual void selectLasso(bool toggle); - - virtual void itemPressed(const CItem*) {} - virtual void itemReleased(const CItem*, const QPoint&) {} - virtual void itemMoved(const CItem*, const QPoint&) {} - virtual void curPartChanged() {} - - public slots: - void setTool(int t); - void setPos(int, unsigned, bool adjustScrollbar); - void scrollTimerDone(void); - void redirectedWheelEvent(QWheelEvent*); - - signals: - void followEvent(int); - void toolChanged(int); - void verticalScroll(unsigned); - void horizontalScroll(unsigned); - void horizontalScrollNoLimit(unsigned); - public: - Canvas(QWidget* parent, int sx, int sy, const char* name = 0); - bool isSingleSelection(); - int selectionSize(); - Tool tool() const { return _tool; } - Part* part() const { return curPart; } - void setCurrentPart(Part*); - void setCanvasTools(int n) { canvasTools = n; } - }; -#endif - |