京都大学の高橋です。

<19990715060607F.iga / ueda.info.waseda.ac.jp>の記事において
igarashi / ueda.info.waseda.ac.jpさんは書きました。

>> > 問題がありましたらご指摘下さい。(まだ ruby1.3.x に移行してません ^^;;)
>> 
>> 1.2で使っていると分からないバグというのは結構あるので
>> できれば1.3に移行していただくと嬉しいです(^_^)
>> 
>> Ruby/GTKが0.25くらいになったらruby1.2.xのサポートは
>> 打ち切りたいなぁ、と思っています。

  この一言でささっと 1.3 に移行しました。
#だったらもっと前からやれよ > 俺 ^^;;

  さてさて、またパッチです。今回は testgtk/rulers.rb です。
ただ、このパッチでは、例えば C で

gtk_signal_connect_object(GTK_OBJECT(window),
			  "motion_notify_event",
			  GTK_SIGNAL_FUNC(GTK_WIDGET_CLASS(
			    GTK_OBJECT(ruler)->klass)->motion_notify_event),
			  GTK_OBJECT(ruler));

と書くところを Ruby では

window.signal_connect('motion_notify_event') do |w, e|
  ruler.motion_notify_event(e)
end

と記述するように Gtk::Widget にたくさんのメソッドを追加しています。
もしかすると GtkWidgetClass 構造体を wrap する
Gtk::WidgetClass クラスとかを作って、
そのインスタンスを返す Gtk::Widget#klass を定義した方が
いいのかもしれません。

begin 644 testgtk-patch2.tar.gz
M'XL(`%P3C3<``^U8;7/:.!#.U_A7["0S5Q.<%$,"#;WVDA*2TB8D%VC2SMR,
MQ]@"=!B;DVU2KNE_/[T8\!O@W+3I%^^0V))V'^VNI-VU2&_ / C1ZP.4#>P43W
MC.'6CR>U5*H>'L(6`'U3V1-4T>94JY8J`-7:8:6LJH?5,AVM5*NU+2C]!%T2
MY+N>3@"VO"'V''>(5_,AXCZ'0L]+^_O[0$)[P#APR&"[._3A@V^!>@0EM:Y6
MZI4JJ,?'QU*Q6(RR1UAK]4JM7CX6K"<GL%\MOU*J4&2/0Q5.3B2^X`1Y/K&A
MU>Z6SUN?98JC"3C915:_L/^6+HF'"J\E^"Z!5-PU41_;",Z:YZUV4VO>-=M=
M[?Q3NR'S5Z7[Y:99@+^D(A/#!MR=7GYJLK8`U=`4V9X&N[O`^8'/H@#OYG),
M)R$4&GG-1K[-AR^\T3U'@SV!"F\@KO?K!7/WHW;?.KMH=K7&Y6FG([..ZW<?
MFHVN+`2HC2-+=UWZ%#H%DHP"%@5^8Q,,S!%71Q;J[K_EUBZF"ESYIXTMWO==
M*B;=U/,]S[&U"4&N*[RA@.@KK&$GR$*ZBS((C!T/4P&;/OJS.;_H3.4W*;*W
M`-;MV0HNUR/.;!,;^CIQEEJ*5BKC",VB+J`=*QECQJ]BI8.(Q`PWB..ZV!ZD
M"E#4*7J*@.'8?3SPR4*514<J>]\Q?%?#]IQ;M(VA;@_6"3B^EUEBK$\VK8EO
M9V":$&>"B#>+>6/>G2I#SQDR^&8SJ"?)7&;1O4&(H']\NJN>*A95<+T45?\K
M'F-JUG(1%GT;)$*KL%YDBEW<PQ9..&\YD+Z9+,Q"X7PG\58JH^UHT7,E%E&"
MJ8--:-F8!B9O-(]^!0F^B<@^N)\'1]+31-BF*T4#G>;;)B+RF,91!78$UXX"
M@^O>W]29--2S;%$[5EFV>%6N*I5EMF!1;@$V1M[0,>5@'@K5TUUL_$&A!`4A
M_]UII]50H,1R"*.]E](F(&)HKC>S4(`5`-TVM$[WRV538!6#H+M&G42HI7"1
M/)06C%6&G0TY$IA68,>"5Q;TE!`>!T^-\EFPP^$^#AI-!=G00FDA"1?)&5GP
MPOL\#A<]`UG08DDF#IC(05DQURY[2L+*9'DB>27L3TEO69"362Z.G)8'LR#'
MTF$<-I$MLV!&<V8<,IY1LR,NPGDZ9"C:9SJA\XR:.)?+5)L%)Y2;XTB1M)T%
M*S6%QU%7Y/DL^*GI/HZ_HB9X&GZD,E@]0ZR`>-H<ZYRTJMC(N`JQDB-E"1)%
MR=.05^[EU.HE"_:*&B:.O[+4R10M0O5.(E1$:J$L:+&B*`Z8J)D8)HBZX^5>
M4,OL`:OT:<YS;!`3N-(O_?XGOH6(>T!Z/W&.#?<_ZE&YO+C_J?#[G[):K>3W
M/\]!+*)A@N"%JX\G%GHA2;O2+KONN.4;@[8D7L"#:'<X%_P.XN4>VZ;S0/<V
M/3.`Z6<!UBW\+^*;W?5IV)=WQ`;;*8@^>EI\EW+(E5))`?IOV<]/C2M?F*-Z
M_>:ZU>XV;[6KZV[KNJU=G78^PB.D#;VG+3Y>D#B2I_>H?F^8!?5ZES7J=1L]
MR&4%Z*^O6^QV@#'JIBESYL)2[L`=4FMX>\CUG@.]Y]8+I$)H_(`I3L\QP8;,
M&1OT$ZIUU:0*=A)\A'U2RRHS7/S*<^OQP-8M5KS8-`G(J<5X`4P''A\40(]!
M*`F04YCEP"9DFR';=,_3C:$LQ&ATX@XIL1=I>UN8V?Q\<]H^8YYFK?/6Y:42
M?F5:1ZU:N&L:<===PEW3N!N.Z,1'/\`+T__GA6G@!6Z_\,7""R&[TQRR],(T
HY`4Q#_O[U2<ZIYQRRBFGG'+**:><<LHIIYQRRBE*_P$HC5IS`"@`````
`
end

-------------------------------------------------------------------
                       TAKAHASHI Hitoshi
      Experimental Nuclear and Hadronic Physics Laboratory
             Department of Physics, Kyoto University
            E-mail: thitoshi / ne.scphys.kyoto-u.ac.jp
  URL: http://www-nh.scphys.kyoto-u.ac.jp/~thitoshi/member.html
-------------------------------------------------------------------