]> sigrok.org Git - pulseview.git/blobdiff - pv/prop/property.hpp
Implement MathSignal
[pulseview.git] / pv / prop / property.hpp
index 1a7b264dfc96429e6e3688bd81614337133c0374..da1c260e81302185e6c4570a8dc7fcf8e1bbde31 100644 (file)
@@ -27,6 +27,7 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 G_GNUC_END_IGNORE_DEPRECATIONS
 
 #include <functional>
+
 #include <QString>
 #include <QWidget>
 
@@ -39,21 +40,22 @@ namespace prop {
 
 class Property : public QObject
 {
-       Q_OBJECT;
+       Q_OBJECT
 
 public:
        typedef function<Glib::VariantBase ()> Getter;
        typedef function<void (Glib::VariantBase)> Setter;
 
 protected:
-       Property(QString name, Getter getter, Setter setter);
+       Property(QString name, QString desc, Getter getter, Setter setter);
 
 public:
        const QString& name() const;
+       const QString& desc() const;
 
-       virtual QWidget* get_widget(QWidget *parent,
-               bool auto_commit = false) = 0;
+       virtual QWidget* get_widget(QWidget *parent, bool auto_commit = false) = 0;
        virtual bool labeled_widget() const;
+       virtual void update_widget() = 0;
 
        virtual void commit() = 0;
 
@@ -61,11 +63,12 @@ protected:
        const Getter getter_;
        const Setter setter_;
 
-private:
+protected:
        QString name_;
+       QString desc_;
 };
 
-} // prop
-} // pv
+}  // namespace prop
+}  // namespace pv
 
 #endif // PULSEVIEW_PV_PROP_PROPERTY_HPP