annotate widgets/PropertyBox.h @ 38:beb801473743

* Rearrange spectrogram cacheing so that gain, normalization, instantaneous frequency calculations etc can be done from the cached data (increasing the size of the cache, but also the usability).
author Chris Cannam
date Thu, 23 Feb 2006 18:01:31 +0000
parents c43f2c4f66f2
children 2e2ad8510e52
rev   line source
Chris@0 1 /* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */
Chris@0 2
Chris@0 3 /*
Chris@0 4 A waveform viewer and audio annotation editor.
Chris@5 5 Chris Cannam, Queen Mary University of London, 2005-2006
Chris@0 6
Chris@0 7 This is experimental software. Not for distribution.
Chris@0 8 */
Chris@0 9
Chris@0 10 #ifndef _PROPERTY_BOX_H_
Chris@0 11 #define _PROPERTY_BOX_H_
Chris@0 12
Chris@0 13 #include "base/PropertyContainer.h"
Chris@0 14
Chris@0 15 #include <QFrame>
Chris@0 16 #include <map>
Chris@0 17
Chris@33 18 class QLayout;
Chris@33 19 class QWidget;
Chris@0 20 class QGridLayout;
Chris@34 21 class QVBoxLayout;
Chris@0 22
Chris@0 23 class PropertyBox : public QFrame
Chris@0 24 {
Chris@0 25 Q_OBJECT
Chris@0 26
Chris@0 27 public:
Chris@0 28 PropertyBox(PropertyContainer *);
Chris@0 29 ~PropertyBox();
Chris@0 30
Chris@0 31 PropertyContainer *getContainer() { return m_container; }
Chris@0 32
Chris@34 33 signals:
Chris@34 34 void changePlayGain(float);
Chris@34 35 void changePlayGainDial(int);
Chris@34 36 void changePlayPan(float);
Chris@34 37 void changePlayPanDial(int);
Chris@34 38
Chris@0 39 public slots:
Chris@0 40 void propertyContainerPropertyChanged(PropertyContainer *);
Chris@0 41
Chris@0 42 protected slots:
Chris@0 43 void propertyControllerChanged(int);
Chris@0 44
Chris@34 45 void playGainChanged(float);
Chris@34 46 void playGainDialChanged(int);
Chris@34 47 void playPanChanged(float);
Chris@34 48 void playPanDialChanged(int);
Chris@34 49
Chris@34 50 void populateViewPlayFrame();
Chris@34 51
Chris@0 52 protected:
Chris@0 53 void updatePropertyEditor(PropertyContainer::PropertyName);
Chris@0 54
Chris@33 55 QWidget *m_mainWidget;
Chris@0 56 QGridLayout *m_layout;
Chris@0 57 PropertyContainer *m_container;
Chris@34 58 QFrame *m_viewPlayFrame;
Chris@34 59 QVBoxLayout *m_mainBox;
Chris@0 60 std::map<QString, QLayout *> m_groupLayouts;
Chris@0 61 std::map<QString, QWidget *> m_propertyControllers;
Chris@0 62 };
Chris@0 63
Chris@0 64 #endif