annotate widgets/PropertyStack.h @ 51:8e5f9a9aa43f

add destructor (clean PropertyBox vector)
author lbajardsilogic
date Wed, 16 May 2007 11:34:30 +0000
parents fc9323a41f5a
children 81921835ddf1
rev   line source
lbajardsilogic@0 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
lbajardsilogic@0 2
lbajardsilogic@0 3 /*
lbajardsilogic@0 4 Sonic Visualiser
lbajardsilogic@0 5 An audio file viewer and annotation editor.
lbajardsilogic@0 6 Centre for Digital Music, Queen Mary, University of London.
lbajardsilogic@0 7 This file copyright 2006 Chris Cannam.
lbajardsilogic@0 8
lbajardsilogic@0 9 This program is free software; you can redistribute it and/or
lbajardsilogic@0 10 modify it under the terms of the GNU General Public License as
lbajardsilogic@0 11 published by the Free Software Foundation; either version 2 of the
lbajardsilogic@0 12 License, or (at your option) any later version. See the file
lbajardsilogic@0 13 COPYING included with this distribution for more information.
lbajardsilogic@0 14 */
lbajardsilogic@0 15
lbajardsilogic@0 16 #ifndef _PROPERTY_STACK_H_
lbajardsilogic@0 17 #define _PROPERTY_STACK_H_
lbajardsilogic@0 18
lbajardsilogic@0 19 #include <QFrame>
lbajardsilogic@0 20 #include <QTabWidget>
lbajardsilogic@0 21 #include <vector>
lbajardsilogic@0 22
lbajardsilogic@0 23 class Layer;
lbajardsilogic@0 24 class View;
lbajardsilogic@0 25 class PropertyBox;
lbajardsilogic@0 26 class PropertyContainer;
lbajardsilogic@0 27
lbajardsilogic@0 28 class PropertyStack : public QTabWidget
lbajardsilogic@0 29 {
lbajardsilogic@0 30 Q_OBJECT
lbajardsilogic@0 31
lbajardsilogic@0 32 public:
lbajardsilogic@0 33 PropertyStack(QWidget *parent, View *client);
lbajardsilogic@51 34 virtual ~PropertyStack();
lbajardsilogic@0 35
lbajardsilogic@0 36 View *getClient() { return m_client; }
lbajardsilogic@0 37 bool containsContainer(PropertyContainer *container) const;
lbajardsilogic@0 38 int getContainerIndex(PropertyContainer *container) const;
lbajardsilogic@0 39
lbajardsilogic@0 40 signals:
lbajardsilogic@0 41 void viewSelected(View *client);
lbajardsilogic@0 42 void propertyContainerSelected(View *client, PropertyContainer *container);
lbajardsilogic@0 43 void contextHelpChanged(const QString &);
lbajardsilogic@0 44
lbajardsilogic@0 45 public slots:
lbajardsilogic@0 46 void propertyContainerAdded(PropertyContainer *);
lbajardsilogic@0 47 void propertyContainerRemoved(PropertyContainer *);
lbajardsilogic@0 48 void propertyContainerPropertyChanged(PropertyContainer *);
lbajardsilogic@0 49 void propertyContainerPropertyRangeChanged(PropertyContainer *);
lbajardsilogic@0 50 void propertyContainerNameChanged(PropertyContainer *);
lbajardsilogic@0 51
lbajardsilogic@0 52 void showLayer(bool);
lbajardsilogic@0 53
lbajardsilogic@0 54 void mouseEnteredTabBar();
lbajardsilogic@0 55 void mouseLeftTabBar();
lbajardsilogic@0 56 void activeTabClicked();
lbajardsilogic@0 57
lbajardsilogic@0 58 protected slots:
lbajardsilogic@0 59 void selectedContainerChanged(int);
lbajardsilogic@0 60
lbajardsilogic@0 61 protected:
lbajardsilogic@0 62 View *m_client;
lbajardsilogic@0 63 std::vector<PropertyBox *> m_boxes;
lbajardsilogic@0 64
lbajardsilogic@0 65 void repopulate();
lbajardsilogic@0 66 void updateValues(PropertyContainer *);
lbajardsilogic@0 67 };
lbajardsilogic@0 68
lbajardsilogic@0 69 #endif