いがらしです。

At Wed, 17 Nov 1999 09:21:28 -0500,
in [ruby-ext:00541] Re: Gtk: DnD,
Yasushi Shoji <yashi / yashi.com> wrote:
> 
> > > 1) 素直に、Gtk::Drag moduleを作る。
> > > 2) それぞれの classの instance methodにする。
> > > 3) Widgetを引き数に取る関数だけ、Widget classの instance methodに
> > >    あとの二つは、Gtk::Dragに
> > > 
> > > どれが良いでしょうか?
> > 
> > 僕は3がいいなと思ってます。
> 
> あぅ、とりあえず:
> Gtk::Drag.source_set(button, Gdk::BUTTON1_MASK, targets,
> 		     Gdk::ACTION_COPY | Gdk::ACTION_MOVE);
> 
> で、source設定できる様にしてしまいました。
> Gtk::Drag.source_setと button.drag_source_set()の両方ができる方が
> 良いですかね?

そう思います。
また、DnDのAPIで気になったのですが

At Sun, 14 Nov 1999 08:02:00 -0500,
in [ruby-ext:00527] Gtk: DnD,
Yasushi Shoji <yashi / yashi.com> wrote:
> 
> GdkColormap
>  - gtk_drag_set_default_icon
> 

これGdkColormapはselfにするのはどうも違うように思います。
完全なprototypeは

void gtk_drag_set_default_icon(GdkColormap *colormap,
                               GdkPixmap *pixmap, GdkBitmap *mask,
                               gint hot_x, gint hot_y);

ですが、GdkColormapを含めて各引数は対等なので
singleton methodにした方がいいのでは。
問題はどのmoduleで定義するかなんですが
Gdk::DragContextでいいでしょうか。

> > ただ、現状でも多いGtk::Widgetのinstance methodが
> > さらに増えるのがちょっといやかも。
> 
> これは、Gtk::Widgetの保守が辛いからですか? Ruby的には、baseになる 
> classにmethodが増えるとまずいことはありますか?

いえ何となくmethodが探しづらくなるなぁなどと
思っただけなんです^_^;
Gtk::Dragableなんていうmodule上でmethod群を定義し
Gtk::Widgetでincludeしたら、とも考えましたが、
大したメリットもないと思うので、自分の中で却下しました。

> # やっぱり、Gtk+並に class別に sourceをわけた方が‥‥。

compile時に必要なdisk spaceが増えてしまうので
いまのところ控え目な分割しかしてないのですが、
異論がなければGtk+並に分割をしても構いません。

> ## さらに、gtkから、rb_f_require(..., ...("gdk")); (ぉ

これも多分できると思いますが……やるメリットあるかなぁ?

At Fri, 12 Nov 1999 06:22:14 -0500,
in [ruby-ext:00525] Re: (ruby/gtk) signal_setup_args,
Yasushi Shoji <yashi / yashi.com> wrote:
> 
> ばらばらに compileできて
> 
> require 'gtk'
> require 'gtk-newclass'
> 
> とかできたら楽だなぁ〜と‥‥。

こっちの方はぜひともやりたいと思っているんですがまだ
考え中です。実装案がありましたら(できればパッチで^_^)
お願いします。

--
五十嵐  宏  (Hiroshi IGARASHI)