jmd pushed a commit to branch wip-installer in repository guix. commit 3b47940b223ccc61e6e4726ed3bfa64c911560fc Author: John Darrington <[email protected]> Date: Thu Jan 19 08:27:13 2017 +0100
gurses: Populate the choices box in forms.
* gurses/form.scm (make-form): Populate the choices box.
---
gurses/form.scm | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/gurses/form.scm b/gurses/form.scm
index a92a00b..25ed4ff 100644
--- a/gurses/form.scm
+++ b/gurses/form.scm
@@ -128,12 +128,24 @@ label eq? to N"
(lambda (x)
(match x
((symbol label (? list? things))
- (make-field symbol label
- (apply max
+ (let ((width (apply max
(map (lambda (x)
(string-length x))
- things))
- things #f "" 0))
+ things))))
+ (make-field symbol label width things
+ (let ((p
+ (newwin (+ 2 (length
things))
+ (+ 2 width) 0 0
#:panel #t)))
+ (box p 0 0)
+ (let loop ((ll things)
+ (y 0))
+ (if (not (null? ll))
+ (begin
+ (addstr p (car ll)
+ #:y (1+ y)
#:x 1)
+ (loop (cdr ll) (1+
y)))))
+ p)
+ "" 0)))
((symbol label (? integer? size))
(make-field symbol label size #f #f "" 0))))
items)))
