X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fbinding%2Fbinding.cpp;h=ddf0c19a213580846b974ad36fb90a54aede7f94;hp=26cbce48e774f8f7b5a9b4c4d55fea7fb9d67eba;hb=dbed5609ae31cdfc3e9db10f3ab91b7607c08372;hpb=efdec55aec1a137460fa362a381ed1904182bfed diff --git a/pv/binding/binding.cpp b/pv/binding/binding.cpp index 26cbce4..ddf0c19 100644 --- a/pv/binding/binding.cpp +++ b/pv/binding/binding.cpp @@ -20,17 +20,20 @@ #include #include +#include #include #include "binding.hpp" using std::shared_ptr; +using std::string; +using std::vector; namespace pv { namespace binding { -const std::vector< std::shared_ptr >& Binding::properties() +const vector< shared_ptr >& Binding::properties() { return properties_; } @@ -51,12 +54,14 @@ void Binding::add_properties_to_form(QFormLayout *layout, for (shared_ptr p : properties_) { assert(p); - QWidget *const widget = p->get_widget(layout->parentWidget(), - auto_commit); - if (p->labeled_widget()) + QWidget *const widget = p->get_widget(layout->parentWidget(), auto_commit); + if (p->labeled_widget()) { layout->addRow(widget); - else - layout->addRow(p->name(), widget); + } else { + auto *lbl = new QLabel(p->name()); + lbl->setToolTip(p->desc()); + layout->addRow(lbl, widget); + } } } @@ -70,6 +75,14 @@ QWidget* Binding::get_property_form(QWidget *parent, return form; } +void Binding::update_property_widgets() +{ + for (shared_ptr p : properties_) { + assert(p); + p->update_widget(); + } +} + QString Binding::print_gvariant(Glib::VariantBase gvar) { QString s; @@ -78,13 +91,12 @@ QString Binding::print_gvariant(Glib::VariantBase gvar) s = QString::fromStdString("(null)"); else if (gvar.is_of_type(Glib::VariantType("s"))) s = QString::fromStdString( - Glib::VariantBase::cast_dynamic>( - gvar).get()); + Glib::VariantBase::cast_dynamic>(gvar).get()); else s = QString::fromStdString(gvar.print()); return s; } -} // binding -} // pv +} // namespace binding +} // namespace pv