X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fprop%2Fenum.h;h=45454fde41f68e81ae9c997d22fef69bdd58c8b1;hp=c2cc63956cde129eac87f05a66959259b6b96cab;hb=8dbbc7f0b9ea59d0f0d62225772f8a56eee125f5;hpb=24bb0bd140f7f8b00ea3c0cbe0c5d26dc03a3b69 diff --git a/pv/prop/enum.h b/pv/prop/enum.h index c2cc6395..45454fde 100644 --- a/pv/prop/enum.h +++ b/pv/prop/enum.h @@ -26,6 +26,10 @@ #include "property.h" +#include + +Q_DECLARE_METATYPE(Glib::VariantBase); + class QComboBox; namespace pv { @@ -33,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