//============================================================================= // Awl // Audio Widget Library // $Id:$ // // Copyright (C) 2002-2006 by Werner Schweer and others // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. //============================================================================= #ifndef __AWLPLUGIN_H__ #define __AWLPLUGIN_H__ #include //--------------------------------------------------------- // AwlPlugin //--------------------------------------------------------- class AwlPlugin : public QDesignerCustomWidgetInterface { Q_INTERFACES(QDesignerCustomWidgetInterface) bool m_initialized; public: AwlPlugin() : m_initialized(false) { } bool isContainer() const { return false; } bool isInitialized() const { return m_initialized; } QIcon icon() const { return QIcon(); } virtual QString codeTemplate() const { return QString(); } QString whatsThis() const { return QString(); } QString toolTip() const { return QString(); } QString group() const { return "MusE Awl Widgets"; } void initialize(QDesignerFormEditorInterface *) { if (m_initialized) return; m_initialized = true; } }; //--------------------------------------------------------- // KnobPlugin //--------------------------------------------------------- class KnobPlugin : public QObject, public AwlPlugin { Q_OBJECT public: KnobPlugin(QObject* parent = 0) : QObject(parent) {} QString includeFile() const { return QString("awl/knob.h"); } QString name() const { return "Awl::Knob"; } QWidget* createWidget(QWidget* parent); }; //--------------------------------------------------------- // VolKnobPlugin //--------------------------------------------------------- class VolKnobPlugin : public QObject, public AwlPlugin { Q_OBJECT public: VolKnobPlugin(QObject* parent = 0) : QObject(parent) {} QString includeFile() const { return "awl/volknob.h"; } QString name() const { return "Awl::VolKnob"; } QWidget* createWidget(QWidget* parent); }; //--------------------------------------------------------- // PanKnobPlugin //--------------------------------------------------------- class PanKnobPlugin : public QObject, public AwlPlugin { Q_OBJECT public: PanKnobPlugin(QObject* parent = 0) : QObject(parent) {} QString includeFile() const { return "awl/panknob.h"; } QString name() const { return "Awl::PanKnob"; } QWidget* createWidget(QWidget* parent); }; //--------------------------------------------------------- // MidiPanKnobPlugin //--------------------------------------------------------- class MidiPanKnobPlugin : public QObject, public AwlPlugin { Q_OBJECT public: MidiPanKnobPlugin(QObject* parent = 0) : QObject(parent) {} QString includeFile() const { return "awl/midipanknob.h"; } QString name() const { return "Awl::MidiPanKnob"; } QWidget* createWidget(QWidget* parent); }; //--------------------------------------------------------- // ColorLabelPlugin //--------------------------------------------------------- class ColorLabelPlugin : public QObject, public AwlPlugin { Q_OBJECT public: ColorLabelPlugin(QObject* parent = 0) : QObject(parent) {} QString includeFile() const { return "awl/colorlabel.h"; } QString name() const { return "Awl::ColorLabel"; } QWidget* createWidget(QWidget* parent); }; //--------------------------------------------------------- // SliderPlugin //--------------------------------------------------------- class SliderPlugin : public QObject, public AwlPlugin { Q_OBJECT public: SliderPlugin(QObject* parent = 0) : QObject(parent) {} QString includeFile() const { return "awl/slider.h"; } QString name() const { return "Awl::Slider"; } QWidget* createWidget(QWidget* parent); }; //--------------------------------------------------------- // VolSliderPlugin //--------------------------------------------------------- class VolSliderPlugin : public QObject, public AwlPlugin { Q_OBJECT public: VolSliderPlugin(QObject* parent = 0) : QObject(parent) {} QString includeFile() const { return "awl/volslider.h"; } QString name() const { return "Awl::VolSlider"; } QWidget* createWidget(QWidget* parent); }; //--------------------------------------------------------- // MeterSliderPlugin //--------------------------------------------------------- class MeterSliderPlugin : public QObject, public AwlPlugin { Q_OBJECT public: MeterSliderPlugin(QObject* parent = 0) : QObject(parent) {} QString includeFile() const { return "awl/mslider.h"; } QString name() const { return "Awl::MeterSlider"; } QWidget* createWidget(QWidget* parent); }; //--------------------------------------------------------- // DenominatorSpinBox //--------------------------------------------------------- class DenominatorSpinBoxPlugin : public QObject, public AwlPlugin { Q_OBJECT public: DenominatorSpinBoxPlugin(QObject* parent = 0) : QObject(parent) {} QString includeFile() const { return "awl/denomspinbox.h"; } QString name() const { return "Awl::DenominatorSpinBox"; } QWidget* createWidget(QWidget* parent); }; //--------------------------------------------------------- // PitchLabelPlugin //--------------------------------------------------------- class PitchLabelPlugin : public QObject, public AwlPlugin { Q_OBJECT public: PitchLabelPlugin(QObject* parent = 0) : QObject(parent) {} QString includeFile() const { return "awl/pitchlabel.h"; } QString name() const { return "Awl::PitchLabel"; } QWidget* createWidget(QWidget* parent); }; //--------------------------------------------------------- // PitchEditPlugin //--------------------------------------------------------- class PitchEditPlugin : public QObject, public AwlPlugin { Q_OBJECT public: PitchEditPlugin(QObject* parent = 0) : QObject(parent) {} QString includeFile() const { return "awl/pitchedit.h"; } QString name() const { return "Awl::PitchEdit"; } QWidget* createWidget(QWidget* parent); }; //--------------------------------------------------------- // AwlPlugins //--------------------------------------------------------- class AwlPlugins : public QObject, public QDesignerCustomWidgetCollectionInterface { Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetCollectionInterface) public: QList customWidgets() const; }; #endif