]> sigrok.org Git - pulseview.git/blobdiff - pv/prop/property.hpp
Update property widgets before showing device config popup
[pulseview.git] / pv / prop / property.hpp
index 77eb9a6a73ec61f36f828775e22fbd3cf1b501d1..ebc6412a0bf0f2746be61b00b63ff30289a34b34 100644 (file)
@@ -14,8 +14,7 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef PULSEVIEW_PV_PROP_PROPERTY_HPP
@@ -28,9 +27,12 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 G_GNUC_END_IGNORE_DEPRECATIONS
 
 #include <functional>
+
 #include <QString>
 #include <QWidget>
 
+using std::function;
+
 class QWidget;
 
 namespace pv {
@@ -41,18 +43,19 @@ class Property : public QObject
        Q_OBJECT;
 
 public:
-       typedef std::function<Glib::VariantBase ()> Getter;
-       typedef std::function<void (Glib::VariantBase)> Setter;
+       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;
 
@@ -62,9 +65,10 @@ protected:
 
 private:
        QString name_;
+       QString desc_;
 };
 
-} // prop
-} // pv
+}  // namespace prop
+}  // namespace pv
 
 #endif // PULSEVIEW_PV_PROP_PROPERTY_HPP