【发布时间】:2012-09-12 15:08:26
【问题描述】:
我已经部分解决了prev 的问题。
现在我可以通过bindings-gobject 注册GObject 子类型(参见hpase)
我可以使用c'g_type_add_interface_static 函数实现SourceCompletionProvider(但还没有尝试过)。
唯一的问题是将c'g_object_newv返回的Ptr ()转换为gtk2hs数据类型SourceCompletionProvider。我该怎么做?有什么提示吗?
SourceCompletionProvider 定义如下:
newtype SourceCompletionProvider = SourceCompletionProvider (ForeignPtr (SourceCompletionProvider))
这个定义是什么意思?为什么它是递归的?提供者是提供者的ForeignPtr——对我来说看起来很奇怪。
谢谢。
解决方案:
makeNewGObject mkGObject $ castPtr <$> c'g_object_newv myObType 0 nullPtr
【问题讨论】: