annotate widgets/PropertyStack.h @ 58:01ab51f72e84

* Set indent-tabs-mode to nil in Emacs mode direction
author Chris Cannam
date Mon, 20 Mar 2006 11:40:39 +0000
parents f2fe98a7c57e
children 705f05ab42e3
rev   line source
Chris@58 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- 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@52 29 View *getClient() { return m_client; }
Chris@0 30 bool containsContainer(PropertyContainer *container) const;
Chris@19 31 int getContainerIndex(PropertyContainer *container) const;
Chris@0 32
Chris@0 33 signals:
Chris@52 34 void propertyContainerSelected(View *client, PropertyContainer *container);
Chris@0 35
Chris@0 36 public slots:
Chris@0 37 void propertyContainerAdded(PropertyContainer *);
Chris@0 38 void propertyContainerRemoved(PropertyContainer *);
Chris@0 39 void propertyContainerPropertyChanged(PropertyContainer *);
Chris@0 40 void propertyContainerNameChanged(PropertyContainer *);
Chris@0 41
Chris@47 42 void showLayer(bool);
Chris@47 43
Chris@0 44 protected slots:
Chris@0 45 void selectedContainerChanged(int);
Chris@0 46
Chris@0 47 protected:
Chris@0 48 View *m_client;
Chris@0 49 std::vector<PropertyBox *> m_boxes;
Chris@0 50
Chris@0 51 void repopulate();
Chris@0 52 void updateValues(PropertyContainer *);
Chris@0 53 };
Chris@0 54
Chris@0 55 #endif