comparison widgets/PropertyStack.h @ 0:fc9323a41f5a

start base : Sonic Visualiser sv1-1.0rc1
author lbajardsilogic
date Fri, 11 May 2007 09:08:14 +0000
parents
children 8e5f9a9aa43f
comparison
equal deleted inserted replaced
-1:000000000000 0:fc9323a41f5a
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2
3 /*
4 Sonic Visualiser
5 An audio file viewer and annotation editor.
6 Centre for Digital Music, Queen Mary, University of London.
7 This file copyright 2006 Chris Cannam.
8
9 This program is free software; you can redistribute it and/or
10 modify it under the terms of the GNU General Public License as
11 published by the Free Software Foundation; either version 2 of the
12 License, or (at your option) any later version. See the file
13 COPYING included with this distribution for more information.
14 */
15
16 #ifndef _PROPERTY_STACK_H_
17 #define _PROPERTY_STACK_H_
18
19 #include <QFrame>
20 #include <QTabWidget>
21 #include <vector>
22
23 class Layer;
24 class View;
25 class PropertyBox;
26 class PropertyContainer;
27
28 class PropertyStack : public QTabWidget
29 {
30 Q_OBJECT
31
32 public:
33 PropertyStack(QWidget *parent, View *client);
34
35 View *getClient() { return m_client; }
36 bool containsContainer(PropertyContainer *container) const;
37 int getContainerIndex(PropertyContainer *container) const;
38
39 signals:
40 void viewSelected(View *client);
41 void propertyContainerSelected(View *client, PropertyContainer *container);
42 void contextHelpChanged(const QString &);
43
44 public slots:
45 void propertyContainerAdded(PropertyContainer *);
46 void propertyContainerRemoved(PropertyContainer *);
47 void propertyContainerPropertyChanged(PropertyContainer *);
48 void propertyContainerPropertyRangeChanged(PropertyContainer *);
49 void propertyContainerNameChanged(PropertyContainer *);
50
51 void showLayer(bool);
52
53 void mouseEnteredTabBar();
54 void mouseLeftTabBar();
55 void activeTabClicked();
56
57 protected slots:
58 void selectedContainerChanged(int);
59
60 protected:
61 View *m_client;
62 std::vector<PropertyBox *> m_boxes;
63
64 void repopulate();
65 void updateValues(PropertyContainer *);
66 };
67
68 #endif