Ruby/TK: Versatile file-chooser dialogs?

Hi,

does anybody know of more versatile dialogs than the standard
Tk.getOpenFile, getSaveFile, chooseDirectory for:

* file(s)-open
* file-save
* dir-chooser

Wishlist (for Windows; other OSs should be usable):

* Useable from within Ruby/TK without using (knowing...) TCL
* Favorite dirs and files
* Recent dirs and files
* Using filters (regexp would be nice)
* Having incremental search (i.e., limiting the displayed files/dirs
while typing into a search field)
* Pasting and copying file path from/to clipboard
* Fast

Nice to have:
* Font color dependent on File extension.

Axel

Axel wrote:

Hi,

does anybody know of more versatile dialogs than the standard
Tk.getOpenFile, getSaveFile, chooseDirectory for:

* file(s)-open
* file-save
* dir-chooser

They're probably there, but only if you dig into Tk.

ref:

···

--
Posted via http://www.ruby-forum.com/\.

Message-ID: <467aed5c-69a4-4ca9-adf8-79467abe7c9b@b7g2000yqd.googlegroups.com>

Wishlist (for Windows; other OSs should be usable):

About Tk.getOpenFile and getSaveFile:

* Favorite dirs and files
* Recent dirs and files

For dir, :initialdir option may be useful.
# And sometimes, :initialfile option may help you.

* Using filters (regexp would be nice)

:filetypes option can control listed files in the dialog.
Extension-style or glob-style of file patterns are available
on its description.
Please read the Tcl/Tk's manual about tk_getOpenFile.
You can give a Ruby's array for a Tcl's list.
e.g.
Tcl's list

···

From: Axel <a99.googlegroups.a99@dfgh.net>
Subject: Ruby/TK: Versatile file-chooser dialogs?
Date: Sat, 13 Feb 2010 18:55:06 +0900
------------------------------------------
  {
    {{Text Files} {.txt} }
    {{TCL Scripts} {.tcl} }
    {{C Source Files} {.c} TEXT}
    {{GIF Files} {.gif} }
    {{GIF Files} {} GIFF}
    {{All Files} * }
  }
------------------------------------------
==>
Ruby's array
------------------------------------------
  [
    ["Text Files", [".txt"] ],
    ["TCL Scripts", [".tcl"] ],
    ["C Source Files", [".c"], "TEXT"],
    ["GIF Files", [".gif"] ],
    ["GIF Files", , "GIFF"],
    ["All Files", ["*"], ]
  ]
------------------------------------------

* Having incremental search (i.e., limiting the displayed files/dirs
while typing into a search field)

"File name" field of Tk.getOpenFile, getSaveFile
accepts a glob pattern for filtering listed files.
Incremental search is not available.
But on Tk8.5, <Tab> completion is available.

* Pasting and copying file path from/to clipboard

e.g.
------------------------------------------
TkClipboard.append(Tk.getOpenFile)

f = TkClipboard.get
Tk.getOpenFile(:initialdir=>File.dirname(f),:initialfile=>File.basename(f))
------------------------------------------

* Fast

Use a faster machine. :wink:

Nice to have:
* Font color dependent on File extension.

You must write a script (or a class).
Please check the usage of TkWindow#grab, TkWindow#grab_release,
and TkVariable#wait or TkWindow#wait_destroy.
--
Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)

They're probably there, but only if you dig into Tk.

ref:Better looking directory chooser for tk? - Ruby - Ruby-Forum

"If you hate the standard dialogs, you must create your own dialogs."

and

"...written in Tcl/Tk you can load and use them on Ruby/Tk."

OK, that answers my question. Seems that I have to go the not-so-easy
way.

Axel

You must write a script (or a class).
...
--
Hidetoshi NAGAI (na...@ai.kyutech.ac.jp)

I've started to write my own dialog(s). Hope I'll finish sometime :wink:

Thank you for your help!

Axel