aboutsummaryrefslogtreecommitdiff
path: root/lib/listwin.py
diff options
context:
space:
mode:
authorSkip Montanaro <[email protected]>2021-02-16 20:14:16 -0600
committerSkip Montanaro <[email protected]>2021-02-16 20:14:16 -0600
commitc2587c76f1b416cdbecb979e54941933246bf856 (patch)
treebb61ee9128075ce22af4eafa232f13c2e5a07896 /lib/listwin.py
parentd90761a005b24018ae237bf551515772a1de656f (diff)
downloadpython-0.9.1-patched-QoL-c2587c76f1b416cdbecb979e54941933246bf856.tar.xz
python-0.9.1-patched-QoL-c2587c76f1b416cdbecb979e54941933246bf856.zip
starting over
Diffstat (limited to 'lib/listwin.py')
-rw-r--r--lib/listwin.py64
1 files changed, 32 insertions, 32 deletions
diff --git a/lib/listwin.py b/lib/listwin.py
index aac127c..9480a81 100644
--- a/lib/listwin.py
+++ b/lib/listwin.py
@@ -5,43 +5,43 @@ 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
+ 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
+ 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)
+ (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])
+ 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
+ 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