[#5880] "Linux Journal Vol.6" carries an article on Ruby — Shin-ichiro HARA <sinara@...>

原です。

16 messages 1998/01/19
[#5881] Re: "Linux Journal Vol.6" carries an article on Ruby — matz@... (Yukihiro Matsumoto) 1998/01/19

まつもと ゆきひろです

[#5905] win and unix, and so on — TAKAHASHI Masayoshi <maki@...>

高橋と申します。はじめまして。しばらくROMしてました。

27 messages 1998/01/20
[#5906] Re: win and unix, and so on — matz@... (Yukihiro Matsumoto) 1998/01/20

まつもと ゆきひろです

[#5912] Re: win and unix, and so on — WATANABE Hirofumi <watanabe@...> 1998/01/20

わたなべです.

[#5922] Re: win and unix, and so on — Shin-ichiro HARA <sinara@...> 1998/01/20

原です。

[#5951] How to use TkMenu ? — Kikutani Makoto <kikutani@...>

きくたにです。

16 messages 1998/01/21
[#5952] Re: How to use TkMenu ? — matz@... (Yukihiro Matsumoto) 1998/01/21

まつもと ゆきひろです

[#6023] Comparison with Other Languages (Re: [python-ml-jp 54] Re: Reasons why I prefer to use Python) — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

8 messages 1998/01/26

[#6055] Ruby連載 第3回 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

68 messages 1998/01/28
[#6057] Re: Ruby 連載 第 3 回 — Kikutani Makoto <kikutani@...> 1998/01/28

きくたにです。

[#6060] Re: Ruby 連載 第 3 回 — matz@... (Yukihiro Matsumoto) 1998/01/28

まつもと ゆきひろです

[#6073] Re: Ruby連載 第3回 — hisanori@... 1998/01/28

松尾です。こんばんは。

[#6089] Re: Ruby連載 第3回 — matz@... (Yukihiro Matsumoto) 1998/01/29

まつもと ゆきひろです

[#6119] man/date/time — Tadayoshi Funaba <tadf@...>

こんにちは、ちょっと訊きたいことがあります。

37 messages 1998/01/29
[#6128] lib/date.rb (Re: man/date/time) — matz@... (Yukihiro Matsumoto) 1998/01/30

まつもと ゆきひろです

[#6136] Re: man/date/time — keiju@... (石塚圭樹 ) 1998/01/30

けいじゅ@日本ラショナルソフトウェアです.

[#6155] Re: man/date/time — Tadayoshi Funaba <tadf@...> 1998/01/31

>すいません. ruby-devにだけポストしていました.

[ruby-list:5885] Re: Ruby/Gtk module

From: shugo@... (Shugo Maeda)
Date: 1998-01-19 15:25:17 UTC
List: ruby-list #5885
前田です。

In message "[ruby-list:5877] Ruby/Gtk module"
Yukihiro Matsumoto <matz@netlab.co.jp> wrote:

|先日来ごちゃごちゃやってたRuby/Gtkですが,いちおうある程度動
|くようですから,公開します.

ようやく試してみました。
Gtkってウィジェットが豊富ですね:-)

ちょっと気になったのですが、ウィジェットクラスはnewが
オーバーライドされているので、

class MsgButton < Gtk::Button
  def initialize(label, msg)
    super(label)
    @msg = msg
    ...
  end
end

みたいなことをしようとするとうまく行かず、

class MsgButton < Gtk::Button
  def MsgButton.new(label, msg)
    obj = super(label)
    obj.initialize(msg)
    return obj
  end
  
  def initialize(msg)
    @msg = msg
    ...
  end
end

などとする必要がありますね。

newではなくinitializeをオーバーライドするように
するというのはどうでしょう。

void
set_gobject(obj, gtkobj)
    VALUE obj;
    GtkObject *gtkobj;
{
    VALUE data;

    gtk_object_ref(gtkobj);
    data = Data_Wrap_Struct(cData, 0, gobj_free, gtkobj);
    gtk_object_set_user_data(gtkobj, (gpointer)obj);
    rb_ivar_set(obj, id_gtkdata, data);
}

static VALUE
label_initialize(self, label)
    VALUE self, label;
{
    set_gobject(self, gtk_label_new(get_cstring(label)));
    return Qnil;
}

のような感じです。
# あとget_cstringはNUM2INTみたいに標準で用意されていると
# うれしいです。

-- 
前田 修吾

In This Thread