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
|
//=========================================================
// MusE
// Linux Music Editor
// $Id: dlist.h,v 1.4 2003/11/19 21:28:40 lunar_shuttle Exp $
// (C) Copyright 1999 Werner Schweer (ws@seh.de)
//=========================================================
#ifndef __DLIST_H__
#define __DLIST_H__
#include "view.h"
#define TH 18 // normale Track-Hhe
class QPainter;
class QHeader;
class ScrollScale;
class Device;
class QLineEdit;
class DrumMap;
//---------------------------------------------------------
// DList
//---------------------------------------------------------
class DList : public View {
QHeader* header;
ScrollScale* scroll;
QLineEdit* editor;
DrumMap* editEntry;
DrumMap* currentlySelected; //To keep track of which drum we've selected
int selectedColumn;
int startY;
int curY;
int sPitch;
enum { NORMAL, START_DRAG, DRAG } drag;
virtual void draw(QPainter& p, const QRect&);
virtual void viewMousePressEvent(QMouseEvent* event);
virtual void viewMouseReleaseEvent(QMouseEvent* event);
virtual void viewMouseDoubleClickEvent(QMouseEvent*);
virtual void viewMouseMoveEvent(QMouseEvent*);
int x2col(int x) const;
void devicesPopupMenu(DrumMap* t, int x, int y, bool changeAll);
Q_OBJECT
void moveSelection(int n);
private slots:
void sizeChange(int, int, int);
void returnPressed();
void moved(int, int);
signals:
void selectionChanged(DrumMap*);
void channelChanged();
void mapChanged(int, int);
void keyPressed(int, bool);
void keyReleased(int, bool);
void keyFilterChanged(const char k);
public slots:
void tracklistChanged();
void songChanged(int flags);
public:
DList(QHeader*, QWidget* parent, int ymag);
void setScroll(ScrollScale* s) { scroll = s; }
int getSelectedInstrument();
~DList();
};
#endif // __DLIST_H_
|