Fix contract on pref.
Restore correct button order. Fix typo.
This commit is contained in:
parent
6772f37b63
commit
fe7d985ca5
|
@ -18,8 +18,8 @@
|
||||||
(or (and (pair? x)
|
(or (and (pair? x)
|
||||||
(string? (car x))
|
(string? (car x))
|
||||||
(let ([i (cdr x)])
|
(let ([i (cdr x)])
|
||||||
(and (integer? x)
|
(and (integer? i)
|
||||||
(<= 1 x 255))))
|
(<= 1 i 255))))
|
||||||
(not x))))
|
(not x))))
|
||||||
|
|
||||||
(: get-default-font (-> (Instance Font%)))
|
(: get-default-font (-> (Instance Font%)))
|
||||||
|
@ -50,43 +50,15 @@
|
||||||
[parent parent]
|
[parent parent]
|
||||||
[width 700]
|
[width 700]
|
||||||
[label (string-constant large-semicolon-letters)]))
|
[label (string-constant large-semicolon-letters)]))
|
||||||
(define info-bar (new horizontal-panel%
|
|
||||||
[parent dlg]
|
|
||||||
[stretchable-height #f]))
|
|
||||||
|
|
||||||
(define count (new message% [label (format columns-string 1000)] [parent info-bar]))
|
|
||||||
(define pane1 (new horizontal-pane% (parent info-bar)))
|
|
||||||
(define dark-msg (new bitmap-message% [parent info-bar]))
|
|
||||||
(define pane2 (new horizontal-pane% (parent info-bar)))
|
|
||||||
|
|
||||||
|
|
||||||
(define txt (new scheme:text%))
|
|
||||||
(define ec (new editor-canvas% [parent dlg] [editor txt]))
|
|
||||||
(define button-panel (new horizontal-panel%
|
|
||||||
[parent dlg]
|
|
||||||
[stretchable-height #f]
|
|
||||||
[alignment '(right center)]))
|
|
||||||
(define: ok? : Boolean #f)
|
|
||||||
(define-values (ok cancel)
|
|
||||||
(gui-utils:ok/cancel-buttons button-panel
|
|
||||||
(λ: ([x : Any] [y : Any]) (set! ok? #t) (send dlg show #f))
|
|
||||||
(λ: ([x : Any] [y : Any]) (send dlg show #f))))
|
|
||||||
(define: (update-txt [str : String]) : Any
|
|
||||||
(send txt begin-edit-sequence)
|
|
||||||
(send txt lock #f)
|
|
||||||
(send txt delete 0 (send txt last-position))
|
|
||||||
(let ([bm (render-large-letters comment-prefix comment-character (get-chosen-font) str txt)])
|
|
||||||
(send ec set-line-count (+ 1 (send txt last-paragraph)))
|
|
||||||
(send txt lock #t)
|
|
||||||
(send txt end-edit-sequence)
|
|
||||||
(send count set-label (format columns-string (get-max-line-width txt)))
|
|
||||||
(send dark-msg set-bm bm)))
|
|
||||||
|
|
||||||
(define: text-field : (Instance Text-Field%)
|
(define: text-field : (Instance Text-Field%)
|
||||||
(new text-field%
|
(new text-field%
|
||||||
[parent dlg]
|
[parent dlg]
|
||||||
[label (string-constant text-to-insert)]
|
[label (string-constant text-to-insert)]
|
||||||
[callback (λ: ([x : Any] [y : Any]) (update-txt (send text-field get-value)))]))
|
[callback (λ: ([x : Any] [y : Any]) (update-txt (send text-field get-value)))]))
|
||||||
|
(: info-bar (Instance Horizontal-Panel%))
|
||||||
|
(define info-bar (new horizontal-panel%
|
||||||
|
[parent dlg]
|
||||||
|
[stretchable-height #f]))
|
||||||
(define: font-choice : (Instance Choice%)
|
(define: font-choice : (Instance Choice%)
|
||||||
(new choice%
|
(new choice%
|
||||||
[label (string-constant fonts)]
|
[label (string-constant fonts)]
|
||||||
|
@ -102,6 +74,46 @@
|
||||||
(send (get-default-font) get-point-size))))
|
(send (get-default-font) get-point-size))))
|
||||||
(update-txt (send text-field get-value))))]))
|
(update-txt (send text-field get-value))))]))
|
||||||
|
|
||||||
|
(: count (Instance Message%))
|
||||||
|
(define count (new message% [label (format columns-string 1000)] [parent info-bar]))
|
||||||
|
(: pane1 (Instance Horizontal-Pane%))
|
||||||
|
(define pane1 (new horizontal-pane% (parent info-bar)))
|
||||||
|
(: dark-msg (Instance Bitmap-Message%))
|
||||||
|
(define dark-msg (new bitmap-message% [parent info-bar]))
|
||||||
|
(: pane2 (Instance Horizontal-Pane%))
|
||||||
|
(define pane2 (new horizontal-pane% (parent info-bar)))
|
||||||
|
|
||||||
|
(: txt (Instance Scheme:Text%))
|
||||||
|
(define txt (new scheme:text%))
|
||||||
|
(: ec (Instance Editor-Canvas%))
|
||||||
|
(define ec (new editor-canvas% [parent dlg] [editor txt]))
|
||||||
|
(: button-panel (Instance Horizontal-Panel%))
|
||||||
|
(define button-panel (new horizontal-panel%
|
||||||
|
[parent dlg]
|
||||||
|
[stretchable-height #f]
|
||||||
|
[alignment '(right center)]))
|
||||||
|
(define: ok? : Boolean #f)
|
||||||
|
(: ok Any)
|
||||||
|
(: cancel Any)
|
||||||
|
(define-values (ok cancel)
|
||||||
|
(gui-utils:ok/cancel-buttons button-panel
|
||||||
|
(λ: ([x : Any] [y : Any]) (set! ok? #t) (send dlg show #f))
|
||||||
|
(λ: ([x : Any] [y : Any]) (send dlg show #f))))
|
||||||
|
(: update-txt (String -> Any))
|
||||||
|
(define (update-txt str)
|
||||||
|
(send txt begin-edit-sequence)
|
||||||
|
(send txt lock #f)
|
||||||
|
(send txt delete 0 (send txt last-position))
|
||||||
|
(let ([bm (render-large-letters comment-prefix comment-character (get-chosen-font) str txt)])
|
||||||
|
(send ec set-line-count (+ 1 (send txt last-paragraph)))
|
||||||
|
(send txt lock #t)
|
||||||
|
(send txt end-edit-sequence)
|
||||||
|
(send count set-label (format columns-string (get-max-line-width txt)))
|
||||||
|
(send dark-msg set-bm bm)))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;; CHANGE - get-face can return #f
|
;; CHANGE - get-face can return #f
|
||||||
(let ([face (send (get-chosen-font) get-face)])
|
(let ([face (send (get-chosen-font) get-face)])
|
||||||
(when face
|
(when face
|
||||||
|
@ -132,21 +144,21 @@
|
||||||
(max raw-th h)))
|
(max raw-th h)))
|
||||||
(define tmp-color (make-object color%))
|
(define tmp-color (make-object color%))
|
||||||
|
|
||||||
|
(: get-char (Number Number -> Char))
|
||||||
|
(define (get-char x y)
|
||||||
|
(send bdc get-pixel x y tmp-color)
|
||||||
|
(let ([red (send tmp-color red)])
|
||||||
|
(if (= red 0)
|
||||||
|
comment-character
|
||||||
|
#\space)))
|
||||||
(define bitmap
|
(define bitmap
|
||||||
(make-object bitmap%
|
(make-object bitmap%
|
||||||
(max 1 (inexact->exact tw))
|
(max 1 (inexact->exact tw))
|
||||||
(inexact->exact th)
|
(inexact->exact th)
|
||||||
#t))
|
#t))
|
||||||
|
|
||||||
(define: (get-char [x : Number] [y : Number]) : Char
|
(: fetch-line (Number -> String))
|
||||||
(send bdc get-pixel x y tmp-color)
|
(define (fetch-line y)
|
||||||
(let ([red (send tmp-color red)])
|
|
||||||
(if (= red 0)
|
|
||||||
comment-character
|
|
||||||
#\space)))
|
|
||||||
|
|
||||||
(define: (fetch-line [y : Number]) : String
|
|
||||||
(let: loop : String ([x : Number (send bitmap get-width)]
|
(let: loop : String ([x : Number (send bitmap get-width)]
|
||||||
[chars : (Listof Char) null])
|
[chars : (Listof Char) null])
|
||||||
(cond
|
(cond
|
||||||
|
|
|
@ -89,7 +89,7 @@
|
||||||
[gui-utils:ok/cancel-buttons (Any (Any Any -> Any) (Any Any -> Any) -> (values Any Any))])
|
[gui-utils:ok/cancel-buttons (Any (Any Any -> Any) (Any Any -> Any) -> (values Any Any))])
|
||||||
|
|
||||||
(require/typed "prefs-contract.ss"
|
(require/typed "prefs-contract.ss"
|
||||||
[preferences:get-drscheme:large-letters-font (-> (Pair Symbol Number))])
|
[preferences:get-drscheme:large-letters-font (-> (U #f (Pair String Number)))])
|
||||||
|
|
||||||
(require (only-in "prefs-contract.ss" preferences:get))
|
(require (only-in "prefs-contract.ss" preferences:get))
|
||||||
(provide preferences:get preferences:get-drscheme:large-letters-font)
|
(provide preferences:get preferences:get-drscheme:large-letters-font)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user