X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fprop%2Fenum.h;h=6ff785a3ba430562fffbfacb47d97b5990a0ed04;hp=c2cc63956cde129eac87f05a66959259b6b96cab;hb=e8d009288de28cb194bc7964f96677c2baf900c9;hpb=24bb0bd140f7f8b00ea3c0cbe0c5d26dc03a3b69 diff --git a/pv/prop/enum.h b/pv/prop/enum.h index c2cc6395..6ff785a3 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,20 +37,23 @@ 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; };