annotate widgets/PropertyStack.h @ 42:1bdf285c4eac

* Add "Export Audio File" option * Make note layer align in frequency with any spectrogram layer on the same view (if it's set to frequency mode) * Start to implement mouse editing for ranges of points by dragging the selection * First scrappy attempt at a vertical scale for time value layer
author Chris Cannam
date Mon, 27 Feb 2006 17:34:41 +0000
parents 46d8f5add6f0
children 2e2ad8510e52
rev   line source
Chris@0 1 /* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */
Chris@0 2
Chris@0 3 /*
Chris@0 4 A waveform viewer and audio annotation editor.
Chris@5 5 Chris Cannam, Queen Mary University of London, 2005-2006
Chris@0 6
Chris@0 7 This is experimental software. Not for distribution.
Chris@0 8 */
Chris@0 9
Chris@0 10 #ifndef _PROPERTY_STACK_H_
Chris@0 11 #define _PROPERTY_STACK_H_
Chris@0 12
Chris@0 13 #include <QFrame>
Chris@0 14 #include <QTabWidget>
Chris@0 15 #include <vector>
Chris@0 16
Chris@0 17 class Layer;
Chris@0 18 class View;
Chris@0 19 class PropertyBox;
Chris@0 20 class PropertyContainer;
Chris@0 21
Chris@0 22 class PropertyStack : public QTabWidget
Chris@0 23 {
Chris@0 24 Q_OBJECT
Chris@0 25
Chris@0 26 public:
Chris@0 27 PropertyStack(QWidget *parent, View *client);
Chris@0 28
Chris@0 29 bool containsContainer(PropertyContainer *container) const;
Chris@19 30 int getContainerIndex(PropertyContainer *container) const;
Chris@0 31
Chris@0 32 signals:
Chris@0 33 void propertyContainerSelected(PropertyContainer *container);
Chris@0 34
Chris@0 35 public slots:
Chris@0 36 void propertyContainerAdded(PropertyContainer *);
Chris@0 37 void propertyContainerRemoved(PropertyContainer *);
Chris@0 38 void propertyContainerPropertyChanged(PropertyContainer *);
Chris@0 39 void propertyContainerNameChanged(PropertyContainer *);
Chris@0 40
Chris@0 41 protected slots:
Chris@0 42 void selectedContainerChanged(int);
Chris@0 43
Chris@0 44 protected:
Chris@0 45 View *m_client;
Chris@0 46 std::vector<PropertyBox *> m_boxes;
Chris@0 47
Chris@0 48 void repopulate();
Chris@0 49 void updateValues(PropertyContainer *);
Chris@0 50 };
Chris@0 51
Chris@0 52 #endif