#ifndef PULSEVIEW_PV_PROP_PROPERTY_H
#define PULSEVIEW_PV_PROP_PROPERTY_H
-#include <glib-2.0/glib.h>
-
-#include <boost/function.hpp>
+#include <glib.h>
+#include <functional>
#include <QString>
#include <QWidget>
namespace pv {
namespace prop {
-class Property
+class Property : public QObject
{
+ Q_OBJECT;
+
public:
- typedef boost::function<GVariant* ()> Getter;
- typedef boost::function<void (GVariant*)> Setter;
+ typedef std::function<GVariant* ()> Getter;
+ typedef std::function<void (GVariant*)> Setter;
protected:
Property(QString name, Getter getter, Setter setter);
public:
const QString& name() const;
- virtual QWidget* get_widget(QWidget *parent) = 0;
+ virtual QWidget* get_widget(QWidget *parent,
+ bool auto_commit = false) = 0;
virtual bool labeled_widget() const;
virtual void commit() = 0;