X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fprop%2Fdouble.cpp;h=39e205ee691f2910dd7899ac958ae5d9c69bde3f;hp=c1e776e1f6c890c21d9d435cbc66316d8976e528;hb=f459c5400e067c4389c472b84194d760e7bfd585;hpb=793f8096c486d0fba871227d9772a510f7496c08 diff --git a/pv/prop/double.cpp b/pv/prop/double.cpp index c1e776e1..39e205ee 100644 --- a/pv/prop/double.cpp +++ b/pv/prop/double.cpp @@ -35,19 +35,21 @@ Double::Double(QString name, QString suffix, optional< pair > range, optional step, - function getter, - function setter) : - Property(name), + Getter getter, + Setter setter) : + Property(name, getter, setter), _decimals(decimals), _suffix(suffix), _range(range), _step(step), - _getter(getter), - _setter(setter), _spin_box(NULL) { } +Double::~Double() +{ +} + QWidget* Double::get_widget(QWidget *parent) { if (_spin_box) @@ -61,7 +63,12 @@ QWidget* Double::get_widget(QWidget *parent) if (_step) _spin_box->setSingleStep(*_step); - _spin_box->setValue(_getter ? _getter() : 0.0); + GVariant *const value = _getter ? _getter() : NULL; + + if (value) { + _spin_box->setValue(g_variant_get_double(value)); + g_variant_unref(value); + } return _spin_box; } @@ -73,7 +80,7 @@ void Double::commit() if (!_spin_box) return; - _setter(_spin_box->value()); + _setter(g_variant_new_double(_spin_box->value())); } } // prop