I partially solved the prev issue.
Now I can register a GObject subtype via bindings-gobject (see hpase ). I can implement SourceCompletionProvider using the c'g_type_add_interface_static function (but have not tried it yet).
The only problem is converting the Ptr () returned by c'g_object_newv to the gtk2hs data type SourceCompletionProvider . How can I do it? Any clues?
SourceCompletionProvider defined as follows:
newtype SourceCompletionProvider = SourceCompletionProvider (ForeignPtr (SourceCompletionProvider))
What does this definition mean? Why is it recursive? The provider, the ForeignPtr provider, looks strange to me.
Thanks.
Decision:
makeNewGObject mkGObject $ castPtr <$> c'g_object_newv myObType 0 nullPtr
Yuras source share