blob: beb522292127a48e15b4c911e764d0d07dc3b654 [file] [log] [blame]
Guido van Rossumc6360141990-10-13 19:23:40 +00001# Module 'dirwin'
2
3# Directory windows, a subclass of listwin
4
5import gwin
6import listwin
7import anywin
8import path
9import dircache
10
11def action(w, string, i, detail):
12 (h, v), clicks, button, mask = detail
Guido van Rossumbdfcfcc1992-01-01 19:35:13 +000013 if clicks == 2:
Guido van Rossum784ca6c1991-08-16 13:28:23 +000014 name = path.join(w.name, string)
Guido van Rossumc6360141990-10-13 19:23:40 +000015 try:
Guido van Rossum2dbf39c1990-10-21 16:15:58 +000016 w2 = anywin.open(name)
17 w2.parent = w
Guido van Rossumc6360141990-10-13 19:23:40 +000018 except posix.error, why:
19 stdwin.message('Can\'t open ' + name + ': ' + why[1])
20
21def open(name):
Guido van Rossum784ca6c1991-08-16 13:28:23 +000022 name = path.join(name, '')
Guido van Rossumc6360141990-10-13 19:23:40 +000023 list = dircache.opendir(name)[:]
24 list.sort()
25 dircache.annotate(name, list)
26 w = listwin.open(name, list)
27 w.name = name
28 w.action = action
29 return w