![]() |
Mixxx
|
00001 /*************************************************************************** 00002 * * 00003 * This program is free software; you can redistribute it and/or modify * 00004 * it under the terms of the GNU General Public License as published by * 00005 * the Free Software Foundation; either version 2 of the License, or * 00006 * (at your option) any later version. * 00007 * * 00008 ***************************************************************************/ 00009 00010 #ifndef LADSPAPRESETSLOT_H 00011 #define LADSPAPRESETSLOT_H 00012 00013 #include <QtCore> 00014 #include <QtGui> 00015 #include <QtXml> 00016 00017 class WKnob; 00018 class WPushButton; 00019 class WLabel; 00020 00021 class LADSPAPresetManager; 00022 class LADSPAPreset; 00023 class LADSPAPresetInstance; 00024 00025 typedef QVector<WKnob *> WKnobVector; 00026 typedef QVector<QLabel *> QLabelVector; 00027 00028 class LADSPAPresetSlot : public QWidget 00029 { 00030 Q_OBJECT 00031 00032 public: 00033 LADSPAPresetSlot(QWidget *parent, QDomElement element, int slot, LADSPAPresetManager *presetManager, QPalette m_qPalette); 00034 ~LADSPAPresetSlot(); 00035 00036 void dragEnterEvent(QDragEnterEvent *event); 00037 void dropEvent(QDropEvent *event); 00038 00039 public slots: 00040 void slotRemove(); 00041 00042 private: 00043 WPushButton *m_pRemoveButton; 00044 WPushButton *m_pEnableButton; 00045 WKnob *m_pDryWetKnob; 00046 QLabel *m_pLabel; 00047 QLabel *m_pDryWetLabel; 00048 QDomElement m_qKnobElement; 00049 LADSPAPresetManager *m_pPresetManager; 00050 LADSPAPresetInstance *m_pPresetInstance; 00051 WKnobVector m_Knobs; 00052 QLabelVector m_Labels; 00053 int m_iKnobCount; 00054 QPalette m_qPalette; 00055 int m_iSlotNumber; 00056 QScrollArea *m_pScrollArea; 00057 QWidget *m_pScrollWidget; 00058 int m_iBaseWidth; 00059 00060 void setPreset(LADSPAPreset *preset); 00061 void unsetPreset(); 00062 void addKnob(int i); 00063 }; 00064 00065 #endif