#include "binding.h"
-using namespace boost;
+using boost::shared_ptr;
namespace pv {
namespace prop {
}
}
-void Binding::add_properties_to_form(QFormLayout *layout) const
+void Binding::add_properties_to_form(QFormLayout *layout,
+ bool auto_commit) const
{
assert(layout);
BOOST_FOREACH(shared_ptr<pv::prop::Property> p, _properties)
{
assert(p);
- const QString label = p->labeled_widget() ? QString() : p->name();
- layout->addRow(label, p->get_widget(layout->parentWidget()));
+
+ QWidget *const widget = p->get_widget(layout->parentWidget(),
+ auto_commit);
+ if (p->labeled_widget())
+ layout->addRow(widget);
+ else
+ layout->addRow(p->name(), widget);
}
}
-QWidget* Binding::get_property_form(QWidget *parent) const
+QWidget* Binding::get_property_form(QWidget *parent,
+ bool auto_commit) const
{
QWidget *const form = new QWidget(parent);
QFormLayout *const layout = new QFormLayout(form);
form->setLayout(layout);
- add_properties_to_form(layout);
+ add_properties_to_form(layout, auto_commit);
return form;
}
+QString Binding::print_gvariant(GVariant *const gvar)
+{
+ QString s;
+
+ if (g_variant_is_of_type(gvar, G_VARIANT_TYPE("s")))
+ s = QString::fromUtf8(g_variant_get_string(gvar, NULL));
+ else
+ {
+ gchar *const text = g_variant_print(gvar, FALSE);
+ s = QString::fromUtf8(text);
+ g_free(text);
+ }
+
+ return s;
+}
+
} // binding
} // prop
} // pv