From: Hiroshi IGARASHI <igarashi / ueda.info.waseda.ac.jp>
Subject: [ruby-ext:00539] Re: Gtk: DnD
Date: Wed, 17 Nov 1999 19:33:42 +0900

> いがらしです。
> 
> At Sun, 14 Nov 1999 08:02:00 -0500,
> in [ruby-ext:00527] Gtk: DnD,
> Yasushi Shoji <yashi / yashi.com> wrote:
> > 
> > ruby/gtkで DnDを使える様にしようと思ったのですが、gtk_drag_*をどこに定義
> > しようか迷っています。Object Orientのプロの方、おたすけください。
> 
> DnDはRuby Workshopのときでも「早く使いたい」って声があったんですよね。
> 放置していてすみませんでした。

drag_begin signalは受けとれる様になったのですが、drag_data_get signal な
どは、GdkDragContextも実装しなければならなくて、ちょっと悩みちぅ。

> > 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()の両方ができる方が
良いですかね?

> ただ、現状でも多いGtk::Widgetのinstance methodが
> さらに増えるのがちょっといやかも。

これは、Gtk::Widgetの保守が辛いからですか? Ruby的には、baseになる 
classにmethodが増えるとまずいことはありますか?

# やっぱり、Gtk+並に class別に sourceをわけた方が‥‥。
## さらに、gtkから、rb_f_require(..., ...("gdk")); (ぉ
--
           yashi