]> granicus.if.org Git - python/commitdiff
directory chooser (requires a recent version of Tk)
authorFredrik Lundh <fredrik@pythonware.com>
Mon, 29 Oct 2001 22:58:55 +0000 (22:58 +0000)
committerFredrik Lundh <fredrik@pythonware.com>
Mon, 29 Oct 2001 22:58:55 +0000 (22:58 +0000)
Lib/lib-tk/tkDirectoryChooser.py [new file with mode: 0644]

diff --git a/Lib/lib-tk/tkDirectoryChooser.py b/Lib/lib-tk/tkDirectoryChooser.py
new file mode 100644 (file)
index 0000000..593ad8f
--- /dev/null
@@ -0,0 +1,52 @@
+#
+# 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()
+