annotate Lib/stdwin/DirList.py @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents f9bbb01388d5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
195
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 # DirList -- Directory Listing widget
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2
347
daabe232062e Renamed path.cat to path.join
Guido van Rossum <guido@python.org>
parents: 195
diff changeset
3 # XXX Displays messy paths when following '..'
daabe232062e Renamed path.cat to path.join
Guido van Rossum <guido@python.org>
parents: 195
diff changeset
4
780
30a652101599 use os and os.path
Guido van Rossum <guido@python.org>
parents: 559
diff changeset
5 import os
195
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 import stdwin, rect
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 from stdwinevents import *
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 from Buttons import PushButton
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 from WindowParent import WindowParent
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 from HVSplit import HSplit, VSplit
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
11
519
048e1371c450 Use ImportError; New class syntax.
Guido van Rossum <guido@python.org>
parents: 347
diff changeset
12 class DirList(VSplit):
195
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 #
1110
1d06b1499eb9 * Got entirely rid of path.py.
Guido van Rossum <guido@python.org>
parents: 780
diff changeset
14 def create(self, parent, dirname):
195
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 self = VSplit.create(self, parent)
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 names = os.listdir(dirname)
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 for name in names:
780
30a652101599 use os and os.path
Guido van Rossum <guido@python.org>
parents: 559
diff changeset
18 if os.path.isdir(os.path.join(dirname, name)):
30a652101599 use os and os.path
Guido van Rossum <guido@python.org>
parents: 559
diff changeset
19 fullname = os.path.join(dirname, name)
195
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 btn = SubdirButton().definetext(self, fullname)
559
683edb0c4463 New == syntax
Guido van Rossum <guido@python.org>
parents: 519
diff changeset
21 elif name[-3:] == '.py':
195
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
22 btn = ModuleButton().definetext(self, name)
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 else:
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 btn = FileButton().definetext(self, name)
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 return self
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 #
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
27
519
048e1371c450 Use ImportError; New class syntax.
Guido van Rossum <guido@python.org>
parents: 347
diff changeset
28 class DirListWindow(WindowParent):
195
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 #
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 def create(self, dirname):
1178
f9bbb01388d5 * More changes due to stricter argument passing rules
Guido van Rossum <guido@python.org>
parents: 1110
diff changeset
31 self = WindowParent.create(self, dirname, (0, 0))
195
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 child = DirList().create(self, dirname)
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
33 self.realize()
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
34 return self
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
35 #
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
36
519
048e1371c450 Use ImportError; New class syntax.
Guido van Rossum <guido@python.org>
parents: 347
diff changeset
37 class SubdirButton(PushButton):
195
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 #
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
39 def drawpict(self, d):
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 PushButton.drawpict(self, d)
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
41 d.box(rect.inset(self.bounds, (3, 1)))
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
42 #
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
43 def up_trigger(self):
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 window = DirListWindow().create(self.text)
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
45 #
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
46
519
048e1371c450 Use ImportError; New class syntax.
Guido van Rossum <guido@python.org>
parents: 347
diff changeset
47 class FileButton(PushButton):
195
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
48 #
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
49 def up_trigger(self):
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
50 stdwin.fleep()
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
51 #
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
52
519
048e1371c450 Use ImportError; New class syntax.
Guido van Rossum <guido@python.org>
parents: 347
diff changeset
53 class ModuleButton(FileButton):
195
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
54 #
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
55 def drawpict(self, d):
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
56 PushButton.drawpict(self, d)
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
57 d.box(rect.inset(self.bounds, (1, 3)))
45f43f755e5c Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
58 #