<?xml version="1.0" encoding="EUC-JP" standalone="yes"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xml:lang="ja-JP">
  <channel rdf:about="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?c=rss">
    <title>RubyTk : Recent Changes</title>
    <link>https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?c=recent</link>
    <description>RubyTk Recent Changes</description>
    <dc:language>ja</dc:language>
    <dc:rights>Copyright (C) nagai</dc:rights>
    <dc:date>2022-10-01T11:18:38+00:00</dc:date>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?FrontPage"/>
        <rdf:li rdf:resource="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?%BA%C7%BF%B7%C8%C7%A4%CERuby%2FTk%A4%F2%BB%C8%A4%A6%A4%CB%A4%CF"/>
        <rdf:li rdf:resource="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?%A5%D7%A5%EC%A5%BC%A5%F3%A5%C6%A1%BC%A5%B7%A5%E7%A5%F3%BB%F1%CE%C1"/>
        <rdf:li rdf:resource="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?Ruby%A4%CE%A5%BD%A1%BC%A5%B9%A4%CB%C5%BA%C9%D5%A4%CE%A5%B5%A5%F3%A5%D7%A5%EB"/>
        <rdf:li rdf:resource="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?Ruby%2FTk-Kit"/>
        <rdf:li rdf:resource="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?SideMenu"/>
        <rdf:li rdf:resource="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?%A4%BD%A4%CE%C2%BE%A4%CE%A5%B5%A5%F3%A5%D7%A5%EB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8"/>
        <rdf:li rdf:resource="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?Ruby%2FTk%A4%CE%A5%B5%A5%F3%A5%D7%A5%EB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8"/>
        <rdf:li rdf:resource="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?TkVariable"/>
        <rdf:li rdf:resource="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?Inside+Ruby%2FTk"/>
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?FrontPage">
    <title>Ruby/Tk - FrontPage</title>
    <link>https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?FrontPage</link>
    <dc:date>2022-10-01T11:18:38+00:00</dc:date>
    <content:encoded><![CDATA[<div>@@&nbsp;-30,6&nbsp;+30,21&nbsp;@@<br>
&nbsp;<br>
&nbsp;==現状&nbsp;(2012/07/20時点)&nbsp;では，Tcl/Tk8.5の利用をお勧めします．拡張ライブラリ類もTcl/Tk8.4で使っていたものがそのまま使えると考えて良さそうです．ActiveTcl8.4に含まれていた拡張ライブラリをそのままActiveTcl8.5に持って行っても問題なく動くようです．==<br>
&nbsp;<br>
+<br>
+!UbuntuでのRuby/Tk導入について<br>
+Tcl/Tkの設定情報ファイルであるtclConfigとtkConfigは，一般的には/usr/lib/tclConfig.shや/usr/lib/tkConfig.shとして置かれており，<br>
+Ruby/Tkのインストール時にはそれらのファイルの内容を調べてコンパイルのための設定を行っています．<br>
+ファイル配置が一般的であれば，例えば「sudo&nbsp;gem&nbsp;install&nbsp;tk」というように単純に導入できるはずです．<br>
+<br>
+ですが，Ubuntuでは，この名前で置いているファイルは本来のTcl/Tkのものではなく，別の場所にある本来のファイルを読み込むようなスクリプトになっているため，<br>
+何の指定もなくgemでインストールしようとすると失敗します．<br>
+Ubuntuの場合，次の手順で導入してください．<br>
+<br>
+*&nbsp;sudo&nbsp;apt&nbsp;install&nbsp;ruby-dev<br>
+*&nbsp;sudo&nbsp;apt&nbsp;install&nbsp;tcl-dev&nbsp;tk-dev<br>
+*&nbsp;sudo&nbsp;gem&nbsp;install&nbsp;tk&nbsp;--&nbsp;--with-tclConfig-dir=/usr/lib/`dpkg-architecture&nbsp;-qDEB_HOST_MULTIARCH`&nbsp;--with-tkConfig-dir=/usr/lib/`dpkg-architecture&nbsp;-qDEB_HOST_MULTIARCH`<br>
+<br>
+<br>
&nbsp;!Contents<br>
&nbsp;<br>
&nbsp;!![[最新版のRuby/Tkを使うには]]</div>]]></content:encoded>  </item>  <item rdf:about="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?%BA%C7%BF%B7%C8%C7%A4%CERuby%2FTk%A4%F2%BB%C8%A4%A6%A4%CB%A4%CF">
    <title>最新版のRuby/Tkを使うには</title>
    <link>https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?%BA%C7%BF%B7%C8%C7%A4%CERuby%2FTk%A4%F2%BB%C8%A4%A6%A4%CB%A4%CF</link>
    <dc:date>2012-02-02T12:18:08+00:00</dc:date>
    <content:encoded><![CDATA[<div>@@&nbsp;-1,7&nbsp;+1,9&nbsp;@@<br>
&nbsp;（将来的にはインストールガイド全般がここに記載されるべきとは思いますが，<br>
&nbsp;現在はまだそこまでの記述はできていません．）<br>
&nbsp;<br>
+----<br>
&nbsp;　≪&nbsp;'''注意!!'''　''FrontPageに書いたように，現状ではTcl/Tk8.6には対応できていません．''&nbsp;≫<br>
+----<br>
&nbsp;<br>
&nbsp;最新版のRuby/Tkは，<br>
&nbsp;Rubyのソースコードの一部としてSVNレポジトリに保存されています．</div>]]></content:encoded>  </item>  <item rdf:about="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?%A5%D7%A5%EC%A5%BC%A5%F3%A5%C6%A1%BC%A5%B7%A5%E7%A5%F3%BB%F1%CE%C1">
    <title>プレゼンテーション資料</title>
    <link>https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?%A5%D7%A5%EC%A5%BC%A5%F3%A5%C6%A1%BC%A5%B7%A5%E7%A5%F3%BB%F1%CE%C1</link>
    <dc:date>2011-09-04T14:02:02+00:00</dc:date>
    <content:encoded><![CDATA[<div>@@&nbsp;-44,6&nbsp;+44,6&nbsp;@@<br>
&nbsp;*&nbsp;夏のプログラミング・シンポジウム2006&nbsp;(2006/09)<br>
&nbsp;**&nbsp;「ネット公開マルチウィンドウGUIアプリ用フレームワークRuby/TkORCAにおけるウィジェット操作権限の分離手法」({{attach_anchor(prosym2006-1.pdf}})<br>
&nbsp;<br>
-!!その他Ruby関連<br>
+!!その他のRuby関連<br>
&nbsp;*&nbsp;夏のプログラミング・シンポジウム2011&nbsp;(2011/09)<br>
&nbsp;**&nbsp;「RubyのThreadGroupクラスの機能拡張の試みについて」({{attach_anchor(ProSym2011-nagai.pdf}})</div>]]></content:encoded>  </item>  <item rdf:about="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?Ruby%A4%CE%A5%BD%A1%BC%A5%B9%A4%CB%C5%BA%C9%D5%A4%CE%A5%B5%A5%F3%A5%D7%A5%EB">
    <title>Rubyのソースに添付のサンプル</title>
    <link>https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?Ruby%A4%CE%A5%BD%A1%BC%A5%B9%A4%CB%C5%BA%C9%D5%A4%CE%A5%B5%A5%F3%A5%D7%A5%EB</link>
    <dc:date>2010-08-30T10:09:26+00:00</dc:date>
    <content:encoded><![CDATA[<div>@@&nbsp;-147,7&nbsp;+147,8&nbsp;@@<br>
&nbsp;それで動作に問題ない環境ならいいのですが，<br>
&nbsp;Windowsのコマンドプロンプトでirbを動かしている場合などは<br>
&nbsp;(少なくとも旧いRubyでは)キーボード入力待ちでスレッドが切り替わらず，<br>
-うまくインタラクティブに動作させることができません．<br>
+うまくインタラクティブに動作させることができません<br>
+(私自身は確認してはいませんが，比較的新しいバージョンのRubyでは，この問題は解消されたらしいです)．<br>
&nbsp;&quot;rbw&quot;という拡張子からも連想できるように，<br>
&nbsp;Windows環境でもそれなりにバックグラウンドのスレッドが<br>
&nbsp;動作するように対策したものがこのスクリプトです．</div>]]></content:encoded>  </item>  <item rdf:about="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?Ruby%2FTk-Kit">
    <title>Ruby/Tk-Kit</title>
    <link>https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?Ruby%2FTk-Kit</link>
    <dc:date>2010-05-22T21:43:24+00:00</dc:date>
    <content:encoded><![CDATA[<div>@@&nbsp;-26,9&nbsp;+26,9&nbsp;@@<br>
&nbsp;**&nbsp;Tcl/Tk8.5.7&nbsp;&nbsp;:&nbsp;{{attach_anchor(tcltklib.so-tk8.5.7-ruby192dev_20100313rev26900_i686-linux)}}<br>
&nbsp;<br>
&nbsp;*&nbsp;Ruby'''''Installer&nbsp;1.9.1p378rc2&nbsp;用に作成&nbsp;(tested&nbsp;on&nbsp;Windows&nbsp;XP)：<br>
-**&nbsp;Ruby/Tk&nbsp;environment&nbsp;(please&nbsp;extract&nbsp;at&nbsp;Ruby'''''Installer's&nbsp;lib/ruby/1.9.1)&nbsp;:&nbsp;{{attach_anchor(rubytk-simple-w-img_ext-for-RubyInstaller191.zip)}}<br>
-**&nbsp;simple&nbsp;tcltklib.so&nbsp;(standard&nbsp;Tcl/Tk&nbsp;only)&nbsp;&nbsp;:&nbsp;{{attach_anchor(tcltklib.so-simple-20100520-ruby191-mingw-for-RubyInstaller191)}}<br>
-**&nbsp;include&nbsp;some&nbsp;Tcl/Tk&nbsp;extensions&nbsp;:&nbsp;{{attach_anchor(tcltklib.so-w-exts-20100520-ruby191-mingw-for-RubyInstaller191)}}<br>
+**&nbsp;Ruby/Tk&nbsp;environment&nbsp;(please&nbsp;extract&nbsp;at&nbsp;Ruby'''''Installer's&nbsp;lib/ruby/1.9.1)&nbsp;:&nbsp;{{attach_anchor(rubytk-simple-w-img_ext-20100523-for-RubyInstaller191.zip)}}<br>
+**&nbsp;simple&nbsp;tcltklib.so&nbsp;(standard&nbsp;Tcl/Tk&nbsp;only)&nbsp;&nbsp;:&nbsp;{{attach_anchor(tcltklib.so-simple-20100523-ruby191-mingw-for-RubyInstaller191)}}<br>
+**&nbsp;include&nbsp;some&nbsp;Tcl/Tk&nbsp;extensions&nbsp;:&nbsp;{{attach_anchor(tcltklib.so-w-exts-20100523-ruby191-mingw-for-RubyInstaller191)}}<br>
&nbsp;**&nbsp;tkutil.so&nbsp;:&nbsp;{{attach_anchor(tkutil.so-20100518-ruby191-mingw-for-RubyInstaller191)}}<br>
&nbsp;<br>
&nbsp;ダウンロードしたファイルの名前を&nbsp;tcltklib.so&nbsp;に変更して，</div>]]></content:encoded>  </item>  <item rdf:about="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?SideMenu">
    <title>SideMenu</title>
    <link>https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?SideMenu</link>
    <dc:date>2010-05-20T20:45:53+00:00</dc:date>
    <content:encoded><![CDATA[<div>@@&nbsp;-7,6&nbsp;+7,7&nbsp;@@<br>
&nbsp;!Contents<br>
&nbsp;*&nbsp;[[Ruby/Tk&nbsp;-&nbsp;FrontPage]]<br>
&nbsp;*&nbsp;[[最新版のRuby/Tkを使うには]]<br>
+*&nbsp;[[Ruby/Tk-Kit]]<br>
&nbsp;*&nbsp;[[Ruby/Tkのサンプルスクリプト]]<br>
&nbsp;*&nbsp;[[Inside&nbsp;Ruby/Tk]]<br>
&nbsp;*&nbsp;[[Logo&nbsp;Image]]</div>]]></content:encoded>  </item>  <item rdf:about="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?%A4%BD%A4%CE%C2%BE%A4%CE%A5%B5%A5%F3%A5%D7%A5%EB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8">
    <title>その他のサンプルスクリプト</title>
    <link>https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?%A4%BD%A4%CE%C2%BE%A4%CE%A5%B5%A5%F3%A5%D7%A5%EB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8</link>
    <dc:date>2009-12-03T10:33:07+00:00</dc:date>
    <content:encoded><![CDATA[<div>@@&nbsp;-70,6&nbsp;+70,6&nbsp;@@<br>
&nbsp;すべてのテキストアイテムの文字の大きさが同時に変更されるようにしています．<br>
&nbsp;<br>
&nbsp;ちなみに，Tcl/Tk8.5&nbsp;からは&nbsp;X&nbsp;Window&nbsp;System&nbsp;上でもフォントのエイリアシングに対応しましたので，<br>
-拡大・縮小を行なっても&nbsp;Tcl/Tk8.4&nbsp;までのようにフォントがギザギザになったりはしなくなりました<br>
-&nbsp;(WindowsではTcl/Tk8.4の時点でもエイリアシング対応済)．<br>
+拡大・縮小を行なっても&nbsp;Tcl/Tk8.4&nbsp;までのように<br>
+フォントがギザギザになったりはしなくなりました&nbsp;(WindowsではTcl/Tk8.4の時点でもエイリアシング対応済)．<br>
&nbsp;X&nbsp;Window&nbsp;System&nbsp;でフォントに不満を感じている人は&nbsp;Tcl/Tk8.5&nbsp;への移行をお薦めします．</div>]]></content:encoded>  </item>  <item rdf:about="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?Ruby%2FTk%A4%CE%A5%B5%A5%F3%A5%D7%A5%EB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8">
    <title>Ruby/Tkのサンプルスクリプト</title>
    <link>https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?Ruby%2FTk%A4%CE%A5%B5%A5%F3%A5%D7%A5%EB%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8</link>
    <dc:date>2009-11-29T01:48:32+00:00</dc:date>
    <content:encoded><![CDATA[<div>@@&nbsp;-1,232&nbsp;+1,8&nbsp;@@<br>
-!Rubyのソースアーカイブに添付されたサンプル<br>
+以下のようなグループに分けて掲載しますので，<br>
+それぞれリンクを辿ってください．<br>
+<br>
+!!&nbsp;[[Rubyのソースアーカイブに添付されたサンプル|Rubyのソースに添付のサンプル]]<br>
&nbsp;Rubyのソースツリーにおいて，ext/tk/sampleディレクトリの下に置かれているものです．あまり御存知でない方もいらっしゃるようなのですが，単純なデモの他，ウィジェットクラスライブラリとして使えるものなども含んでおり，有用と言えるものです．<br>
-<br>
-ですがRubyのバイナリ配布パッケージには，これらのサンプルスクリプトを含めていない（ソースの一部と判断されて除外されている）ものもあります．その場合は，Rubyのソースアーカイブを入手して，抜き出してください．<br>
-<br>
-!!ウィジェットデモ&nbsp;(Widget'''''Demo)<br>
-*スクリプトファイル：demo-jp/widget,&nbsp;demo-en/widget<br>
-Tcl/Tkに添付されているウィジェットデモのRuby/Tk版です．<br>
-ウィジェットデモは，単なるデモスクリプトではなく，Ruby/Tkを学習するためのツールでもあります．<br>
-demo-jpが日本語版，demo-enが英語版となっています．これらは表示メッセージの違いにすぎないので，英語版で日本語を使うことも問題ないはずです．<br>
-ファイル名に拡張子が付いていないので，Windowsで利用される方はコマンドを指定して実行するか，ファイル名を変更して拡張子.rbwを付けてください．<br>
-<br>
-ウィジェットデモを起動すると，デモの一覧を示すテキストウィジェットを持ったウィンドウが開きます．各デモ名にはバインディングがなされており，マウスでクリックすることで，そのデモを起動することができます．<br>
-<br>
-起動されたデモには「コード参照」というボタンがあると思います．そのボタンをクリックすれば，新たにウィンドウが開いて現在実行中のデモのソースコードを見ることができます．ソースコードの表示にはテキストウィジェットを用いており，実際に編集することが可能です．<br>
-<br>
-編集した後にソースコード表示ウィンドウの「再実行」ボタンを押せば，編集した内容での実行が行われます．これにより，デモのソースを参照しつつ，変更を実際に試しながらRuby/Tkを学ぶことができるわけです．編集はソースコード表示ウィンドウの中だけでのことで，ディスク上のファイルには影響しませんので心置きなく書き換えてみてください．変更しすぎて原形がわからなくなってしまった場合は，デモの「コード参照」ボタンを再度クリックしてください．編集結果をすべて破棄してディスク上のファイルを再度読み込むことができます．<br>
-<br>
-!!デモ兼ライブラリとして使えるもの<br>
-このグループには，requireで読み込むことで<br>
-ウィジェットクラス/モジュールライブラリとして使えるものを挙げておきます．<br>
-なお，スクリプトファイルを直接実行すれば，<br>
-そのクラス/モジュールのデモとして動きます．<br>
-<br>
-!!!Tk::Rb'''''Widget::Editable_Listboxクラス<br>
-（&nbsp;旧いファイルでは&nbsp;Editable_Listboxクラスとなっています．）<br>
-*スクリプトファイル：editable_listbox.rb<br>
-キーボードから項目を編集することができる&nbsp;listtbox&nbsp;widget&nbsp;です．<br>
-<br>
-例えば，項目をダブルクリックすると，その項目の位置にその項目の<br>
-内容を編集できる&nbsp;entry&nbsp;box&nbsp;が現れます．<br>
-もちろん，編集結果は&nbsp;listbox&nbsp;に反映されます．<br>
-<br>
-<br>
-!!!Tk::Rb[[|]][[|]]Widget::Scroll'''''Frameクラス<br>
-（&nbsp;旧いファイルでは&nbsp;Tk[[|]]Scroll[[|]]Frameクラスとなっています．）<br>
-*スクリプトファイル：scrollframe.rb<br>
-スクロール可能なビューウィンドウ&nbsp;(フレームの一部を切り取って見るためのもの)&nbsp;<br>
-を持った&nbsp;frame&nbsp;widget&nbsp;です．<br>
-<br>
-例えば，ボタンがたくさん並んだツールバーを想像してみてください．<br>
-ツールバーはウィンドウサイズに比べてかなり長いものとします．<br>
-そのような場合には，ツールバーをスクロールさせて表示するようにしたくなるかもしれません．&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;このウィジェットクラスを使えばそうしたことが簡単に実装できます．<br>
-<br>
-<br>
-!!!Tk::Rb[[|]][[|]]Widget::HBox，HLBox，HRBox，VBox，VTBox，VBBoxクラス<br>
-（&nbsp;旧いファイルでは&nbsp;Tk::HBox，HLBox，HRBox，VBox，VTBox，VBBoxクラスとなっています．）<br>
-*スクリプトファイル：tkalignbox.rb<br>
-ウィンドウサイズが変わっても，並んでいるウィジェット（例えば文字列<br>
-の長さやフォントの高さが異なるボタンの並び）のそれぞれの幅や高さを<br>
-同じに保ちつづけるというのは少々難しいものです．<br>
-これらのウィジェットクラスは，そうしたことを簡単に実現できるようにするための一種の&nbsp;<br>
-frame&nbsp;widget&nbsp;です．<br>
-<br>
-例えば，ボタン&nbsp;b1,&nbsp;b2,&nbsp;b3,&nbsp;b4,&nbsp;...&nbsp;に対して<br>
-Tk::Rb'''''Widget::HLBox.new(parent).add(b1,&nbsp;b2,&nbsp;b3,&nbsp;b4,&nbsp;...)&nbsp;などとすると，<br>
-各ボタンが&nbsp;HLBox&nbsp;フレームに左詰めで配置されます．<br>
-その際，各ボタンの大きさが違っていても，すべて同じになるように調整されます．<br>
-ウィンドウの大きさが変更されて&nbsp;HLBox&nbsp;ウィジェットのサイズが変更になった場合でも，<br>
-HLBox&nbsp;ウィジェットのサイズに合わせてそれぞれのボタンが同じ大きさとなるように保ちつづけます．<br>
-<br>
-それぞれのウィジェットクラスは詰め込む向きが違います．<br>
-HLBox&nbsp;(==&nbsp;HBox)は横方向左詰め，HRBoxは横方向右詰め，<br>
-VTBox&nbsp;(==&nbsp;VBox)は縦方向上詰め，VBBoxは縦方向下詰めです．<br>
-<br>
-<br>
-!!!Tk::Rb[[|]][[|]]Widget::Balloon'''''Helpクラス<br>
-（&nbsp;旧いファイルでは&nbsp;Tk[[|]]Balloon[[|]]Helpクラスとなっています．）<br>
-*スクリプトファイル：tkballoonhelp.rb<br>
-親ウィジェットにバルーンヘルプを加えます．<br>
-もちろん，表示するメッセージやバルーンヘルプが表示されるまでの<br>
-時間などを制御することが可能です．<br>
-表示の際の&nbsp;hook&nbsp;メソッドも定義できますので，<br>
-listbox&nbsp;の項目ごとに異なるメッセージを出力するなどということも可能です．<br>
-<br>
-<br>
-!!!Tk::Rb[[|]][[|]]Widget::AutoS'''''crollListboxクラス<br>
-（&nbsp;旧いファイルでは&nbsp;Tk[[|]]AutoS[[|]]crollListboxクラスとなっています．）<br>
-*スクリプトファイル：tkcombobox.rb<br>
-自動スクロールタブ付きの&nbsp;listbox&nbsp;です．<br>
-タブはその方向に表示範囲外の項目が存在する場合だけに現れます．<br>
-タブの上でマウスを動かさないようにしていれば，その方向に自動的にスクロールします．<br>
-<br>
-このスクリプトファイルには，次のTk::Rb'''''Widget::Comboboxクラスも含んでいます．<br>
-<br>
-<br>
-!!!Tk::Rb[[|]][[|]]Widget::Comboboxクラス<br>
-（&nbsp;旧いファイルでは&nbsp;Tk[[|]]Comboboxクラスとなっています．）<br>
-*スクリプトファイル：tkcombobox.rb<br>
-選択リストに&nbsp;Tk::Rb[[|]][[|]]Widget::AutoS'''''crollListbox&nbsp;ウィジェット<br>
-を使った&nbsp;combobox&nbsp;widget&nbsp;です．<br>
-<br>
-<br>
-!!!Tk::ScrollbarC'''''ompositeモジュール<br>
-（&nbsp;旧いファイルでは，このモジュールはスクリプトファイルに含まれていません．）<br>
-*スクリプトファイル：tktextframe.rb<br>
-このサンプルスクリプトで動作するのは，<br>
-スクロールバー付きのテキストウィジェットであるTkT[[|]]extFrameクラスのデモなのですが，<br>
-同クラスの実装の中核となっているのがTk::ScrollbarC'''''ompositeモジュールです．<br>
-このモジュールは，スクロール可能なウィジェットにスクロールバーを付与した複合ウィジェットを<br>
-作る際の手助けとなるものです．<br>
-<br>
-例えば，<br>
-&lt;&lt;&lt;<br>
-&nbsp;&nbsp;class&nbsp;ScrListbox&nbsp;&lt;&nbsp;Tk::Listbox<br>
-&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;Tk::ScrollbarComposite<br>
-&nbsp;&nbsp;&nbsp;&nbsp;DEFALUT_HSCROLL&nbsp;=&nbsp;false<br>
-&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;create_component(keys={})<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tk::Listbox.new(@frame,&nbsp;keys)<br>
-&nbsp;&nbsp;&nbsp;&nbsp;end<br>
-&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;:create_component<br>
-&nbsp;&nbsp;end<br>
-&gt;&gt;&gt;<br>
-というようにすることで，縦方向&nbsp;(Y&nbsp;方向)&nbsp;のスクロールバー付きの&nbsp;listbox&nbsp;ウィジェットである<br>
-復号ウィジェットクラスScrL'''''istboxを定義できます．<br>
-もちろん，ScrL[[|]]istbox.new.pack&nbsp;などというように，<br>
-他のウィジェットクラスと同じに扱うことができます．<br>
-<br>
-!!!TkT'''''extIOクラス<br>
-*スクリプトファイル：tktextio.rb<br>
-テキストウィジェットをI/Oストリームとして使えるようにしたクラスです．<br>
-後述のirbtkw.rbwでも使っています．<br>
-<br>
-一般的な入出力メソッドは使えるようになっているとは思いますが，<br>
-getcやseek，readのサイズなどは<br>
-バイト単位ではなく文字単位である点が特殊です．<br>
-もしかすると逆にそれが嬉しいという場合もあるかもしれません．<br>
-<br>
-<br>
-!!少しは使い道があるかもしれないデモスクリプト<br>
-このグループには，デモスクリプトではあるものの，<br>
-もしかしたらほぼそのままに役立てることができるかもしれないもの(^_^;を<br>
-挙げておきます．<br>
-<br>
-!!!Ruby/Tk付きのirbコンソール<br>
-*スクリプトファイル：irbtkw.rbw<br>
-Tcl/Tkのwishコマンドでは<br>
-インタラクティブにウィジェットを操作することができますが，<br>
-これをirbで可能にしたものです<br>
-．．．と言ってしまうと，<br>
-「irbを起動したあとでThread.new{Tk.mainloop}の実行で十分」という答えが<br>
-返ってくるかもしれません．<br>
-それで動作に問題ない環境ならいいのですが，<br>
-Windowsのコマンドプロンプトでirbを動かしている場合などは<br>
-(少なくとも旧いRubyでは)キーボード入力待ちでスレッドが切り替わらず，<br>
-うまくインタラクティブに動作させることができません．<br>
-&quot;rbw&quot;という拡張子からも連想できるように，<br>
-Windows環境でもそれなりにバックグラウンドのスレッドが<br>
-動作するように対策したものがこのスクリプトです．<br>
-<br>
-このスクリプトでは，通常のコンソールは使用しません．<br>
-Ruby/Tkのテキストウィジェットを利用して<br>
-コンソールウィンドウを作成（前述のTkT'''''extIOクラスを参照）し，<br>
-通常の&nbsp;irb&nbsp;をその中で動かしています&nbsp;<br>
-(Tk.mainloopは既にバックグラウンドで動いています)．<br>
-それにより，キーボード入力待ちのために<br>
-バックグラウンドスレッドにうまく切り替わらないという問題は<br>
-回避できるはずです．<br>
-もちろん標準入出力は普通に使えますので，<br>
-Windows上でirbでスレッドを使うスクリプトの動作を<br>
-試してみようとする際（Ruby/Tkのrootウィンドウが<br>
-邪魔かもしれませんが(^_^;）に使ってもらってもいいでしょう．<br>
-<br>
-ただ，少なくともこの項を執筆している現在，<br>
-このスクリプトはRuby&nbsp;1.9の一部の環境では動きません．<br>
-Tcl/Tk自体の制約などの条件により，<br>
-一部の環境ではmain&nbsp;thread以外でTk.mainloopを<br>
-正常に動かすことができないためです．<br>
-申し訳ないのですが，御了承ください．<br>
-<br>
-!!!既存スクリプトのスタイルエンジン対応化<br>
-*スクリプトファイル：ttk_wrapper.rb<br>
-TkButtonなどを使って書かれた既存のスクリプトを<br>
-強引にTtk拡張を利用して動かすようにするスクリプトです．<br>
-<br>
-Ttk拡張は，以前はTk拡張ライブラリとして，<br>
-現在はTcl/Tkの標準ライブラリとして組みこまれたもので，<br>
-ウィジェットの表示スタイル（テーマ）を<br>
-指定（あるいは新たにデザイン）することを<br>
-可能にしてくれます&nbsp;(デフォルトのテーマでの概観も，<br>
-標準のウィジェットよりは改善されています)．<br>
-ただし，その機能を提供するために<br>
-ウィジェットのオプションには一部変更が加えられており，<br>
-それゆえ，標準のTkウィジェットとTtkウィジェットとが<br>
-併存する形になっています．<br>
-<br>
-最新のRuby/Tkでは，例えばボタンウィジェットにおいて，<br>
-標準のTkウィジェットはTk::Buttonで，<br>
-TtkウィジェットはTk::Tile::ButtonまたはTtk::Buttonで<br>
-指定できるようになっています．<br>
-同時に，<br>
-TkButtonはTk::ButtonまたはTk::Tile::Buttonの別名として定義されており，<br>
-Tk.default_widget_set=メソッドで切替えることができます．<br>
-もちろん，使っているウィジェットオプションによっては<br>
-エラーを生じる可能性がありますが，<br>
-そこをやや強引にwrapして動かすようにするのが<br>
-ttk_wrapper.rbスクリプトです．<br>
-<br>
-&quot;ruby&nbsp;ttk_wrapper.rb&nbsp;既存のスクリプト&quot;とすれば，<br>
-デフォルトのウィジェットとしてTtk拡張のものを用いるようにして，<br>
-デフォルトのスタイル（テーマ）で既存のスクリプトを起動してくれます．<br>
-スタイル（テーマ）を指定したい場合には<br>
-&quot;ruby&nbsp;ttk_wrapper.rb&nbsp;-r&nbsp;テーマ&nbsp;既存のスクリプト&quot;としてください．<br>
-&quot;ruby&nbsp;ttk_wrapper.rb&nbsp;-l&quot;とすれば，<br>
-現在の実行環境で利用できるテーマ名の一覧を見ることができます．<br>
-<br>
-!!!カウントダウンタイマー<br>
-*スクリプトファイル：cd_timer.rb<br>
-TkRTTimerクラスの利用例の一つです．<br>
-コマンドライン引数に並べた分単位の時間（実数可）でカウントダウンします．<br>
-また，指定時間を過ぎた分については赤字でカウントアップします．<br>
-コマンドライン引数として与える時間の数には特に制限はありません．<br>
-また，どのような並びで与えても，時間の長さでソートした順に表示されます．<br>
-（図は&nbsp;&quot;ruby&nbsp;cd_time.rb&nbsp;0.1&nbsp;0.2&nbsp;0.5&nbsp;1&nbsp;2&nbsp;3&quot;&nbsp;で実行した時のものです．）<br>
-<br>
-{{attach_view(cd_timer.png)}}<br>
-<br>
-ベルを鳴らす処理はいい加減なものしか付けていませんので，<br>
-必要に応じて改良してみてください．<br>
-ソース中で&nbsp;&quot;idx.times{Tk.bell}&quot;&nbsp;と書いている位置が<br>
-ベルを鳴らすべきタイミングです&nbsp;(idxはソート後の順で何番目のカウントダウン時刻かを示します)．<br>
-適当なベル処理を書いて，この位置で呼ぶようにすればいいでしょう．<br>
-<br>
-ただし，ベル処理に時間がかかる場合は要注意です．<br>
-この処理はタイマーイベントのコールバック処理の中で行っていますから，<br>
-時間がかかる処理でブロックしてしまうとタイマーの進行が停止してしまいます．<br>
-そのような場合はスレッドを生成して処理を任せてしまい，<br>
-コールバック処理自体はさっさと終了するようにしてください．<br>
-<br>
-<br>
&nbsp;<br>
-（…以下，続く）<br>
+!!&nbsp;[[その他のサンプルスクリプト]]<br>
+役立つもの，役立たないもの織りまぜて，とりあえず掲載しておきます．将来は整理するかもしれません．</div>]]></content:encoded>  </item>  <item rdf:about="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?TkVariable">
    <title>TkVariable</title>
    <link>https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?TkVariable</link>
    <dc:date>2009-11-23T01:44:05+00:00</dc:date>
    <content:encoded><![CDATA[<div>@@&nbsp;-244,7&nbsp;+244,13&nbsp;@@<br>
&nbsp;<br>
&nbsp;Rubyのグローバル変数には，traceメソッドを使って，変数の値を書き換えた際のフック処理を登録することができます．<br>
&nbsp;Ruby/Tkにおいても，TkVariableオブジェクトにtraceを設定することが可能です．<br>
-<br>
+Ruby自体の場合と異なる点は，<br>
+*グローバル変数である必要はない．<br>
+*書き込みだけではなく，値が読まれた場合にもフック処理を登録できる．読み書きで異なる処理を登録することも可能．<br>
+*通常の変数自体に設定するだけでなく，後述の連想配列の要素に対して個別に設定することも可能．<br>
+というようなところです．さらに，これと関連して，<br>
+*「変数に値が書き込まれるまで待つ」というwaitメソッドが使える．<br>
+ということも重要な点でしょう．<br>
&nbsp;<br>
&nbsp;（以下，続く）</div>]]></content:encoded>  </item>  <item rdf:about="https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?Inside+Ruby%2FTk">
    <title>Inside Ruby/Tk</title>
    <link>https://www.dumbo.ai.kyutech.ac.jp/~nagai/cgi-bin/HikiFarm/RubyTk/?Inside+Ruby%2FTk</link>
    <dc:date>2009-11-01T03:27:58+00:00</dc:date>
    <content:encoded><![CDATA[<div>@@&nbsp;-1,5&nbsp;+1,16&nbsp;@@<br>
&nbsp;ここでは，Ruby/Tk独自の部分を中心として，<br>
&nbsp;Ruby/Tkの解説を行っていきたいと思います．<br>
&nbsp;<br>
+記載項目は順次増やしていく予定ですが，<br>
+リクエストがあればそれを優先します．<br>
+<br>
&nbsp;*&nbsp;(編集中)&nbsp;TkVariableクラス<br>
&nbsp;*&nbsp;(予告)&nbsp;TkFontクラス<br>
+*&nbsp;(予告)&nbsp;TkTimer/TkRTTimerクラス<br>
+*&nbsp;(予告)&nbsp;TkCompositeモジュール<br>
+*&nbsp;(予告)&nbsp;TkMenuSpecモジュール<br>
+*&nbsp;(予告)&nbsp;TkOptionObjクラス<br>
+*&nbsp;(予告)&nbsp;TkOptionDBクラス<br>
+*&nbsp;(予告)&nbsp;Tk::EncodedStringクラス<br>
+*&nbsp;(予告)&nbsp;Tk.default_widget_set/default_widget_set=メソッド<br>
+*&nbsp;．．．以下，続く</div>]]></content:encoded>  </item></rdf:RDF>
