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@47
|
38 void showLayer(bool);
|
Chris@34
|
39
|
Chris@0
|
40 public slots:
|
Chris@0
|
41 void propertyContainerPropertyChanged(PropertyContainer *);
|
Chris@0
|
42
|
Chris@0
|
43 protected slots:
|
Chris@0
|
44 void propertyControllerChanged(int);
|
Chris@0
|
45
|
Chris@34
|
46 void playGainChanged(float);
|
Chris@34
|
47 void playGainDialChanged(int);
|
Chris@34
|
48 void playPanChanged(float);
|
Chris@34
|
49 void playPanDialChanged(int);
|
Chris@34
|
50
|
Chris@34
|
51 void populateViewPlayFrame();
|
Chris@34
|
52
|
Chris@0
|
53 protected:
|
Chris@0
|
54 void updatePropertyEditor(PropertyContainer::PropertyName);
|
Chris@0
|
55
|
Chris@33
|
56 QWidget *m_mainWidget;
|
Chris@0
|
57 QGridLayout *m_layout;
|
Chris@0
|
58 PropertyContainer *m_container;
|
Chris@34
|
59 QFrame *m_viewPlayFrame;
|
Chris@34
|
60 QVBoxLayout *m_mainBox;
|
Chris@0
|
61 std::map<QString, QLayout *> m_groupLayouts;
|
Chris@0
|
62 std::map<QString, QWidget *> m_propertyControllers;
|
Chris@0
|
63 };
|
Chris@0
|
64
|
Chris@0
|
65 #endif
|