Commit bc0ad2d1 authored by Martin v. Löwis's avatar Martin v. Löwis

Merge directory chooser into tkFileDialog.

parent d5214b04
#
# tkDirectoryChooser.py
# $Id$
#
# tk common directory dialogue
#
# this module provides interfaces to the native directory dialogue
# available in Tk 8.3 and newer.
#
# written by Fredrik Lundh, November 2000.
#
#
# options (all have default values):
#
# - initialdir: initial directory. preserved by dialog instance.
#
# - mustexist: if true, user must pick an existing directory
#
# - parent: which window to place the dialog on top of
#
# - title: dialog title
#
from tkCommonDialog import Dialog
class Chooser(Dialog):
command = "tk_chooseDirectory"
def _fixresult(self, widget, result):
if result:
# keep directory until next time
self.options["initialdir"] = result
self.directory = result # compatibility
return result
#
# convenience stuff
def askdirectory(**options):
"Ask for a directory name"
return apply(Chooser, (), options).show()
# --------------------------------------------------------------------
# test stuff
if __name__ == "__main__":
print "directory", askdirectory()
......@@ -5,7 +5,8 @@
# tk common file dialogues
#
# this module provides interfaces to the native file dialogues
# available in Tk 4.2 and newer.
# available in Tk 4.2 and newer, and the directory dialogue available
# in Tk 8.3 and newer.
#
# written by Fredrik Lundh, May 1997.
#
......@@ -28,6 +29,12 @@
#
# - title: dialog title
#
# options for the directory chooser:
#
# - initialdir, parent, title: see above
#
# - mustexist: if true, user must pick an existing directory
#
from tkCommonDialog import Dialog
......@@ -64,11 +71,20 @@ class SaveAs(_Dialog):
command = "tk_getSaveFile"
class Directory(_Dialog):
# the directory dialog has its own _fix routines.
class Directory(Dialog):
"Ask for a directory"
command = "tk_chooseDirectory"
def _fixresult(self, widget, result):
if result:
# keep directory until next time
self.options["initialdir"] = result
self.directory = result # compatibility
return result
#
# convenience stuff
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment