いがらしです。

試しにSWIGで書いてみようとしたのですが……
GTK+では単なるCの構造体のくせにクラス継承があったりするのですが、
スーパークラスが指定できないので、うまくRubyのクラスを定義させる
ことができませんでした。

スーパークラスを指定するようなpragmaがあればうまくいくのかな?
こんなかんじで。

typedef struct gtk_window {
    %pragma(ruby) super = "cGtkBin";
    %addmethods {
        GtkWindow(GtkWindowType type) {
            return GTK_WINDOW(gtk_window_new(type));
        }
} GtkWindow;

でもやっぱりSWIGとの相性は悪そうですね。
だからSWIG/RubyのexampleにはQtを入れたんでしょうか?

At Sat, 08 Jan 2000 17:49:23 +0900,
in [ruby-ext:00832] Re: Init_*() function,
Masaki Fukushima <fukusima / goto.info.waseda.ac.jp> wrote:
> 
> Hiroshi IGARASHI <igarashi / ueda.info.waseda.ac.jp> wrote:
> > # 僕もRuby/GTKのSWIG化を目指してSWIG/Rubyを勉強してます。
> 
> ワークショップの時に話した、gtk.defsを使う方法は使えないでしょう
> か。
> 
> python-gtk は以前は swig を使っていたのを、.defs を使うように途中
> で変更したみたいです。Perlもgtk.defsを使っていたと思います。

はい、そうなってます。

> 彼らがswigを使っていないのには、それなりに理由もあると思うので、
> swig以外の可能性も考えてみませんか?

そうですね。とりあえず .defs の利用を試してみます。

--
五十嵐  宏  (Hiroshi IGARASHI)