]> sigrok.org Git - pulseview.git/blobdiff - pv/prop/property.h
Replaced boost::bind with C++11 lambdas
[pulseview.git] / pv / prop / property.h
index 6ab83193963c3d0a8f6b470c2bd551c41ad625ac..e5a523f93758ac6612f87637a06b7cad5770bd5e 100644 (file)
@@ -21,9 +21,7 @@
 #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 <QString>
 #include <QWidget>
@@ -33,11 +31,13 @@ class 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);
@@ -45,7 +45,9 @@ protected:
 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;