lbajardsilogic@0: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ lbajardsilogic@0: lbajardsilogic@0: /* lbajardsilogic@0: Sonic Visualiser lbajardsilogic@0: An audio file viewer and annotation editor. lbajardsilogic@0: Centre for Digital Music, Queen Mary, University of London. lbajardsilogic@0: This file copyright 2006 Chris Cannam. lbajardsilogic@0: lbajardsilogic@0: This program is free software; you can redistribute it and/or lbajardsilogic@0: modify it under the terms of the GNU General Public License as lbajardsilogic@0: published by the Free Software Foundation; either version 2 of the lbajardsilogic@0: License, or (at your option) any later version. See the file lbajardsilogic@0: COPYING included with this distribution for more information. lbajardsilogic@0: */ lbajardsilogic@0: lbajardsilogic@0: #ifndef _PROPERTY_BOX_H_ lbajardsilogic@0: #define _PROPERTY_BOX_H_ lbajardsilogic@0: lbajardsilogic@0: #include "base/PropertyContainer.h" lbajardsilogic@0: lbajardsilogic@0: #include lbajardsilogic@0: #include lbajardsilogic@0: lbajardsilogic@0: class QLayout; lbajardsilogic@0: class QWidget; lbajardsilogic@0: class QGridLayout; lbajardsilogic@0: class QVBoxLayout; lbajardsilogic@0: class QLabel; lbajardsilogic@0: class LEDButton; lbajardsilogic@0: lbajardsilogic@0: class PropertyBox : public QFrame lbajardsilogic@0: { lbajardsilogic@0: Q_OBJECT lbajardsilogic@0: lbajardsilogic@0: public: lbajardsilogic@0: PropertyBox(PropertyContainer *); lbajardsilogic@0: ~PropertyBox(); lbajardsilogic@0: lbajardsilogic@0: PropertyContainer *getContainer() { return m_container; } lbajardsilogic@0: lbajardsilogic@183: void showNormal(); lbajardsilogic@183: lbajardsilogic@0: signals: lbajardsilogic@0: void changePlayGain(float); lbajardsilogic@0: void changePlayGainDial(int); lbajardsilogic@0: void changePlayPan(float); lbajardsilogic@0: void changePlayPanDial(int); lbajardsilogic@0: void showLayer(bool); lbajardsilogic@0: void contextHelpChanged(const QString &); lbajardsilogic@0: lbajardsilogic@0: public slots: lbajardsilogic@0: void propertyContainerPropertyChanged(PropertyContainer *); lbajardsilogic@0: void propertyContainerPropertyRangeChanged(PropertyContainer *); lbajardsilogic@0: void pluginConfigurationChanged(QString); lbajardsilogic@0: void layerVisibilityChanged(bool); benoitrigolleau@57: void layerVisibilityChanged(int); lbajardsilogic@0: lbajardsilogic@0: protected slots: lbajardsilogic@0: void propertyControllerChanged(int); lbajardsilogic@233: void propertyControllerChanged(QVector&); lbajardsilogic@229: lbajardsilogic@0: void playGainChanged(float); lbajardsilogic@0: void playGainDialChanged(int); lbajardsilogic@0: void playPanChanged(float); lbajardsilogic@0: void playPanDialChanged(int); lbajardsilogic@0: lbajardsilogic@0: void populateViewPlayFrame(); lbajardsilogic@0: lbajardsilogic@0: void unitDatabaseChanged(); lbajardsilogic@0: lbajardsilogic@0: void editPlugin(); lbajardsilogic@0: lbajardsilogic@0: void mouseEnteredWidget(); lbajardsilogic@0: void mouseLeftWidget(); lbajardsilogic@0: lbajardsilogic@0: protected: lbajardsilogic@0: void updatePropertyEditor(PropertyContainer::PropertyName, lbajardsilogic@0: bool rangeChanged = false); lbajardsilogic@0: void updateContextHelp(QObject *o); lbajardsilogic@0: lbajardsilogic@0: QLabel *m_nameWidget; lbajardsilogic@0: QWidget *m_mainWidget; lbajardsilogic@0: QGridLayout *m_layout; lbajardsilogic@0: PropertyContainer *m_container; lbajardsilogic@0: QFrame *m_viewPlayFrame; lbajardsilogic@0: QVBoxLayout *m_mainBox; lbajardsilogic@0: LEDButton *m_showButton; lbajardsilogic@0: LEDButton *m_playButton; lbajardsilogic@207: std::map m_groupLayouts; lbajardsilogic@0: std::map m_propertyControllers; benoitrigolleau@57: benoitrigolleau@57: public : benoitrigolleau@57: LEDButton* showButton(); benoitrigolleau@57: LEDButton* playButton(); benoitrigolleau@58: PropertyContainer* container(); lbajardsilogic@0: }; lbajardsilogic@0: lbajardsilogic@0: #endif