X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fprop%2Fenum.h;h=6ff785a3ba430562fffbfacb47d97b5990a0ed04;hp=02b60df5dd5ee982ace26230f89a1b2ba6e2b34c;hb=e8d009288de28cb194bc7964f96677c2baf900c9;hpb=2db7704ab7ca681917b0eb091ea49378fe18c4a8 diff --git a/pv/prop/enum.h b/pv/prop/enum.h index 02b60df5..6ff785a3 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,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; };