projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
.gitignore: Ignore QtCreator generated files.
[pulseview.git]
/
pv
/
prop
/
property.h
diff --git
a/pv/prop/property.h
b/pv/prop/property.h
index e6745a10d903cf9b4726f83c2bd1d252cf741b8a..0d1b53160ca2381997ce5aa621b6b8dcd47a30d3 100644
(file)
--- a/
pv/prop/property.h
+++ b/
pv/prop/property.h
@@
-21,6
+21,9
@@
#ifndef PULSEVIEW_PV_PROP_PROPERTY_H
#define PULSEVIEW_PV_PROP_PROPERTY_H
#ifndef PULSEVIEW_PV_PROP_PROPERTY_H
#define PULSEVIEW_PV_PROP_PROPERTY_H
+#include <glibmm-2.4/glibmm.h>
+
+#include <functional>
#include <QString>
#include <QWidget>
#include <QString>
#include <QWidget>
@@
-29,15
+32,29
@@
class QWidget;
namespace pv {
namespace prop {
namespace pv {
namespace prop {
-class Property
+class Property
: public QObject
{
{
+ Q_OBJECT;
+
+public:
+ typedef std::function<Glib::VariantBase ()> Getter;
+ typedef std::function<void (Glib::VariantBase)> Setter;
+
protected:
protected:
- Property(QString name);
+ Property(QString name
, Getter getter, Setter setter
);
public:
const QString& name() const;
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;
+
+protected:
+ const Getter _getter;
+ const Setter _setter;
private:
QString _name;
private:
QString _name;