comparison widgets/PaneStack.h @ 0:2a4f26e85b4c

initial import
author Chris Cannam
date Tue, 10 Jan 2006 16:33:16 +0000
parents
children 37b110168acf
comparison
equal deleted inserted replaced
-1:000000000000 0:2a4f26e85b4c
1
2 /* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */
3
4 /*
5 A waveform viewer and audio annotation editor.
6 Chris Cannam, Queen Mary University of London, 2005
7
8 This is experimental software. Not for distribution.
9 */
10
11 #ifndef _PANESTACK_H_
12 #define _PANESTACK_H_
13
14 #include <QSplitter>
15
16 class QWidget;
17 class QLabel;
18 class Pane;
19 class ViewManager;
20 class PropertyContainer;
21 class PropertyStack;
22
23 class PaneStack : public QSplitter
24 {
25 Q_OBJECT
26
27 public:
28 PaneStack(QWidget *parent, ViewManager *viewManager);
29
30 Pane *addPane(bool suppressPropertyBox = false); // I own the returned value
31 Pane *getPane(int n); // I own the returned value
32 void deletePane(Pane *pane); // Deletes the pane and all its views
33 int getPaneCount() const;
34
35 void setCurrentPane(Pane *pane);
36 Pane *getCurrentPane();
37
38 signals:
39 void currentPaneChanged(Pane *pane);
40
41 public slots:
42 void propertyContainerAdded(PropertyContainer *);
43 void propertyContainerRemoved(PropertyContainer *);
44 void propertyContainerSelected(PropertyContainer *);
45 void paneInteractedWith();
46
47 protected:
48 Pane *m_currentPane;
49 //!!! should be a single vector of structs
50 std::vector<Pane *> m_panes; // I own these
51 std::vector<QWidget *> m_propertyStacks; // I own these
52 std::vector<QLabel *> m_currentIndicators; // I own these
53 ViewManager *m_viewManager; // I don't own this
54
55 void sizePropertyStacks();
56 };
57
58 #endif
59