Today's problem that has me in a tizz…

I need to have a data model which I am storing in a subclass of gtk.ListStore with some string columns and a pango.PgFontDescription column. I have:

super([
   GType.STRING,
   GType.STRING,
   GType.STRING, 
   GType.STRING,
   PgFontDescription.getType,  // ColumnNumber.fontDescription
]);

This seems fine. I can even put a PgFontDescription object in with:

setValue(iter, ColumnNumber.fontDescription, fontDescription);

However I have no idea which version of ListStore.setValue is being used. In particular:

assert(Value.typeCompatible(PgFontDescription.getType, Value.getType));

always fails. The real problem I have is that:

auto object = model.getValue(iter, ColumnNumber.fontDescription);

returns but I have no idea how to get the actual PgFontDescription as:

assert(Value.typeCompatible(object.getType, PgFontDescription.getType));

fails. Clearly the setValue is not doing what I think it is doing,i.e. it is not creating a Value instance. Is it that fontDescription is actually being treated as an integer value?