diff options
Diffstat (limited to 'attic/muse2-oom/muse2/muse/arranger/tlist.h')
-rw-r--r-- | attic/muse2-oom/muse2/muse/arranger/tlist.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/attic/muse2-oom/muse2/muse/arranger/tlist.h b/attic/muse2-oom/muse2/muse/arranger/tlist.h new file mode 100644 index 00000000..188685bc --- /dev/null +++ b/attic/muse2-oom/muse2/muse/arranger/tlist.h @@ -0,0 +1,115 @@ +//========================================================= +// MusE +// Linux Music Editor +// $Id: tlist.h,v 1.8.2.5 2008/01/19 13:33:46 wschweer Exp $ +// (C) Copyright 1999 Werner Schweer (ws@seh.de) +//========================================================= + +#ifndef __TLIST_H__ +#define __TLIST_H__ + +#include "track.h" + +#include <QWidget> + +class QKeyEvent; +class QLineEdit; +class QMouseEvent; +class QPaintEvent; +class QResizeEvent; +class QScrollBar; +class QWheelEvent; + +class ScrollScale; +class Track; +class Xml; +class Header; + +enum TrackColumn { + COL_RECORD = 0, + COL_MUTE, + COL_SOLO, + COL_CLASS, + COL_NAME, + COL_OPORT, + COL_OCHANNEL, + COL_TIMELOCK, + COL_AUTOMATION, + COL_NONE = -1 + }; + +//--------------------------------------------------------- +// TList +//--------------------------------------------------------- + +class TList : public QWidget { + Q_OBJECT + + int ypos; + bool editMode; + + QPixmap bgPixmap; // background Pixmap + bool resizeFlag; // true if resize cursor is shown + + Header* header; + QScrollBar* _scroll; + QLineEdit* editor; + Track* editTrack; + + int startY; + int curY; + int sTrack; + int dragHeight; + int dragYoff; + + enum { NORMAL, START_DRAG, DRAG, RESIZE} mode; + + virtual void paintEvent(QPaintEvent*); + virtual void mousePressEvent(QMouseEvent* event); + virtual void mouseDoubleClickEvent(QMouseEvent*); + virtual void mouseMoveEvent(QMouseEvent*); + virtual void mouseReleaseEvent(QMouseEvent*); + virtual void keyPressEvent(QKeyEvent* e); + virtual void wheelEvent(QWheelEvent* e); + + void portsPopupMenu(Track*, int, int); + void oportPropertyPopupMenu(Track*, int x, int y); + void moveSelection(int n); + void adjustScrollbar(); + void paint(const QRect& r); + virtual void resizeEvent(QResizeEvent*); + void redraw(const QRect& r); + Track* y2Track(int) const; + void classesPopupMenu(Track*, int x, int y); + TrackList getRecEnabledTracks(); + void setHeaderToolTips(); + + private slots: + void returnPressed(); + void songChanged(int flags); + void changeAutomation(QAction*); + + signals: + ///void selectionChanged(); + void selectionChanged(Track*); + void keyPressExt(QKeyEvent*); + void redirectWheelEvent(QWheelEvent*); + + public slots: + void tracklistChanged(); + void setYPos(int); + void redraw(); + void selectTrack(Track*); + void selectTrackAbove(); + void selectTrackBelow(); + + public: + TList(Header*, QWidget* parent, const char* name); + void setScroll(QScrollBar* s) { _scroll = s; } + Track* track() const { return editTrack; } + void writeStatus(int level, Xml&, const char* name) const; + void readStatus(Xml&, const char* name); + }; + +#endif + |