#ifndef TAUVALUEVIEW_H
#define TAUVALUEVIEW_H
#include <QWidget>
#include <QLabel>
#include <QSpinBox>
#include <QLineEdit>
#include <QFormLayout>
namespace tauvalueplugin
{
{
public:
    TauValueView();
    
    double
    getDoubleValue( cube::Value* ) const;
    QString
    toString( const cubegui::TreeItem* ) const;
    QPixmap
    getIcon( const cubegui::TreeItem*,
             bool grayOut ) const;
    QSize
    getIconSize( const cubegui::TreeItem* ) const;
    bool
    isAvailable( cube::DataType type ) const;
    QString
    getName() const;
    QWidget*
    getConfigWidget( cube::DataType type );
    void
    applyConfig();
    void
    cancelConfig();
    
    virtual QString
    settingName()
    {
        return "TauValueViewPlugin";
    }
    virtual void
    loadGlobalSettings( QSettings& );
    virtual void
    saveGlobalSettings( QSettings& );
private:
    QSpinBox*  wbox, * hbox;
    QLineEdit* tauInput;
    QWidget*   configWidget;
    QSize      iconSize, iconSizeOld;
};
{
    Q_OBJECT
#if QT_VERSION >= 0x050000
    Q_PLUGIN_METADATA( IID "TauValueViewPlugin" ) 
#endif
public:
    
    virtual bool
    virtual void
    cubeClosed();
    virtual QString
    name() const;
    virtual void
    version( int& major,
             int& minor,
             int& bugfix ) const;
    virtual QString
    getHelpText() const;
private:
    TauValueView*                  view;
};
}
#endif // TAUVALUEVIEW_H