diff options
Diffstat (limited to 'Lib/lib-stdwin/listwin.py')
-rw-r--r-- | Lib/lib-stdwin/listwin.py | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/Lib/lib-stdwin/listwin.py b/Lib/lib-stdwin/listwin.py deleted file mode 100644 index 9480a81..0000000 --- a/Lib/lib-stdwin/listwin.py +++ /dev/null @@ -1,47 +0,0 @@ -# Module 'listwin' -# List windows, a subclass of gwin - -import gwin -import stdwin - -def maxlinewidth(a): # Compute maximum textwidth of lines in a sequence - max = 0 - for line in a: - width = stdwin.textwidth(line) - if width > max: max = width - return max - -def action(w, string, i, detail): # Default item selection method - pass - -def mup(w, detail): # Mouse up method - (h, v), clicks, button, mask = detail - i = divmod(v, w.lineheight)[0] - if 0 <= i < len(w.data): - w.action(w, w.data[i], i, detail) - -def draw(w, ((left, top), (right, bottom))): # Text window draw method - data = w.data - d = w.begindrawing() - lh = w.lineheight - itop = top/lh - ibot = (bottom-1)/lh + 1 - if itop < 0: itop = 0 - if ibot > len(data): ibot = len(data) - for i in range(itop, ibot): d.text((0, i*lh), data[i]) - -def open(title, data): # Display a list of texts in a window - lineheight = stdwin.lineheight() - h, v = maxlinewidth(data), len(data)*lineheight - h0, v0 = h + stdwin.textwidth(' '), v + lineheight - if h0 > stdwin.textwidth(' ')*80: h0 = 0 - if v0 > stdwin.lineheight()*24: v0 = 0 - stdwin.setdefwinsize(h0, v0) - w = gwin.open(title) - w.setdocsize(h, v) - w.lineheight = lineheight - w.data = data - w.draw = draw - w.action = action - w.mup = mup - return w |