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