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@0
|
5 Chris Cannam, Queen Mary University of London, 2005
|
Chris@0
|
6
|
Chris@0
|
7 This is experimental software. Not for distribution.
|
Chris@0
|
8 */
|
Chris@0
|
9
|
Chris@0
|
10 #ifndef _PROPERTY_STACK_H_
|
Chris@0
|
11 #define _PROPERTY_STACK_H_
|
Chris@0
|
12
|
Chris@0
|
13 #include <QFrame>
|
Chris@0
|
14 #include <QTabWidget>
|
Chris@0
|
15 #include <vector>
|
Chris@0
|
16
|
Chris@0
|
17 class Layer;
|
Chris@0
|
18 class View;
|
Chris@0
|
19 class PropertyBox;
|
Chris@0
|
20 class PropertyContainer;
|
Chris@0
|
21
|
Chris@0
|
22 class PropertyStack : public QTabWidget
|
Chris@0
|
23 {
|
Chris@0
|
24 Q_OBJECT
|
Chris@0
|
25
|
Chris@0
|
26 public:
|
Chris@0
|
27 PropertyStack(QWidget *parent, View *client);
|
Chris@0
|
28
|
Chris@0
|
29 bool containsContainer(PropertyContainer *container) const;
|
Chris@0
|
30
|
Chris@0
|
31 signals:
|
Chris@0
|
32 void propertyContainerSelected(PropertyContainer *container);
|
Chris@0
|
33
|
Chris@0
|
34 public slots:
|
Chris@0
|
35 void propertyContainerAdded(PropertyContainer *);
|
Chris@0
|
36 void propertyContainerRemoved(PropertyContainer *);
|
Chris@0
|
37 void propertyContainerPropertyChanged(PropertyContainer *);
|
Chris@0
|
38 void propertyContainerNameChanged(PropertyContainer *);
|
Chris@0
|
39
|
Chris@0
|
40 protected slots:
|
Chris@0
|
41 void selectedContainerChanged(int);
|
Chris@0
|
42
|
Chris@0
|
43 protected:
|
Chris@0
|
44 View *m_client;
|
Chris@0
|
45 std::vector<PropertyBox *> m_boxes;
|
Chris@0
|
46
|
Chris@0
|
47 void repopulate();
|
Chris@0
|
48 void updateValues(PropertyContainer *);
|
Chris@0
|
49 };
|
Chris@0
|
50
|
Chris@0
|
51 #endif
|