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
|