From: Kouhei S. <ko...@co...> - 2011-12-13 14:25:38
|
須藤です。 In <CAMyNdeWh3rGA1OWkTyapM=KTkK9f-EfZCvj=qtb...@ma...> "Re: [ruby-gnome2-devel-ja] interfaceの実装など" on Tue, 13 Dec 2011 21:07:16 +0900, Masaaki Aoyagi <mas...@gm...> wrote: > 例えば、GtkSourceCompletionProvider自体はG_DEF_INTERFACEでモジュールとして定義できるのですが、 > たぶんgtk_source_completion_add_providerあたりでGtkSourceCompletionProviderのインスタンスを > 渡す必要があると思うのですが、実装したGObjectが存在しないため、インスタンス生成をどうやって行うかが > 分からないです。 gtk_source_completion_add_provider()をバインドするというのは、 Rubyレベルで補完をカスタマイズできるようにしたいってことです よね? であれば、私なら↓という感じで実装する気がします。 1. Ruby/GtkSourceView3内でGtkSourceCompletionProviderを実 装したRubyGtkSourceCompletionProviderのようなクラスを定義 2. 1.で定義したクラスにはProcを登録できるようにする 3. 1.で定義したクラスの各メソッドの実装は2.で登録したProc を呼び出すようにする ただ、GtkSourceCompletionProviderはメソッドが多いみたいなので、 大変そうなら、一部のメソッドのみサポートとか、(そんなに大事 なものでなければ)いっそサポートしない(あるいは後回しにする) というのもアリかも、とは思いました。 >> そうです。。。debやrpmではgemみたいに各パッケージ毎にディレ >> クトリを掘るのではなく、共通のディレクトリにヘッダーファイル >> を置くのです。 >> (/usr/lib/ruby/vendor_ruby/1.9.1/x86_64-linux/以下とか) >> >> なので、ヘッダーファイルにはrbgtk3.hの用にバージョンを入れた >> 方がいいと思っています。 > > なるほど。そうなんですね。 > ということで、バージョンを入れるようにしました。 ありがとうございます! |