X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fbinding%2Fdevice.hpp;h=30d89ddd493a106e2c423844661465dbc268df06;hp=81c505986c85ac27662dfa7443b13ff5bcceff5f;hb=HEAD;hpb=efdec55aec1a137460fa362a381ed1904182bfed diff --git a/pv/binding/device.hpp b/pv/binding/device.hpp index 81c50598..30d89ddd 100644 --- a/pv/binding/device.hpp +++ b/pv/binding/device.hpp @@ -20,6 +20,8 @@ #ifndef PULSEVIEW_PV_BINDING_DEVICE_HPP #define PULSEVIEW_PV_BINDING_DEVICE_HPP +#include + #include #include @@ -31,42 +33,49 @@ #include +using std::function; +using std::pair; +using std::set; +using std::shared_ptr; + namespace pv { namespace binding { -class Device : public QObject, public Binding +class Device : public Binding { Q_OBJECT public: - Device(std::shared_ptr configurable); + Device(shared_ptr configurable); Q_SIGNALS: void config_changed(); private: - void bind_bool(const QString &name, + void bind_bool(const QString &name, const QString &desc, prop::Property::Getter getter, prop::Property::Setter setter); - void bind_enum(const QString &name, + void bind_enum(const QString &name, const QString &desc, const sigrok::ConfigKey *key, - std::set capabilities, + set capabilities, prop::Property::Getter getter, prop::Property::Setter setter, - std::function printer = print_gvariant); - void bind_int(const QString &name, QString suffix, - boost::optional< std::pair > range, - prop::Property::Getter getter, prop::Property::Setter setter); + function printer = print_gvariant); + void bind_int(const QString &name, const QString &desc, QString suffix, + boost::optional< pair > range, + prop::Property::Getter getter, prop::Property::Setter setter, + QString special_value_text = ""); static QString print_timebase(Glib::VariantBase gvar); static QString print_vdiv(Glib::VariantBase gvar); static QString print_voltage_threshold(Glib::VariantBase gvar); static QString print_probe_factor(Glib::VariantBase gvar); + static QString print_averages(Glib::VariantBase gvar); protected: - std::shared_ptr configurable_; + shared_ptr configurable_; }; -} // binding -} // pv +} // namespace binding +} // namespace pv #endif // PULSEVIEW_PV_BINDING_DEVICE_HPP