1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
//=========================================================
// 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 <qtooltip.h>
#include <q3whatsthis.h>
#include <q3header.h>
//Added by qt3to4:
#include <QPixmap>
#include <QResizeEvent>
#include <QWheelEvent>
#include <QMouseEvent>
#include <QKeyEvent>
#include <QPaintEvent>
#include "track.h"
class QPainter;
class ScrollScale;
class QScrollBar;
class QLineEdit;
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_NONE = -1
};
// COL_AUTOMATION, -- not enabled
//----------------------------------------------------------
// THeaderTip
//----------------------------------------------------------
class THeaderTip { //: public QToolTip { ddskrjo
public:
THeaderTip(QWidget * parent) {} //: QToolTip(parent) {} ddskrjo
virtual ~THeaderTip() {}
protected:
void maybeTip(const QPoint &);
};
//---------------------------------------------------------
// TList
//---------------------------------------------------------
class TList : public QWidget {
Q_OBJECT
int ypos;
bool editMode;
QPixmap pm; // for double buffering
bool pmValid;
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();
private slots:
void returnPressed();
void songChanged(int flags);
signals:
void selectionChanged();
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
|