]> sigrok.org Git - pulseview.git/blobdiff - pv/prop/property.h
Added Bool property and bound to SR_CONF_RLE
[pulseview.git] / pv / prop / property.h
index e6745a10d903cf9b4726f83c2bd1d252cf741b8a..31b90330d5e68a69cd63f01c220b5abdbdb30f2d 100644 (file)
 #ifndef PULSEVIEW_PV_PROP_PROPERTY_H
 #define PULSEVIEW_PV_PROP_PROPERTY_H
 
+#include <glib-2.0/glib.h>
+
+#include <boost/function.hpp>
+
 #include <QString>
 #include <QWidget>
 
@@ -31,13 +35,24 @@ namespace prop {
 
 class Property
 {
+public:
+       typedef boost::function<GVariant* ()> Getter;
+       typedef boost::function<void (GVariant*)> Setter;
+
 protected:
-       Property(QString name);
+       Property(QString name, Getter getter, Setter setter);
 
 public:
        const QString& name() const;
 
        virtual QWidget* get_widget(QWidget *parent) = 0;
+       virtual bool labeled_widget() const;
+
+       virtual void commit() = 0;
+
+protected:
+       const Getter _getter;
+       const Setter _setter;
 
 private:
        QString _name;