#include <assert.h>
+#include <glib-2.0/glib.h>
#include <QComboBox>
#include "enum.h"
Enum::Enum(QString name,
vector<pair<const void*, QString> > values,
- function<const void* ()> getter,
- function<void (const void*)> setter) :
+ function<GVariant* ()> getter,
+ function<void (GVariant*)> setter) :
Property(name),
_values(values),
_getter(getter),
return _selector;
const void *value = NULL;
- if(_getter)
+ if (_getter)
value = _getter();
_selector = new QComboBox(parent);
- for(unsigned int i = 0; i < _values.size(); i++) {
+ for (unsigned int i = 0; i < _values.size(); i++) {
const pair<const void*, QString> &v = _values[i];
_selector->addItem(v.second,
qVariantFromValue((void*)v.first));
- if(v.first == value)
+ if (v.first == value)
_selector->setCurrentIndex(i);
}
if (index < 0)
return;
- _setter(_selector->itemData(index).value<void*>());
+ _setter(_selector->itemData(index).value<GVariant*>());
}
} // prop