X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fbinding%2Finputoutput.cpp;h=0d9b2d0d72298bc66e18c5f0faa40615c36d091e;hp=d13ba196e3674ea29b46be4ca3b122bbb38f8f72;hb=4e2195c8d934f7f874b612eaace8c6849e8b475d;hpb=efdec55aec1a137460fa362a381ed1904182bfed diff --git a/pv/binding/inputoutput.cpp b/pv/binding/inputoutput.cpp index d13ba19..0d9b2d0 100644 --- a/pv/binding/inputoutput.cpp +++ b/pv/binding/inputoutput.cpp @@ -35,7 +35,6 @@ using boost::none; -using std::make_pair; using std::map; using std::pair; using std::shared_ptr; @@ -65,11 +64,13 @@ InputOutput::InputOutput( assert(opt); const QString name = QString::fromStdString(opt->name()); + const QString desc = QString::fromStdString(opt->description()); + const VariantBase def_val = opt->default_value(); const vector values = opt->values(); options_[opt->id()] = def_val; - + const Property::Getter get = [&, opt]() { return options_[opt->id()]; }; const Property::Setter set = [&, opt](VariantBase value) { @@ -78,20 +79,20 @@ InputOutput::InputOutput( shared_ptr prop; if (!opt->values().empty()) - prop = bind_enum(name, values, get, set); + prop = bind_enum(name, desc, values, get, set); else if (def_val.is_of_type(VariantType("b"))) - prop = shared_ptr(new Bool(name, get, set)); + prop = shared_ptr(new Bool(name, desc, get, set)); else if (def_val.is_of_type(VariantType("d"))) - prop = shared_ptr(new Double(name, 2, "", + prop = shared_ptr(new Double(name, desc, 2, "", none, none, get, set)); else if (def_val.is_of_type(VariantType("i")) || def_val.is_of_type(VariantType("t")) || def_val.is_of_type(VariantType("u"))) prop = shared_ptr( - new Int(name, "", none, get, set)); + new Int(name, desc, "", none, get, set)); else if (def_val.is_of_type(VariantType("s"))) prop = shared_ptr( - new String(name, get, set)); + new String(name, desc, get, set)); else continue; @@ -105,13 +106,13 @@ const map& InputOutput::options() const } shared_ptr InputOutput::bind_enum( - const QString &name, const vector &values, + const QString &name, const QString &desc, const vector &values, Property::Getter getter, Property::Setter setter) { vector< pair > enum_vals; for (VariantBase var : values) - enum_vals.push_back(make_pair(var, print_gvariant(var))); - return shared_ptr(new Enum(name, enum_vals, getter, setter)); + enum_vals.emplace_back(var, print_gvariant(var)); + return shared_ptr(new Enum(name, desc, enum_vals, getter, setter)); } } // namespace binding