mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
![]() * ext/tk/tcltklib.c: avoid error on a shared object. * ext/tk/extconf.rb: support --with-tcltkversion * ext/tk/README.tcltklib: add document about --with-tcltkversion * ext/tk/lib/tk.rb, ext/tk/lib/multi-tk.rb, ext/tk/lib/remote-tk.rb: not work on $SAFE==4 * ext/tk/lib/multi-tk.rb: Object#methods returns Symbols on Ruby1.9. * ext/tk/lib/tk/timer.rb: add TkTimer#at_end(proc) to register the procedure which called at end of the timer. * ext/tk/lib/tk.rb, ext/tk/lib/tk/itemfont.rb, ext/tk/lib/font.rb: support __IGNORE_UNKNOWN_CONFIGURE_OPTION__ about font options. * ext/tk/lib/*: treat __IGNORE_UNKNOWN_CONFIGURE_OPTION__ * ext/tk/lib/tkextlib/iwidgets/scrolledcanvas.rb, ext/tk/lib/tkextlib/iwidgets/scrolledlistbox.rb, ext/tk/lib/tkextlib/iwidgets/scrolledtext.rb: bug fix. * ext/tk/lib/tk/text.rb: typo. call a wrong method. * ext/tk/lib/tk/itemconfig.rb: ditto. * ext/tk/lib/tk.rb, ext/tk/lib/tk/itemconfig.rb, ext/tk/lib/tk/canvas.rb: support alias names of option keys. * ext/tk/lib/tk/grid.rb: lack of module-method definitions. * ext/tk/lib/tk/pack.rb, ext/tk/lib/tk/grid.rb: increase supported parameter patterns of configure method. * ext/tk/lib/tk.rb: add TkWindow#grid_anchor, grid_column, grid_row. * ext/tk/lib/tk/wm.rb: methods of Tk::Wm_for_General module cannot pass the given block to methods of Tk::Wm module. * ext/tk/lib/tk/wm.rb: Wm#overrideredirect overwrites arguemnt to an invalid value. * ext/tk/lib/tk.rb: fix memory (object) leak bug. * ext/tk/tcltklib.c, ext/tk/tkutil/tkutil.c: fix memory leak. * ext/tk/sample/demos-jp/aniwave.rb, ext/tk/sample/demos-en/aniwave.rb: bug fix. * ext/tk/lib/tkextlib/blt/component.rb, ext/tk/lib/tkextlib/tile/tentry.rb, ext/tk/lib/tkextlib/tile/treeview.rb: ditto. * ext/tk/lib/tkextlib/tile/tpaned.rb: improve TPaned#add. * ext/tk/sample/demos-jp/widget, ext/tk/sample/demos-en/widget, ext/tk/sample/demos-jp/style.rb, ext/tk/sample/demos-en/style.rb, ext/tk/sample/demos-jp/bind.rb, ext/tk/sample/demos-en/bind.rb: bug fix. * ext/tk/sample/ttk_wrapper.rb: ditto. * ext/tk/sample/ttk_wrapper.rb: support "if __FILE__ == $0" idiom. * ext/tk/sample/tktextio.rb: add binding for 'Ctrl-u' at console mode. * ext/tk/lib/tkextlib/tile.rb, ext/tk/lib/tkextlib/tile/style.rb, ext/tk/sample/ttk_wrapper.rb: improve treating and control themes. add Tk::Tile.themes and Tk::Tile.set_theme(theme). * ext/tk/lib/tkextlib/tile.rb: lack of autoload definitions. * ext/tk/lib/tkextlib/tile/tnotebook.rb: cannot use kanji (not UTF-8) characters for headings. * ext/tk/lib/tkextlib/tkDND/shape.rb: wrong package name. * ext/tk/tkutil/tkutil.c: improve handling callback-subst-keys. Now, support longnam-keys (e.g. '%CTT' on tkdnd-2.0; however, still not support tkdnd-2.0 on tkextlib), and symbols of parameters (e.g. :widget=>'%W', :keycode=>'%k', '%x'=>:x, '%X'=>:root_x, and so on; those are attributes of event object). It means that Ruby/Tk accepts not only "widget.bind(ev, '%W', '%k', ...){|w, k, ...| ... }", but also "widget.bind(ev, :widget, :keycode, ...){|w, k, ...| ... }". It is potentially incompatible, when user passes symbols to the arguments of the callback block (the block receives the symbols as strings). I think that is very rare case (probably, used by Ruby/Tk experts only). When causes such trouble, please give strings instead of such symbol parameters (e.g. call Symbol#to_s method). * ext/tk/lib/tk/event.rb, ext/tk/lib/tk/validation.rb, ext/tk/lib/tkextlib/blt/treeview.rb, ext/tk/lib/tkextlib/winico/winico.rb: ditto. * ext/tk/tkutil/tkutil.c: strings are available on subst_tables on TkUtil::CallbackSubst class (it is useful on Ruby 1.9). * ext/tk/lib/tk/spinbox.rb, ext/tk/lib/tkextlib/iwidgets/hierarchy.rb, ext/tk/lib/tkextlib/iwidgets/spinner.rb, ext/tk/lib/tkextlib/iwidgets/entryfield.rb, ext/tk/lib/tkextlib/iwidgets/calendar.rb, ext/tk/lib/tkextlib/blt/dragdrop.rb, ext/tk/lib/tkextlib/tkDND/tkdnd.rb, ext/tk/lib/tkextlib/treectrl/tktreectrl.rb, ext/tk/lib/tkextlib/tktable/tktable.rb: disable code piece became unnecessary by reason of the changes of ext/tk/tkutil/tkutil.c. * ext/tk/lib/tk.rb, ext/tk/lib/multi-tk.rb: change strategy to define the constant WITH_ENCODING. * ext/tk/lib/tk.rb: fix bug on Tk::Encoding.tk_encoding_names. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e |
||
---|---|---|
.. | ||
doc.org | ||
anilabel.rb | ||
aniwave.rb | ||
arrow.rb | ||
bind.rb | ||
bitmap.rb | ||
browse1 | ||
browse2 | ||
button.rb | ||
check.rb | ||
check2.rb | ||
clrpick.rb | ||
colors.rb | ||
combo.rb | ||
cscroll.rb | ||
ctext.rb | ||
dialog1.rb | ||
dialog2.rb | ||
entry1.rb | ||
entry2.rb | ||
entry3.rb | ||
filebox.rb | ||
floor.rb | ||
floor2.rb | ||
form.rb | ||
goldberg.rb | ||
hello | ||
hscale.rb | ||
icon.rb | ||
image1.rb | ||
image2.rb | ||
image3.rb | ||
items.rb | ||
ixset | ||
ixset2 | ||
knightstour.rb | ||
label.rb | ||
labelframe.rb | ||
mclist.rb | ||
menu.rb | ||
menu8x.rb | ||
menu84.rb | ||
menubu.rb | ||
msgbox.rb | ||
msgbox2.rb | ||
paned1.rb | ||
paned2.rb | ||
pendulum.rb | ||
plot.rb | ||
puzzle.rb | ||
radio.rb | ||
radio2.rb | ||
radio3.rb | ||
README | ||
README.1st | ||
rmt | ||
rolodex | ||
rolodex-j | ||
ruler.rb | ||
sayings.rb | ||
search.rb | ||
spin.rb | ||
square | ||
states.rb | ||
style.rb | ||
tcolor | ||
text.rb | ||
textpeer.rb | ||
timer | ||
toolbar.rb | ||
tree.rb | ||
ttkbut.rb | ||
ttkmenu.rb | ||
ttknote.rb | ||
ttkpane.rb | ||
ttkprogress.rb | ||
twind.rb | ||
twind2.rb | ||
unicodeout.rb | ||
vscale.rb | ||
widget |
Ruby/Tk widget-demo version 1.2 ( 2000/04/08 ) 永井@知能.九工大 (nagai@ai.kyutech.ac.jp) 標準配布の Tcl/Tk 拡張パッケージを取り込んだ Ruby (以下 Ruby/Tk と呼びます) では,Tk widget を用いた GUI の作成を行うことができます.実際に GUI を作成 していく場合には様々な実例がサンプルとして存在すると便利なのですが,Ruby/Tk にはそのような適当なサンプルスクリプト集合は存在しませんでした.それに対し, 拡張パッケージの元である Tcl/Tk には,Tk widget を用いてどのようなことがで きるかを示すものとして widget-demo が存在しおり,Tcl/Tk を用いた GUI の作成 を習得する際の代表的サンプルとなっています.本アーカイブは,Ruby/Tk の習得の ための代表的なサンプルスクリプトとすべく,Tcl/Tk の widget-demo を移植したも のです. 今回のバージョンは ruby-1.4.x に対応としておきますが,旧バージョンに比べて, ほとんど変更はありません.ruby-1.1c2 以上なら動くと思います.ruby-1.5.x につ いてはテストしていません.そのため,非互換の影響が出ることがあるかもしれませ んが,その場合でも少しの修正で動かせると思います.組み込む Tk のバージョンは, 4.2 でも 8.0 でも修正なく動かせるはずです.ただし,日本語版での移植となって いるため,日本語化された Tk をご利用ください.スクリプトのテストは,旧バージョ ンの際に Tk4.2jp と Tk8.0jp の上で行っています (完璧にではないですが).今回 のバージョンでは ruby-1.4.x + Tk8.0jp 上での簡単なテストしか行っていませんが, 修正というほどの修正はしていませんので問題はないと考えています. 本アーカイブに含まれるスクリプトの多くは,元となっている Tcl/Tk 版に比較的近 いスクリプト記述となるようにしています.そのため,Ruby/Tk のサンプルと言うに は,あまり Ruby らしくないとも言えるでしょう.にもかかわらず,そのような記述 を取っている理由は,Ruby/Tk のドキュメント不足にあります. Tcl/Tk には適当な参考書が何冊か存在していますから,Ruby/Tk スクリプトを作成 する際は,そのような Tcl/Tk の参考書で情報を補いながら作成することになると思 います.各 widget の使用例として,Tcl/Tk の widget-demo を参照することもある でしょう.Ruby/Tk 版の記述を widget-demo を Tcl/Tk 版の記述に近いものにして おけば,その対比によって,Ruby/Tk の理解を早めることができると考えられます. 一旦 Ruby/Tk での 各 widget の使用方法を習得してしまえば,Ruby らしいスクリ プトを作成することは難しくないでしょう.本アーカイブのスクリプトは,Ruby/Tk を最初に習得するまでの踏台として利用していただければ幸いです. widget-demo の移植にあたっては,次の方にも移植したスクリプトを提供していただ きました.ここに感謝の意を表します. 立石@JAIST (ttate@jaist.ac.jp) さん 平松祥史 (hiramatu@cdrom.co.jp) さん 平松さんによる Ruby/Tk 入門の Web page (http://www.cdrom.co.jp/~hiramatu/) も Ruby/Tk の習得に有用と思えますので,ぜひご参照ください. また,前橋 (maebashi@iij.ad.jp) さんをはじめとして,widget-demo の移植に際し て必要となった Ruby の Tk 関連ライブラリ修正について,問題点,バグの指摘をし ていただいた方々にも感謝致します. そして最後に最大の感謝を Ruby 設計者の まつもと ゆきひろ (matz@netlab.co.jp) さんに捧げたいと思います.