前の質問を部分的に解決しました。
GObject現在、サブタイプを登録できます( hpasebindings-gobjectを参照) c'g_type_add_interface_static関数を使用して実装できます(ただし、まだ試していません)。SourceCompletionProvider
唯一の問題は、 からPtr ()返されたc'g_object_newvをgtk2hsデータ型に変換することSourceCompletionProviderです。どうすればいいですか?ヒントはありますか?
SourceCompletionProviderは次のように定義されます。
newtype SourceCompletionProvider = SourceCompletionProvider (ForeignPtr (SourceCompletionProvider))
この定義は何を意味するのでしょうか? なぜ再帰的ですか?プロバイダーはForeignPtrtoプロバイダーです-私には奇妙に見えます。
ありがとう。
解決:
makeNewGObject mkGObject $ castPtr <$> c'g_object_newv myObType 0 nullPtr