X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fprop%2Fenum.h;h=45454fde41f68e81ae9c997d22fef69bdd58c8b1;hp=02b60df5dd5ee982ace26230f89a1b2ba6e2b34c;hb=8dbbc7f0b9ea59d0f0d62225772f8a56eee125f5;hpb=2db7704ab7ca681917b0eb091ea49378fe18c4a8 diff --git a/pv/prop/enum.h b/pv/prop/enum.h index 02b60df5..45454fde 100644 --- a/pv/prop/enum.h +++ b/pv/prop/enum.h @@ -24,9 +24,12 @@ #include #include -#include #include "property.h" +#include + +Q_DECLARE_METATYPE(Glib::VariantBase); + class QComboBox; namespace pv { @@ -34,22 +37,25 @@ namespace prop { class Enum : public Property { + Q_OBJECT; + public: - Enum(QString name, - std::vector > values, - boost::function getter, - boost::function setter); + Enum(QString name, std::vector > 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 > _values; - boost::function _getter; - boost::function _setter; + const std::vector< std::pair > values_; - QComboBox *_selector; + QComboBox *selector_; }; } // prop