Mercurial > hg > svgui
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 |