annotate widgets/PropertyBox.h @ 162:f32212631b9c

* Handle generator transforms (plugins whose channel count isn't dependent on number of audio inputs, as they have none) * Be less keen to suspend writing FFT data in spectrogram repaint -- only do it if we find we actually need to query the FFT data (i.e. we aren't repainting an area that hasn't been generated at all yet)
author Chris Cannam
date Tue, 10 Oct 2006 19:04:57 +0000
parents bf196d6e8998
children dd932fe5f3ff
rev   line source
Chris@58 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@0 2
Chris@0 3 /*
Chris@59 4 Sonic Visualiser
Chris@59 5 An audio file viewer and annotation editor.
Chris@59 6 Centre for Digital Music, Queen Mary, University of London.
Chris@59 7 This file copyright 2006 Chris Cannam.
Chris@0 8
Chris@59 9 This program is free software; you can redistribute it and/or
Chris@59 10 modify it under the terms of the GNU General Public License as
Chris@59 11 published by the Free Software Foundation; either version 2 of the
Chris@59 12 License, or (at your option) any later version. See the file
Chris@59 13 COPYING included with this distribution for more information.
Chris@0 14 */
Chris@0 15
Chris@0 16 #ifndef _PROPERTY_BOX_H_
Chris@0 17 #define _PROPERTY_BOX_H_
Chris@0 18
Chris@0 19 #include "base/PropertyContainer.h"
Chris@0 20
Chris@0 21 #include <QFrame>
Chris@0 22 #include <map>
Chris@0 23
Chris@33 24 class QLayout;
Chris@33 25 class QWidget;
Chris@0 26 class QGridLayout;
Chris@34 27 class QVBoxLayout;
Chris@107 28 class QLabel;
Chris@0 29
Chris@0 30 class PropertyBox : public QFrame
Chris@0 31 {
Chris@0 32 Q_OBJECT
Chris@0 33
Chris@0 34 public:
Chris@0 35 PropertyBox(PropertyContainer *);
Chris@0 36 ~PropertyBox();
Chris@0 37
Chris@0 38 PropertyContainer *getContainer() { return m_container; }
Chris@0 39
Chris@34 40 signals:
Chris@34 41 void changePlayGain(float);
Chris@34 42 void changePlayGainDial(int);
Chris@34 43 void changePlayPan(float);
Chris@34 44 void changePlayPanDial(int);
Chris@47 45 void showLayer(bool);
Chris@34 46
Chris@0 47 public slots:
Chris@0 48 void propertyContainerPropertyChanged(PropertyContainer *);
Chris@64 49 void pluginConfigurationChanged(QString);
Chris@0 50
Chris@0 51 protected slots:
Chris@0 52 void propertyControllerChanged(int);
Chris@0 53
Chris@34 54 void playGainChanged(float);
Chris@34 55 void playGainDialChanged(int);
Chris@34 56 void playPanChanged(float);
Chris@34 57 void playPanDialChanged(int);
Chris@34 58
Chris@34 59 void populateViewPlayFrame();
Chris@34 60
Chris@100 61 void unitDatabaseChanged();
Chris@100 62
Chris@63 63 void editPlugin();
Chris@63 64
Chris@0 65 protected:
Chris@0 66 void updatePropertyEditor(PropertyContainer::PropertyName);
Chris@0 67
Chris@107 68 QLabel *m_nameWidget;
Chris@33 69 QWidget *m_mainWidget;
Chris@0 70 QGridLayout *m_layout;
Chris@0 71 PropertyContainer *m_container;
Chris@34 72 QFrame *m_viewPlayFrame;
Chris@34 73 QVBoxLayout *m_mainBox;
Chris@0 74 std::map<QString, QLayout *> m_groupLayouts;
Chris@0 75 std::map<QString, QWidget *> m_propertyControllers;
Chris@0 76 };
Chris@0 77
Chris@0 78 #endif