]> sigrok.org Git - pulseview.git/blobdiff - pv/prop/enum.h
Make pv::prop objects run on GVariants
[pulseview.git] / pv / prop / enum.h
index 02b60df5dd5ee982ace26230f89a1b2ba6e2b34c..402798c08aed26a2c5b5a8c088704528b6eb5bb2 100644 (file)
@@ -24,7 +24,6 @@
 #include <utility>
 #include <vector>
 
 #include <utility>
 #include <vector>
 
-#include <glib-2.0/glib.h>
 #include "property.h"
 
 class QComboBox;
 #include "property.h"
 
 class QComboBox;
@@ -35,19 +34,17 @@ namespace prop {
 class Enum : public Property
 {
 public:
 class Enum : public Property
 {
 public:
-       Enum(QString name,
-               std::vector<std::pair<const void*, QString> > values,
-               boost::function<GVariant* ()> getter,
-               boost::function<void (GVariant*)> setter);
+       Enum(QString name, std::vector<std::pair<GVariant*, QString> > values,
+               Getter getter, Setter setter);
+
+       virtual ~Enum();
 
        QWidget* get_widget(QWidget *parent);
 
        void commit();
 
 private:
 
        QWidget* get_widget(QWidget *parent);
 
        void commit();
 
 private:
-       const std::vector< std::pair<const void*, QString> > _values;
-       boost::function<GVariant* ()> _getter;
-       boost::function<void (GVariant*)> _setter;
+       const std::vector< std::pair<GVariant*, QString> > _values;
 
        QComboBox *_selector;
 };
 
        QComboBox *_selector;
 };