view widgets/PropertyStack.h @ 37:21d061e66177

* Make the frequency estimation mode in the spectrogram layer actually useful, and make sure it gets mostly the right results... Still some tidying to do in here.
author Chris Cannam
date Wed, 22 Feb 2006 17:45:18 +0000
parents 46d8f5add6f0
children 2e2ad8510e52
line wrap: on
line source
/* -*- c-basic-offset: 4 -*-  vi:set ts=8 sts=4 sw=4: */

/*
    A waveform viewer and audio annotation editor.
    Chris Cannam, Queen Mary University of London, 2005-2006
    
    This is experimental software.  Not for distribution.
*/

#ifndef _PROPERTY_STACK_H_
#define _PROPERTY_STACK_H_

#include <QFrame>
#include <QTabWidget>
#include <vector>

class Layer;
class View;
class PropertyBox;
class PropertyContainer;

class PropertyStack : public QTabWidget
{
    Q_OBJECT

public:
    PropertyStack(QWidget *parent, View *client);

    bool containsContainer(PropertyContainer *container) const;
    int getContainerIndex(PropertyContainer *container) const;

signals:
    void propertyContainerSelected(PropertyContainer *container);

public slots:
    void propertyContainerAdded(PropertyContainer *);
    void propertyContainerRemoved(PropertyContainer *);
    void propertyContainerPropertyChanged(PropertyContainer *);
    void propertyContainerNameChanged(PropertyContainer *);

protected slots:
    void selectedContainerChanged(int);

protected:
    View *m_client;
    std::vector<PropertyBox *> m_boxes;

    void repopulate();
    void updateValues(PropertyContainer *);
};

#endif