#include "property.h"
+#include <QMetaType>
+
+Q_DECLARE_METATYPE(Glib::VariantBase);
+
class QComboBox;
namespace pv {
class Enum : public Property
{
+ Q_OBJECT;
+
public:
- Enum(QString name,
- std::vector<std::pair<const void*, QString> > values,
- boost::function<const void* ()> getter,
- boost::function<void (const void*)> setter);
+ Enum(QString name, std::vector<std::pair<Glib::VariantBase, QString> > values,
+ Getter getter, Setter setter);
- QWidget* get_widget(QWidget *parent);
+ virtual ~Enum();
+
+ QWidget* get_widget(QWidget *parent, bool auto_commit);
void commit();
+private Q_SLOTS:
+ void on_current_item_changed(int);
+
private:
- const std::vector< std::pair<const void*, QString> > _values;
- boost::function<const void* ()> _getter;
- boost::function<void (const void*)> _setter;
+ const std::vector< std::pair<Glib::VariantBase, QString> > _values;
QComboBox *_selector;
};