diff examples/file_dialog.py @ 32:818393067e54

example script for FileDialog
author Goffi <goffi@goffi.org>
date Tue, 28 Dec 2010 18:31:01 +0100
parents
children 4da76342ae05
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/examples/file_dialog.py	Tue Dec 28 18:31:01 2010 +0100
@@ -0,0 +1,42 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+import urwid
+from urwid_satext.files_management import FileDialog
+import time
+
+
+#These palette is optional, but it's easier to use with some colors :)
+
+const_PALETTE = [('title', 'black', 'light gray', 'standout,underline'),
+                 ('default', 'default', 'default'),
+                 ('default_focus', 'default,bold', 'default'),
+                 ('directory', 'dark cyan, bold', 'default'),
+                 ('directory_focus', 'dark cyan, bold', 'dark green'),
+                 ('separator', 'brown', 'default'),
+                 ]
+
+def ok_cb(filename):
+    """This callback is called when a file is choosen"""
+
+    #We print the filename in the middle of the screen
+    new_widget = urwid.Filler(urwid.Text(filename,align='center'))
+    loop.widget = new_widget
+    loop.draw_screen()
+    #5 seconds pause
+    time.sleep(5)
+    #see you
+    raise urwid.ExitMainLoop()
+
+def cancel_cb(control):
+    """This callback is called when user cancelled the dialog"""
+    raise urwid.ExitMainLoop()
+    
+def test_quit(input):
+    """We leave is user press 'esc'"""
+    if input in ('esc'):
+        raise urwid.ExitMainLoop()
+
+fd = FileDialog(ok_cb, cancel_cb)
+loop = urwid.MainLoop(fd, const_PALETTE, unhandled_input=test_quit)
+loop.run()