Mercurial > hg > svgui
annotate widgets/PaneStack.h @ 1:ab83c415a6cd
* Backed out partially complete changes to make the spectrogram only
store results up to the requested max frequency. The speed improvement
was minimal at the expense of annoyance when changing frequency limit,
and although it did save memory, it wasn't yet reliable and fixing it
is not a high enough priority.
author | Chris Cannam |
---|---|
date | Tue, 10 Jan 2006 17:04:02 +0000 |
parents | 2a4f26e85b4c |
children | 37b110168acf |
rev | line source |
---|---|
Chris@0 | 1 |
Chris@0 | 2 /* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */ |
Chris@0 | 3 |
Chris@0 | 4 /* |
Chris@0 | 5 A waveform viewer and audio annotation editor. |
Chris@0 | 6 Chris Cannam, Queen Mary University of London, 2005 |
Chris@0 | 7 |
Chris@0 | 8 This is experimental software. Not for distribution. |
Chris@0 | 9 */ |
Chris@0 | 10 |
Chris@0 | 11 #ifndef _PANESTACK_H_ |
Chris@0 | 12 #define _PANESTACK_H_ |
Chris@0 | 13 |
Chris@0 | 14 #include <QSplitter> |
Chris@0 | 15 |
Chris@0 | 16 class QWidget; |
Chris@0 | 17 class QLabel; |
Chris@0 | 18 class Pane; |
Chris@0 | 19 class ViewManager; |
Chris@0 | 20 class PropertyContainer; |
Chris@0 | 21 class PropertyStack; |
Chris@0 | 22 |
Chris@0 | 23 class PaneStack : public QSplitter |
Chris@0 | 24 { |
Chris@0 | 25 Q_OBJECT |
Chris@0 | 26 |
Chris@0 | 27 public: |
Chris@0 | 28 PaneStack(QWidget *parent, ViewManager *viewManager); |
Chris@0 | 29 |
Chris@0 | 30 Pane *addPane(bool suppressPropertyBox = false); // I own the returned value |
Chris@0 | 31 Pane *getPane(int n); // I own the returned value |
Chris@0 | 32 void deletePane(Pane *pane); // Deletes the pane and all its views |
Chris@0 | 33 int getPaneCount() const; |
Chris@0 | 34 |
Chris@0 | 35 void setCurrentPane(Pane *pane); |
Chris@0 | 36 Pane *getCurrentPane(); |
Chris@0 | 37 |
Chris@0 | 38 signals: |
Chris@0 | 39 void currentPaneChanged(Pane *pane); |
Chris@0 | 40 |
Chris@0 | 41 public slots: |
Chris@0 | 42 void propertyContainerAdded(PropertyContainer *); |
Chris@0 | 43 void propertyContainerRemoved(PropertyContainer *); |
Chris@0 | 44 void propertyContainerSelected(PropertyContainer *); |
Chris@0 | 45 void paneInteractedWith(); |
Chris@0 | 46 |
Chris@0 | 47 protected: |
Chris@0 | 48 Pane *m_currentPane; |
Chris@0 | 49 //!!! should be a single vector of structs |
Chris@0 | 50 std::vector<Pane *> m_panes; // I own these |
Chris@0 | 51 std::vector<QWidget *> m_propertyStacks; // I own these |
Chris@0 | 52 std::vector<QLabel *> m_currentIndicators; // I own these |
Chris@0 | 53 ViewManager *m_viewManager; // I don't own this |
Chris@0 | 54 |
Chris@0 | 55 void sizePropertyStacks(); |
Chris@0 | 56 }; |
Chris@0 | 57 |
Chris@0 | 58 #endif |
Chris@0 | 59 |