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