annotate widgets/PropertyStack.h @ 0:fc9323a41f5a

start base : Sonic Visualiser sv1-1.0rc1
author lbajardsilogic
date Fri, 11 May 2007 09:08:14 +0000
parents
children 8e5f9a9aa43f
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@0 34
lbajardsilogic@0 35 View *getClient() { return m_client; }
lbajardsilogic@0 36 bool containsContainer(PropertyContainer *container) const;
lbajardsilogic@0 37 int getContainerIndex(PropertyContainer *container) const;
lbajardsilogic@0 38
lbajardsilogic@0 39 signals:
lbajardsilogic@0 40 void viewSelected(View *client);
lbajardsilogic@0 41 void propertyContainerSelected(View *client, PropertyContainer *container);
lbajardsilogic@0 42 void contextHelpChanged(const QString &);
lbajardsilogic@0 43
lbajardsilogic@0 44 public slots:
lbajardsilogic@0 45 void propertyContainerAdded(PropertyContainer *);
lbajardsilogic@0 46 void propertyContainerRemoved(PropertyContainer *);
lbajardsilogic@0 47 void propertyContainerPropertyChanged(PropertyContainer *);
lbajardsilogic@0 48 void propertyContainerPropertyRangeChanged(PropertyContainer *);
lbajardsilogic@0 49 void propertyContainerNameChanged(PropertyContainer *);
lbajardsilogic@0 50
lbajardsilogic@0 51 void showLayer(bool);
lbajardsilogic@0 52
lbajardsilogic@0 53 void mouseEnteredTabBar();
lbajardsilogic@0 54 void mouseLeftTabBar();
lbajardsilogic@0 55 void activeTabClicked();
lbajardsilogic@0 56
lbajardsilogic@0 57 protected slots:
lbajardsilogic@0 58 void selectedContainerChanged(int);
lbajardsilogic@0 59
lbajardsilogic@0 60 protected:
lbajardsilogic@0 61 View *m_client;
lbajardsilogic@0 62 std::vector<PropertyBox *> m_boxes;
lbajardsilogic@0 63
lbajardsilogic@0 64 void repopulate();
lbajardsilogic@0 65 void updateValues(PropertyContainer *);
lbajardsilogic@0 66 };
lbajardsilogic@0 67
lbajardsilogic@0 68 #endif