]> sigrok.org Git - pulseview.git/blobdiff - pv/prop/enum.h
Use libsigrok C++ bindings (patch version 7).
[pulseview.git] / pv / prop / enum.h
index 2350fef886917ad884639938c0f5b106a00a6c70..6ff785a3ba430562fffbfacb47d97b5990a0ed04 100644 (file)
 
 #include "property.h"
 
+#include <QMetaType>
+
+Q_DECLARE_METATYPE(Glib::VariantBase);
+
 class QComboBox;
 
 namespace pv {
@@ -33,13 +37,23 @@ namespace prop {
 
 class Enum : public Property
 {
+       Q_OBJECT;
+
 public:
-       Enum(QString name, std::vector<std::pair<int, QString> > values);
+       Enum(QString name, std::vector<std::pair<Glib::VariantBase, QString> > values,
+               Getter getter, Setter setter);
+
+       virtual ~Enum();
+
+       QWidget* get_widget(QWidget *parent, bool auto_commit);
+
+       void commit();
 
-       QWidget* get_widget(QWidget *parent);
+private Q_SLOTS:
+       void on_current_item_changed(int);
 
 private:
-       const std::vector< std::pair<int, QString> > _values;
+       const std::vector< std::pair<Glib::VariantBase, QString> > _values;
 
        QComboBox *_selector;
 };