.
original commit: 1cb49e6f33c4aea2f9140018749ab5c19caba0b9
This commit is contained in:
parent
b52ec6eda2
commit
2f10f9757f
|
@ -3438,11 +3438,13 @@
|
||||||
[l (and label
|
[l (and label
|
||||||
(make-object wx-message% #f proxy p label -1 -1 null))]
|
(make-object wx-message% #f proxy p label -1 -1 null))]
|
||||||
[c (make-object wx-text-editor-canvas% #f proxy this p
|
[c (make-object wx-text-editor-canvas% #f proxy this p
|
||||||
(if multi?
|
(append
|
||||||
(if (memq 'hscroll style)
|
'(control-border)
|
||||||
null
|
(if multi?
|
||||||
'(hide-hscroll))
|
(if (memq 'hscroll style)
|
||||||
'(hide-vscroll hide-hscroll)))])
|
null
|
||||||
|
'(hide-hscroll))
|
||||||
|
'(hide-vscroll hide-hscroll))))])
|
||||||
(sequence
|
(sequence
|
||||||
(send c set-x-margin 2)
|
(send c set-x-margin 2)
|
||||||
(send c set-y-margin 2)
|
(send c set-y-margin 2)
|
||||||
|
@ -4704,6 +4706,10 @@
|
||||||
;-------------------- Canvas class constructions --------------------
|
;-------------------- Canvas class constructions --------------------
|
||||||
|
|
||||||
(define canvas-default-size 20) ; a default size for canvases tht fits borders without losing client sizes
|
(define canvas-default-size 20) ; a default size for canvases tht fits borders without losing client sizes
|
||||||
|
(define canvas-scroll-size 10)
|
||||||
|
(define canvas-control-border-extra (case (system-type)
|
||||||
|
[(windows) 2]
|
||||||
|
[else 0]))
|
||||||
|
|
||||||
(define canvas<%>
|
(define canvas<%>
|
||||||
(interface (subwindow<%>)
|
(interface (subwindow<%>)
|
||||||
|
@ -4750,7 +4756,7 @@
|
||||||
(sequence
|
(sequence
|
||||||
(let ([cwho '(constructor canvas)])
|
(let ([cwho '(constructor canvas)])
|
||||||
(check-container-parent cwho parent)
|
(check-container-parent cwho parent)
|
||||||
(check-style cwho #f '(border hscroll vscroll gl deleted) style)
|
(check-style cwho #f '(border hscroll vscroll gl deleted control-border no-autoclear) style)
|
||||||
(check-callback cwho paint-callback)
|
(check-callback cwho paint-callback)
|
||||||
(check-label-string/false cwho label)))
|
(check-label-string/false cwho label)))
|
||||||
(public
|
(public
|
||||||
|
@ -4826,9 +4832,10 @@
|
||||||
[wx #f])
|
[wx #f])
|
||||||
(sequence
|
(sequence
|
||||||
(super-init (lambda ()
|
(super-init (lambda ()
|
||||||
(let ([ds (+ (if (memq 'border style)
|
(let ([ds (+ (cond
|
||||||
4
|
[(memq 'control-border style) (+ 4 canvas-control-border-extra)]
|
||||||
0)
|
[(memq 'border style) 4]
|
||||||
|
[else 0])
|
||||||
(if (or (memq 'vscroll style) (memq 'hscroll style))
|
(if (or (memq 'vscroll style) (memq 'hscroll style))
|
||||||
canvas-default-size
|
canvas-default-size
|
||||||
1))])
|
1))])
|
||||||
|
@ -4861,7 +4868,7 @@
|
||||||
(let ([cwho '(constructor editor-canvas)])
|
(let ([cwho '(constructor editor-canvas)])
|
||||||
(check-container-parent cwho parent)
|
(check-container-parent cwho parent)
|
||||||
(check-instance cwho internal-editor<%> "text% or pasteboard%" #t editor)
|
(check-instance cwho internal-editor<%> "text% or pasteboard%" #t editor)
|
||||||
(check-style cwho #f '(hide-vscroll hide-hscroll no-vscroll no-hscroll deleted) style)
|
(check-style cwho #f '(hide-vscroll hide-hscroll no-vscroll no-hscroll deleted control-border) style)
|
||||||
(check-gauge-integer cwho scrolls-per-page)
|
(check-gauge-integer cwho scrolls-per-page)
|
||||||
(check-label-string/false cwho label)
|
(check-label-string/false cwho label)
|
||||||
(unless (eq? wheel-step no-val)
|
(unless (eq? wheel-step no-val)
|
||||||
|
@ -4957,10 +4964,13 @@
|
||||||
[no-v? (or (memq 'no-hscroll style)
|
[no-v? (or (memq 'no-hscroll style)
|
||||||
(memq 'hide-hscroll style))]
|
(memq 'hide-hscroll style))]
|
||||||
[get-ds (lambda (no-this? no-other?)
|
[get-ds (lambda (no-this? no-other?)
|
||||||
(cond
|
(+ (if (memq 'control-border style)
|
||||||
[(and no-this? no-other?) 14]
|
canvas-control-border-extra
|
||||||
[no-this? canvas-default-size]
|
0)
|
||||||
[else (+ 10 canvas-default-size)]))])
|
(cond
|
||||||
|
[(and no-this? no-other?) 14]
|
||||||
|
[no-this? canvas-default-size]
|
||||||
|
[else (+ canvas-scroll-size canvas-default-size)])))])
|
||||||
(set! wx (make-object wx-editor-canvas% this this
|
(set! wx (make-object wx-editor-canvas% this this
|
||||||
(mred->wx-container parent) -1 -1
|
(mred->wx-container parent) -1 -1
|
||||||
(get-ds no-h? no-v?)
|
(get-ds no-h? no-v?)
|
||||||
|
|
|
@ -546,7 +546,7 @@
|
||||||
|
|
||||||
(define fp (make-object vertical-panel% ip))
|
(define fp (make-object vertical-panel% ip))
|
||||||
|
|
||||||
(define tp (make-object vertical-panel% fp))
|
(define tp (make-object group-box-panel% "Sub" fp))
|
||||||
|
|
||||||
(when initially-disabled?
|
(when initially-disabled?
|
||||||
(send tp enable #f))
|
(send tp enable #f))
|
||||||
|
@ -601,8 +601,8 @@
|
||||||
(basic-add-testers2 name control))
|
(basic-add-testers2 name control))
|
||||||
basic-add-testers2))
|
basic-add-testers2))
|
||||||
|
|
||||||
(define fp2 (make-object vertical-panel% ip2-0))
|
(define fp2 (make-object vertical-panel% ip2-0))
|
||||||
(define ip2 (make-object vertical-panel% fp2))
|
(define ip2 (make-object group-box-panel% "Sub" fp2))
|
||||||
|
|
||||||
(when initially-disabled?
|
(when initially-disabled?
|
||||||
(send ip2 enable #f))
|
(send ip2 enable #f))
|
||||||
|
@ -1717,6 +1717,31 @@
|
||||||
(send f create-status-line)
|
(send f create-status-line)
|
||||||
(send f show #t))
|
(send f show #t))
|
||||||
|
|
||||||
|
(define (no-clear-canvas-frame)
|
||||||
|
(define f (make-frame frame% "No-Clear Canvas Test" #f #f 250))
|
||||||
|
(define p (make-object vertical-panel% f))
|
||||||
|
(define c% (class canvas%
|
||||||
|
(inherit get-dc refresh)
|
||||||
|
(define/override (on-paint)
|
||||||
|
(let ([red (send the-brush-list find-or-create-brush "RED" 'solid)]
|
||||||
|
[blue (send the-brush-list find-or-create-brush "BLUE" 'solid)]
|
||||||
|
[dc (get-dc)])
|
||||||
|
(let loop ([x 0])
|
||||||
|
(unless (= x 300)
|
||||||
|
(send dc set-brush red)
|
||||||
|
(send dc draw-rectangle x 0 25 400)
|
||||||
|
(send dc set-brush blue)
|
||||||
|
(send dc draw-rectangle (+ x 25) 0 25 400)
|
||||||
|
(loop (+ x 50))))))
|
||||||
|
(define/override (on-event evt)
|
||||||
|
(when (send evt dragging?)
|
||||||
|
(refresh)))
|
||||||
|
(super-new)))
|
||||||
|
(new c% [parent p][style '(border)])
|
||||||
|
(new c% [parent p][style '(no-autoclear border)])
|
||||||
|
(send f show #t)
|
||||||
|
f)
|
||||||
|
|
||||||
(define (editor-canvas-oneline-frame)
|
(define (editor-canvas-oneline-frame)
|
||||||
(define f (make-frame frame% "x" #f 200 #f))
|
(define f (make-frame frame% "x" #f 200 #f))
|
||||||
|
|
||||||
|
@ -2006,6 +2031,9 @@
|
||||||
(mkf '(vscroll) "V")
|
(mkf '(vscroll) "V")
|
||||||
(mkf null "")
|
(mkf null "")
|
||||||
(make-object grow-box-spacer-pane% cnp))
|
(make-object grow-box-spacer-pane% cnp))
|
||||||
|
(make-object button%
|
||||||
|
"Make No-Clear Canvas" cnp
|
||||||
|
(lambda (b e) (no-clear-canvas-frame)))
|
||||||
|
|
||||||
(define (choose-next radios)
|
(define (choose-next radios)
|
||||||
(let loop ([l radios])
|
(let loop ([l radios])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user