]> sigrok.org Git - pulseview.git/blobdiff - pv/prop/enum.h
property: add the necessary include file for std::function
[pulseview.git] / pv / prop / enum.h
index 02b60df5dd5ee982ace26230f89a1b2ba6e2b34c..a7e6ed8d53f58bdcf8f5418ad7e695b1677e72e3 100644 (file)
@@ -24,7 +24,6 @@
 #include <utility>
 #include <vector>
 
-#include <glib-2.0/glib.h>
 #include "property.h"
 
 class QComboBox;
@@ -34,20 +33,23 @@ namespace prop {
 
 class Enum : public Property
 {
+       Q_OBJECT;
+
 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);
+       QWidget* get_widget(QWidget *parent, bool auto_commit);
 
        void commit();
 
+private slots:
+       void on_current_item_changed(int);
+
 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;
 };