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