diff options
Diffstat (limited to 'muse2/muse/midiedit/drumedit.h')
-rw-r--r-- | muse2/muse/midiedit/drumedit.h | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/muse2/muse/midiedit/drumedit.h b/muse2/muse/midiedit/drumedit.h new file mode 100644 index 00000000..5043412f --- /dev/null +++ b/muse2/muse/midiedit/drumedit.h @@ -0,0 +1,151 @@ +//========================================================= +// MusE +// Linux Music Editor +// $Id: drumedit.h,v 1.9.2.7 2009/11/16 11:29:33 lunar_shuttle Exp $ +// (C) Copyright 1999 Werner Schweer (ws@seh.de) +//========================================================= + +#ifndef __DRUM_EDIT_H__ +#define __DRUM_EDIT_H__ + +#include <qwidget.h> +#include <q3mainwindow.h> +#include <qtooltip.h> +#include <q3whatsthis.h> +//Added by qt3to4: +#include <QResizeEvent> +#include <QLabel> +#include <QKeyEvent> +#include <Q3PopupMenu> +#include <QCloseEvent> + +#include <values.h> +#include "midieditor.h" +#include "noteinfo.h" +#include "cobject.h" +#include "tools.h" +#include "header.h" +#include "shortcuts.h" +#include "event.h" + +class MidiPart; +class QLabel; +class DrumCanvas; +class ScrollScale; +class ScoreConfig; +class QToolButton; +class MTScale; +class Splitter; +class PartList; +class Toolbar1; +class CtrlCanvas; +class Xml; +class Q3PopupMenu; +class DList; +class Header; +class CtrlEdit; +class Part; +class SNode; + +//--------------------------------------------------------- +// DWhatsThis +//--------------------------------------------------------- + +class DWhatsThis : public Q3WhatsThis { + Header* header; + protected: + QString text(const QPoint&); + public: + DWhatsThis(QWidget* parent, Header* h) : Q3WhatsThis(parent) { + header = h; + } + }; + +//---------------------------------------------------------- +// DHeaderTip +//---------------------------------------------------------- + +class DHeaderTip { // : public QToolTip { ddskrjo + public: + DHeaderTip(QWidget * parent) {} // : QToolTip(parent) {} ddskrjo + virtual ~DHeaderTip(){} + protected: + void maybeTip(const QPoint &); + }; + +//--------------------------------------------------------- +// DrumEdit +//--------------------------------------------------------- + +class DrumEdit : public MidiEditor { + Event selEvent; + MidiPart* selPart; + int selTick; + Q3PopupMenu* menuEdit, *menuFunctions, *menuFile, *menuSelect; + + NoteInfo* info; + QToolButton* srec; + QToolButton* midiin; + EditToolBar* tools2; + + Toolbar1* toolbar; + Splitter* split1; + Splitter* split2; + QWidget* split1w1; + DList* dlist; + Header* header; + Q3ToolBar* tools; + + static int _quantInit, _rasterInit; + static int _widthInit, _heightInit; + static int _dlistWidthInit, _dcanvasWidthInit; + + static int _toInit; //Used in function dialog for applying modification to selection + Q_OBJECT + void initShortcuts(); + + virtual void closeEvent(QCloseEvent*); + QWidget* genToolbar(QWidget* parent); + virtual void resizeEvent(QResizeEvent*); + virtual void keyPressEvent(QKeyEvent*); + int _to;//TODO: Make this work + + + private slots: + void setRaster(int); + void setQuant(int); + void noteinfoChanged(NoteInfo::ValType type, int val); + CtrlEdit* addCtrl(); + void removeCtrl(CtrlEdit* ctrl); + void cmd(int); + void clipboardChanged(); // enable/disable "Paste" + void selectionChanged(); // enable/disable "Copy" & "Paste" + void load(); + void save(); + void reset(); + void setTime(unsigned); + void follow(int); + void newCanvasWidth(int); + void configChanged(); + void songChanged1(int); + + public slots: + void setSelection(int, Event&, Part*); + void soloChanged(bool); // called by Solo button + void execDeliveredScript(int); + void execUserScript(int); + + virtual void updateHScrollRange(); + signals: + void deleted(unsigned long); + + public: + DrumEdit(PartList*, QWidget* parent = 0, const char* name = 0, unsigned initPos = MAXINT); + virtual ~DrumEdit(); + virtual void readStatus(Xml&); + virtual void writeStatus(int, Xml&) const; + static void readConfiguration(Xml& xml); + static void writeConfiguration(int, Xml&); + }; + +#endif |