slide not radio

master
Matthew Butterick 4 years ago
parent 57939d301d
commit a0ad665aa6

@ -6,7 +6,7 @@
'("Triplicate T4" "Menlo" "Consolas" "Andale Mono" "Courier")] '("Triplicate T4" "Menlo" "Consolas" "Andale Mono" "Courier")]
[mono-fam (in-list (get-face-list 'mono))] [mono-fam (in-list (get-face-list 'mono))]
#:when (equal? preferred mono-fam)) #:when (equal? preferred mono-fam))
preferred)) preferred))
(define app-font-size 16) (define app-font-size 16)
(define app-font (make-font #:face (send normal-control-font get-face) #:size app-font-size)) (define app-font (make-font #:face (send normal-control-font get-face) #:size app-font-size))
@ -62,35 +62,39 @@
(update-text-field! tf-optional current-optional)) (update-text-field! tf-optional current-optional))
(for ([label-str '("clear" "a-z" "etaoinshrdluw")] (for ([label-str '("clear" "a-z" "etaoinshrdluw")]
[str '("" "abcdefghijklmnopqrstuvwxyz" "etaoinshrdluw")]) [str '("" "abcdefghijklmnopqrstuvwxyz" "etaoinshrdluw")])
(new button% (new button%
[label label-str] [label label-str]
[parent optional-letter-panel] [parent optional-letter-panel]
[font app-font] [font app-font]
[callback (tf-optional-button-callback str)]))) [callback (tf-optional-button-callback str)])))
(for ([param (list current-omit current-mandatory current-combo)] (for ([param (list current-omit current-mandatory current-combo)]
[str '("omitted letters" "mandatory letters" "mandatory combo")]) [str '("omitted letters" "mandatory letters" "mandatory combo")])
(make-text-field param str)) (make-text-field param str))
(define current-min-size (make-parameter 3)) (define current-min-size (make-parameter 3))
(define current-max-size (make-parameter 20)) (define current-max-size (make-parameter 24))
(define length-panel (new horizontal-panel%
[parent window]
[horiz-margin 6]
[alignment '(left top)]
[stretchable-width #true]
[stretchable-height #false]))
(for ([param (list current-min-size current-max-size)] (for ([param (list current-min-size current-max-size)]
[start-size (list (current-min-size) (- (current-max-size) 10))] [label-str '("word length from" "to")])
[end-size (list (+ (current-min-size) 10) (current-max-size))] (new slider%
[label-str '("shortest " "longest  ")] [parent length-panel]
[selected-item (list 0 10)]) [label label-str]
(new radio-box% [font app-font]
[parent window] [min-value (current-min-size)]
[label label-str] [max-value (current-max-size)]
[font app-font] [init-value (param)]
[horiz-margin 12] [stretchable-width #t]
[style '(horizontal)] [callback (λ (cb evt)
[selection selected-item] (param (send cb get-value))
[choices (map number->string (range start-size (add1 end-size)))] (refresh-wordbox))]))
[callback (λ (rb evt)
(param (string->number (send rb get-item-label (send rb get-selection))))
(refresh-wordbox))]))
(define current-proper-names-choice (make-parameter #f)) (define current-proper-names-choice (make-parameter #f))
(define current-hide-plurals (make-parameter #f)) (define current-hide-plurals (make-parameter #f))
@ -100,14 +104,14 @@
[stretchable-height #false])]) [stretchable-height #false])])
(for ([param (list current-proper-names-choice current-hide-plurals)] (for ([param (list current-proper-names-choice current-hide-plurals)]
[msg '("show proper names" "hide plurals")]) [msg '("show proper names" "hide plurals")])
(new check-box% (new check-box%
[parent checkbox-panel] [parent checkbox-panel]
[label msg] [label msg]
[font app-font] [font app-font]
[horiz-margin 6] [horiz-margin 6]
[callback (λ (cb evt) [callback (λ (cb evt)
(param (send cb get-value)) (param (send cb get-value))
(refresh-wordbox))]))) (refresh-wordbox))])))
(define current-case-choice (make-parameter #f)) (define current-case-choice (make-parameter #f))
(define rb-casing (define rb-casing
@ -152,13 +156,13 @@
[alignment '(left top)] [alignment '(left top)]
[stretchable-height #false])]) [stretchable-height #false])])
(for ([count (in-list '(50 100 200 400 800 1600))]) (for ([count (in-list '(50 100 200 400 800 1600))])
(define count-str (format "~a" count)) (define count-str (format "~a" count))
(new button% [parent button-panel] (new button% [parent button-panel]
[label count-str] [label count-str]
[font app-font] [font app-font]
[callback (λ (button evt) [callback (λ (button evt)
(current-word-count (string->number count-str)) (current-word-count (string->number count-str))
(refresh-wordbox))]))) (refresh-wordbox))])))
(define wordbox (new text-field% (define wordbox (new text-field%
[label #f] [label #f]

Loading…
Cancel
Save