TIP #271 Version 1.3: Windows-Style Open and Save File Dialog on Unix

This is not necessarily the current version of this TIP.


TIP:271
Title:Windows-Style Open and Save File Dialog on Unix
Version:$Revision: 1.3 $
Author:Matthew Middleton <matthew dot middleton at ansys dot com>
State:Draft
Type:Project
Tcl-Version:8.6
Vote:Pending
Created:Tuesday, 11 July 2006

Abstract

This TIP describes updates to the Unix file dialogs to make them more like the dialogs found on the Windows platform. This increases the usability of the dialog for general "power" users.

Rationale

It is nice to have a windows-type file dialog for Unix applications that wish to have a Windows appearance. This makes the experience much smoother for end-users that are experienced with the Windows file dialogs, which is an extremely common case these days.

It has convienent attributes of being able to reorder file lists by name, type, size, and date. It also has the typical cut, copy, paste, rename, delete, new directory and properties selections.

Box selecting is also possible with the multiple option. As much functionality as possible was included to match the windows dialog. Some things were left out, such as the panel at the left of a typical windows dialog that contains buttons that allow quick change to such things as "My Documents, and "My Computer".

Reference Implementation

The source code has been included as script files. All of this was done at the Tcl script level, and can be found in Patch 1520742 (currently written against Tcl/Tk 8.4.12). [1] Listing of modified/new files:

tkfbox.tcl
choosedir.tcl
tkfprops.tcl
Tkfprops.html
ResizeButs.tcl
ResizeButs.html

Two new megawidgets have been developed for these changes. They are ResizeButs which is a button-alike specialized for acting as the heading of a column or row of data, and 'tk_fileProperties which is a popup window for viewing and editing file metadata.

Specification

The tk_getOpenFile and tk_getSaveFile have been greatly improved to function much like a Windows file dialog (circa Windows 2000), when the default dialogs are overridden. This is most useful on Unix systems where the application is wanted to have a Windows-like appearance, but it will also function on Windows. I have not been