#ifndef PULSEVIEW_PV_PROP_BINDING_BINDING_H
#define PULSEVIEW_PV_PROP_BINDING_BINDING_H
+#include <glib.h>
+
#include <vector>
-#include <boost/shared_ptr.hpp>
+#include <memory>
+
+#include <QString>
+class QFormLayout;
class QWidget;
namespace pv {
class Binding
{
public:
- Binding();
-
-public:
- QWidget* get_form(QWidget *parent);
+ const std::vector< std::shared_ptr<Property> >& properties();
void commit();
-protected:
- std::vector< boost::shared_ptr<Property> > _properties;
+ void add_properties_to_form(QFormLayout *layout,
+ bool auto_commit = false) const;
+
+ QWidget* get_property_form(QWidget *parent,
+ bool auto_commit = false) const;
- QWidget *_form;
+ static QString print_gvariant(GVariant *const gvar);
+
+protected:
+ std::vector< std::shared_ptr<Property> > _properties;
};
} // binding