|
From: Kouhei S. <ko...@co...> - 2011-12-13 14:25:38
|
須藤です。
In <CAM...@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の用にバージョンを入れた
>> 方がいいと思っています。
>
> なるほど。そうなんですね。
> ということで、バージョンを入れるようにしました。
ありがとうございます!
|