From: nkon@...2.3web.ne.jp Date: 1998-06-02T00:58:07+09:00 Subject: [ruby-list:8142] Re: How to use tk_getOpenFile? 近藤と申します。 > Tcl/Tkでは、 > tk_getOpenFile -filetypes { > {"Dictionary" {.t}}} > のようにすると、指定した拡張子のファイルだけを表示したファイル選択 > ダイアログを出すことができますが、これは Ruby/Tk ではどのようにすれ > ばよいのでしょうか? 苦しまぎれの tk_call('tk_getOpenFile') としてみ > るとダイアログの表示ができたのですが、 私は、以下のようにクラスを作って、メニューから呼んで使っています。 /usr/local/lib/ruby/tkdialog.rb を見ながら作ったのですが、ご参考までに。 もっと汎用性のあるようにしなきゃ使ってもらえないと思いますが。 class TkFileOpenDialog < TkWindow def initialize super @var = TkVariable.new id = @var.id INTERP._eval('eval {global '+id+';'+ 'set '+id+' [tk_getOpenFile -filetypes {{"HTML" {.html}}} ]}') end def value return @var.value.to_s end end @menu.add('command', {"label" => "Open...", "underline" => 0, 'command'=>proc{ dialog = TkFileOpenDialog.new load_file(dialog.value) if dialog.value != ''}}) > というわけで、http://www.cdrom.co.jp/~hiramatu/ に、 今後を楽しみにしています。 -- 近藤靖浩 http://www2.osk.3web.ne.jp/~nkon/3web/