]> 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 c2cc63956cde129eac87f05a66959259b6b96cab..a7e6ed8d53f58bdcf8f5418ad7e695b1677e72e3 100644 (file)
@@ -33,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<const void* ()> getter,
-               boost::function<void (const void*)> 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<const void* ()> _getter;
-       boost::function<void (const void*)> _setter;
+       const std::vector< std::pair<GVariant*, QString> > _values;
 
        QComboBox *_selector;
 };