annotate widgets/PaneStack.h @ 10:8f5b812baaee

* Hook up SV file i/o. You can now save and load sessions. Some problems -- gain is not reloaded correctly for waveforms, reloaded panes are not properly reconnected to the panner, and no doubt plenty of others.
author Chris Cannam
date Tue, 17 Jan 2006 17:45:55 +0000
parents 37b110168acf
children 0183ebb725ca
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@5 6 Chris Cannam, Queen Mary University of London, 2005-2006
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