updated
original commit: 5c70d93112ec3499e9a52616a233ed9820fe4582
This commit is contained in:
commit
71b40c1802
101
collects/tests/mred/README
Normal file
101
collects/tests/mred/README
Normal file
|
@ -0,0 +1,101 @@
|
|||
|
||||
The "item.ss" test (use load/cd) creates a frame to select
|
||||
among several types of control-testing frames:
|
||||
|
||||
* Big - Tests basic controls; try everything
|
||||
|
||||
* Medium - Tests sliders & gauges; keep a new Big or
|
||||
Medium frame open while getting a new Medium
|
||||
frame to use the "Enable Previous Frame" test
|
||||
|
||||
* Menu - contains its own test instructions
|
||||
|
||||
* Button, Checkbox, etc. - Test everything, watching for
|
||||
messages in the console
|
||||
|
||||
For Big & Medium, verify that hide & disbale work (via the checkboxes
|
||||
on the right). Hiding or disabling a panel should hde or disable all
|
||||
its contained controls. Disbaling a frame (a "Previous" frame) should
|
||||
also disbale all of the contained controls. When "Null label" is
|
||||
used, there should *not* be extra space left where a label might have
|
||||
gone.
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
The "draw.ss" test (use load/cd) tests drawing commands. There
|
||||
is a checkbox for testing drawing into an intermediate offscreen
|
||||
bitmap as well. The drawing area should have the following
|
||||
features:
|
||||
|
||||
At the top, "Pen 0 x 0" in a consistent font (i.e., re-painting
|
||||
should not change the font)
|
||||
"Pen 1 x 1" in a possibly different font
|
||||
"Pen 2 x 2" in a bold font (bold version of 1x1 font)
|
||||
|
||||
the drawings under 0x0 and 1x1 should look the same:
|
||||
TopLeft: h-line should be left-aligned with box below it,
|
||||
but extend 1 extra pixel. v-line similarly should be
|
||||
top-aligned and 1 pixel longer. The lines should not
|
||||
touch the box - there should be 2 pixels of space.
|
||||
Top: Lines for the rotated L's should join in a sharp corner
|
||||
Second from Top: like top-left, but lines should touch the box
|
||||
Four shape lines: First and second should be exactly the same
|
||||
shape, with the first hollow and the second filled.
|
||||
Third shape and 2x2 shapes are ill-defined.
|
||||
Octagons: two hollow octagons exactly the same shape.
|
||||
Line: actually two lines, but they should form a single
|
||||
unbroken line
|
||||
Images: MrEd logo (b & w)
|
||||
BB logo (color)
|
||||
Down-left arrow (b & w)
|
||||
Down-left arrow - B & W, *not* red
|
||||
Down-left arrow - red with white background
|
||||
BB logo, possibly reddened
|
||||
Down-left arrow - red with *white* background
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
The "imred.ss" test is used to check for memory leaks in a loop
|
||||
invoking the mred system. Call the `go' procedure with a list
|
||||
of symbol flags:
|
||||
'force not included:
|
||||
Use the current eventspaces; expects mred:run-exit-callbacks
|
||||
to terminate everything properly
|
||||
'force included:
|
||||
Use a new eventspace; don't run mred:run-exit-callbacks and
|
||||
call wx:kill-eventspace instead.
|
||||
'console included:
|
||||
Open a MrEd console
|
||||
'thread included:
|
||||
Spawn a sleeping-and-looping thread during each invocation.
|
||||
Also tests semaphore-callback (because it has to)
|
||||
'eventspace included:
|
||||
Create a new sub-eventspace during each invocation with
|
||||
a wx:frame% shown
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
The "mem.ss" test should be loaded at startup:
|
||||
mred -nu -f tests/mem.ss
|
||||
It will create a lot of frames and instance of other objects,
|
||||
reporting memory information along the way. At the end,
|
||||
before the last memory dump, objects that are still allocated
|
||||
are displayed like this:
|
||||
(frame (1 . 5))
|
||||
This means that the frame allocated by thread #1 at cycle 5
|
||||
(counting down from some number) hasn't been garbage-collected.
|
||||
If there's a few of these lines (less than 10), that's ok.
|
||||
A large number of lines indicates a GC problem.
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
The "setup.ss" test is a randomized test of the MrEd classes that tests
|
||||
MrEd's stability. Load/cd setup.ss, and then run
|
||||
(init)
|
||||
This attempts to create instances of classes using random
|
||||
intialization arguments. (init) can be run any number of times. Then
|
||||
run
|
||||
(call-all-random)
|
||||
This calls every method of every class (skipping some "dangerous" ones
|
||||
that modify the file system) with a random instance and with random
|
||||
arguments.
|
346
collects/tests/mred/draw.ss
Normal file
346
collects/tests/mred/draw.ss
Normal file
|
@ -0,0 +1,346 @@
|
|||
|
||||
(define sys-path
|
||||
(lambda (f)
|
||||
(build-path (collection-path "icons") f)))
|
||||
|
||||
(let* ([f (make-object mred:frame% ()
|
||||
"Graphics Test"
|
||||
-1 -1 300 350)]
|
||||
[vp (make-object mred:vertical-panel% f)]
|
||||
[hp0 (make-object mred:horizontal-panel% vp)]
|
||||
[hp (make-object mred:horizontal-panel% vp)]
|
||||
[hp2 (make-object mred:horizontal-panel% vp)]
|
||||
[bb (make-object wx:bitmap% (sys-path "bb.gif")
|
||||
wx:const-bitmap-type-gif)]
|
||||
[return (make-object wx:bitmap% (sys-path "return.xbm")
|
||||
wx:const-bitmap-type-xbm)]
|
||||
[tmp-mdc (make-object wx:memory-dc%)]
|
||||
[use-bitmap? #f]
|
||||
[depth-one? #f])
|
||||
(send hp0 stretchable-in-y #f)
|
||||
(send hp stretchable-in-y #f)
|
||||
(send hp2 stretchable-in-y #f)
|
||||
(let ([canvas
|
||||
(make-object
|
||||
(make-class mred:canvas%
|
||||
(inherit get-dc)
|
||||
(public
|
||||
[no-bitmaps? #f]
|
||||
[set-bitmaps (lambda (on?) (set! no-bitmaps? (not on?)) (on-paint))]
|
||||
[no-stipples? #f]
|
||||
[set-stipples (lambda (on?) (set! no-stipples? (not on?)) (on-paint))]
|
||||
[scale 1]
|
||||
[set-scale (lambda (s) (set! scale s) (on-paint))]
|
||||
[offset 0]
|
||||
[set-offset (lambda (o) (set! offset o) (on-paint))]
|
||||
[on-paint
|
||||
(case-lambda
|
||||
[() (on-paint #f)]
|
||||
[(ps?)
|
||||
(let* ([can-dc (get-dc)]
|
||||
[pen0s (make-object wx:pen% "BLACK" 0 wx:const-solid)]
|
||||
[pen1s (make-object wx:pen% "BLACK" 1 wx:const-solid)]
|
||||
[pen2s (make-object wx:pen% "BLACK" 2 wx:const-solid)]
|
||||
[pen0t (make-object wx:pen% "BLACK" 0 wx:const-transparent)]
|
||||
[pen1t (make-object wx:pen% "BLACK" 1 wx:const-transparent)]
|
||||
[pen2t (make-object wx:pen% "BLACK" 2 wx:const-transparent)]
|
||||
[brushs (make-object wx:brush% "BLACK" wx:const-solid)]
|
||||
[brusht (make-object wx:brush% "BLACK" wx:const-transparent)]
|
||||
[penr (make-object wx:pen% "RED" 1 wx:const-solid)]
|
||||
[brushb (make-object wx:brush% "BLUE" wx:const-solid)]
|
||||
[mem-dc (if use-bitmap?
|
||||
(make-object wx:memory-dc%)
|
||||
#f)]
|
||||
[bm (if use-bitmap?
|
||||
(make-object wx:bitmap% (* scale 300) (* scale 300)
|
||||
(if depth-one? 1 -1))
|
||||
#f)]
|
||||
[draw-series
|
||||
(lambda (dc pens pent size x y flevel last?)
|
||||
(let* ([ofont (send dc get-font)])
|
||||
(if (positive? flevel)
|
||||
(send dc set-font
|
||||
(make-object wx:font%
|
||||
10 wx:const-decorative
|
||||
wx:const-normal
|
||||
(if (> flevel 1)
|
||||
wx:const-bold
|
||||
wx:const-normal)
|
||||
#t)))
|
||||
|
||||
(send dc set-pen pens)
|
||||
(send dc set-brush brusht)
|
||||
|
||||
; Test should overlay this line:
|
||||
(send dc draw-line
|
||||
(+ x 3) (+ y 12)
|
||||
(+ x 40) (+ y 12))
|
||||
|
||||
(send dc draw-text (string-append size " Pen")
|
||||
(+ x 5) (+ y 8))
|
||||
(send dc set-font ofont)
|
||||
|
||||
(send dc draw-line
|
||||
(+ x 5) (+ y 27) (+ x 10) (+ 27 y))
|
||||
(send dc draw-rectangle
|
||||
(+ x 5) (+ y 30) 5 5)
|
||||
(send dc draw-line
|
||||
(+ x 12) (+ y 30) (+ x 12) (+ y 35))
|
||||
|
||||
(send dc draw-line
|
||||
(+ x 5) (+ y 40) (+ x 10) (+ 40 y))
|
||||
(send dc draw-rectangle
|
||||
(+ x 5) (+ y 41) 5 5)
|
||||
(send dc draw-line
|
||||
(+ x 10) (+ y 41) (+ x 10) (+ 46 y))
|
||||
|
||||
(send dc draw-line
|
||||
(+ x 15) (+ y 25) (+ x 20) (+ 25 y))
|
||||
(send dc draw-line
|
||||
(+ x 20) (+ y 30) (+ x 20) (+ 25 y))
|
||||
|
||||
(send dc draw-line
|
||||
(+ x 30) (+ y 25) (+ x 25) (+ 25 y))
|
||||
(send dc draw-line
|
||||
(+ x 25) (+ y 30) (+ x 25) (+ 25 y))
|
||||
|
||||
(send dc draw-line
|
||||
(+ x 35) (+ y 30) (+ x 40) (+ 30 y))
|
||||
(send dc draw-line
|
||||
(+ x 40) (+ y 25) (+ x 40) (+ 30 y))
|
||||
|
||||
(send dc draw-line
|
||||
(+ x 50) (+ y 30) (+ x 45) (+ 30 y))
|
||||
(send dc draw-line
|
||||
(+ x 45) (+ y 25) (+ x 45) (+ 30 y))
|
||||
|
||||
; Check line thickness with "X"
|
||||
(send dc draw-line
|
||||
(+ x 20) (+ y 45) (+ x 40) (+ 39 y))
|
||||
(send dc draw-line
|
||||
(+ x 20) (+ y 39) (+ x 40) (+ 45 y))
|
||||
|
||||
(send dc draw-rectangle
|
||||
(+ x 5) (+ y 50) 10 10)
|
||||
(send dc draw-rounded-rectangle
|
||||
(+ x 5) (+ y 65) 10 10 3)
|
||||
(send dc draw-ellipse
|
||||
(+ x 5) (+ y 80) 10 10)
|
||||
|
||||
(send dc set-brush brushs)
|
||||
(send dc draw-rectangle
|
||||
(+ x 17) (+ y 50) 10 10)
|
||||
(send dc draw-rounded-rectangle
|
||||
(+ x 17) (+ y 65) 10 10 3)
|
||||
(send dc draw-ellipse
|
||||
(+ x 17) (+ y 80) 10 10)
|
||||
|
||||
(send dc set-pen pent)
|
||||
(send dc draw-rectangle
|
||||
(+ x 29) (+ y 50) 10 10)
|
||||
(send dc draw-rounded-rectangle
|
||||
(+ x 29) (+ y 65) 10 10 3)
|
||||
(send dc draw-ellipse
|
||||
(+ x 29) (+ y 80) 10 10)
|
||||
|
||||
|
||||
(send dc set-pen pens)
|
||||
(send dc draw-rectangle
|
||||
(+ x 17) (+ y 95) 10 10)
|
||||
(send dc set-logical-function wx:const-clear)
|
||||
(send dc draw-rectangle
|
||||
(+ x 18) (+ y 96) 8 8)
|
||||
(send dc set-logical-function wx:const-copy)
|
||||
|
||||
(send dc draw-rectangle
|
||||
(+ x 29) (+ y 95) 10 10)
|
||||
(send dc set-logical-function wx:const-clear)
|
||||
(send dc set-pen pent)
|
||||
(send dc draw-rectangle
|
||||
(+ x 30) (+ y 96) 8 8)
|
||||
|
||||
(send dc set-pen pens)
|
||||
(send dc draw-rectangle
|
||||
(+ x 5) (+ y 95) 10 10)
|
||||
(send dc set-logical-function wx:const-xor)
|
||||
(send dc draw-rectangle
|
||||
(+ x 5) (+ y 95) 10 10)
|
||||
(send dc set-logical-function wx:const-copy)
|
||||
|
||||
(send dc draw-line
|
||||
(+ x 5) (+ y 110) (+ x 8) (+ y 110))
|
||||
(send dc draw-line
|
||||
(+ x 8) (+ y 110) (+ x 11) (+ y 113))
|
||||
(send dc draw-line
|
||||
(+ x 11) (+ y 113) (+ x 11) (+ y 116))
|
||||
(send dc draw-line
|
||||
(+ x 11) (+ y 116) (+ x 8) (+ y 119))
|
||||
(send dc draw-line
|
||||
(+ x 8) (+ y 119) (+ x 5) (+ y 119))
|
||||
(send dc draw-line
|
||||
(+ x 5) (+ y 119) (+ x 2) (+ y 116))
|
||||
(send dc draw-line
|
||||
(+ x 2) (+ y 116) (+ x 2) (+ y 113))
|
||||
(send dc draw-line
|
||||
(+ x 2) (+ y 113) (+ x 5) (+ y 110))
|
||||
|
||||
(send dc draw-lines
|
||||
(list
|
||||
(make-object wx:point% 5 95)
|
||||
(make-object wx:point% 8 95)
|
||||
(make-object wx:point% 11 98)
|
||||
(make-object wx:point% 11 101)
|
||||
(make-object wx:point% 8 104)
|
||||
(make-object wx:point% 5 104)
|
||||
(make-object wx:point% 2 101)
|
||||
(make-object wx:point% 2 98)
|
||||
(make-object wx:point% 5 95))
|
||||
(+ x 12) (+ y 15))
|
||||
|
||||
(send dc draw-line
|
||||
(+ x 5) (+ y 125) (+ x 10) (+ y 125))
|
||||
(send dc draw-line
|
||||
(+ x 11) (+ y 125) (+ x 16) (+ y 125))
|
||||
|
||||
(send dc set-brush brusht)
|
||||
(send dc draw-arc
|
||||
(+ x 20) (+ y 135)
|
||||
(+ x 5) (+ y 150)
|
||||
(+ x 20) (+ y 150))
|
||||
(send dc draw-arc
|
||||
(+ x 35) (+ y 150)
|
||||
(+ x 20) (+ y 135)
|
||||
(+ x 20) (+ y 150))
|
||||
(send dc set-brush brushs)
|
||||
(send dc draw-arc
|
||||
(+ x 60) (+ y 135)
|
||||
(+ x 36) (+ y 150)
|
||||
(+ x 60) (+ y 150))
|
||||
(send dc set-brush brusht)
|
||||
|
||||
(unless (or no-bitmaps? (not last?))
|
||||
(let ([x 5] [y 165])
|
||||
(send dc draw-icon
|
||||
(mred:get-icon) x y)
|
||||
(set! x (+ x (send (mred:get-icon) get-width)))
|
||||
(let ([do-one
|
||||
(lambda (bm mode)
|
||||
(if (send bm ok?)
|
||||
(begin
|
||||
(send tmp-mdc select-object bm)
|
||||
(let ([h (send bm get-height)]
|
||||
[w (send bm get-width)])
|
||||
(send dc blit x y
|
||||
w h
|
||||
tmp-mdc 0 0
|
||||
mode)
|
||||
(set! x (+ x w 10)))
|
||||
(send tmp-mdc select-object null))
|
||||
(printf "bad bitmap~n")))])
|
||||
(do-one bb wx:const-copy)
|
||||
(do-one return wx:const-copy)
|
||||
(send dc set-pen penr)
|
||||
(do-one return wx:const-copy)
|
||||
(do-one return wx:const-colour)
|
||||
(do-one bb wx:const-colour)
|
||||
(let ([bg (send dc get-background)])
|
||||
(send dc set-background brushs)
|
||||
(do-one return wx:const-colour)
|
||||
(send dc set-background bg))
|
||||
(send dc set-pen pens))))
|
||||
|
||||
(unless (or no-stipples? (not last?))
|
||||
(send dc set-brush brushb)
|
||||
(send dc draw-rectangle 80 200 100 40)
|
||||
(when (send return ok?)
|
||||
(let ([b (make-object wx:brush% "GREEN" wx:const-stipple)])
|
||||
(send b set-stipple return)
|
||||
(send dc set-brush b)
|
||||
(send dc draw-rectangle 85 205 30 30)
|
||||
(send dc set-brush brushs)
|
||||
(send b set-style wx:const-opaque-stipple)
|
||||
(send dc set-brush b)
|
||||
(send dc draw-rectangle 120 205 30 30)
|
||||
(send dc set-brush brushs)
|
||||
(send b set-stipple bb)
|
||||
(send dc set-brush b)
|
||||
(send dc draw-rectangle 155 205 20 30)
|
||||
(send dc set-brush brushs)
|
||||
(send b set-stipple null))))
|
||||
|
||||
(if (not (or ps? (eq? dc can-dc)))
|
||||
(send can-dc blit 0 0
|
||||
(* scale 300) (* scale 300)
|
||||
mem-dc 0 0 wx:const-copy)))
|
||||
|
||||
'done)])
|
||||
|
||||
(send (get-dc) set-user-scale 1 1)
|
||||
(send (get-dc) set-device-origin 0 0)
|
||||
|
||||
(let ([dc (if ps?
|
||||
(let ([dc (make-object wx:post-script-dc% null #t)])
|
||||
(and (send dc ok?) dc))
|
||||
(if (and use-bitmap? (send bm ok?))
|
||||
(begin
|
||||
(send mem-dc select-object bm)
|
||||
mem-dc)
|
||||
(get-dc)))])
|
||||
(when dc
|
||||
(when ps?
|
||||
(send dc start-doc "Draw Test")
|
||||
(send dc start-page))
|
||||
|
||||
(send dc set-user-scale scale scale)
|
||||
(send dc set-device-origin offset offset)
|
||||
|
||||
(send dc clear)
|
||||
; check default pen/brush:
|
||||
(send dc draw-rectangle 0 0 5 5)
|
||||
(send dc draw-line 0 0 20 6)
|
||||
|
||||
(draw-series dc pen0s pen0t "0 x 0" 5 0 0 #f)
|
||||
|
||||
(draw-series dc pen1s pen1t "1 x 1" 70 0 1 #f)
|
||||
|
||||
(draw-series dc pen2s pen2t "2 x 2" 135 0 2 #t)
|
||||
|
||||
(when ps?
|
||||
(send dc end-page)
|
||||
(send dc end-doc))))
|
||||
|
||||
'done)])]))
|
||||
vp 0 50 300 300)])
|
||||
(make-object mred:radio-box% hp0
|
||||
(lambda (self event)
|
||||
(set! use-bitmap? (< 0 (send event get-command-int)))
|
||||
(set! depth-one? (< 1 (send event get-command-int)))
|
||||
(send canvas on-paint))
|
||||
null
|
||||
-1 -1 -1 -1
|
||||
'("Canvas" "Pixmap" "Bitmap")
|
||||
0 wx:const-horizontal)
|
||||
(make-object mred:button% hp
|
||||
(lambda (self event)
|
||||
(send canvas on-paint #t))
|
||||
"PostScript")
|
||||
(make-object mred:check-box% hp
|
||||
(lambda (self event)
|
||||
(send canvas set-scale (if (send event checked?) 2 1)))
|
||||
"*2")
|
||||
(make-object mred:check-box% hp
|
||||
(lambda (self event)
|
||||
(send canvas set-offset (if (send event checked?) 10 0)))
|
||||
"+10")
|
||||
(send (make-object mred:check-box% hp2
|
||||
(lambda (self event)
|
||||
(send canvas set-bitmaps (send event checked?)))
|
||||
"Icons")
|
||||
set-value #t)
|
||||
(send (make-object mred:check-box% hp2
|
||||
(lambda (self event)
|
||||
(send canvas set-stipples (send event checked?)))
|
||||
"Stipples")
|
||||
set-value #t))
|
||||
|
||||
(send f show #t))
|
1167
collects/tests/mred/item.ss
Normal file
1167
collects/tests/mred/item.ss
Normal file
File diff suppressed because it is too large
Load Diff
241
collects/tests/mred/mem.ss
Normal file
241
collects/tests/mred/mem.ss
Normal file
|
@ -0,0 +1,241 @@
|
|||
|
||||
(define source-dir (current-load-relative-directory))
|
||||
|
||||
(define num-times 12)
|
||||
(define num-threads 1)
|
||||
|
||||
(define dump-stats? #t)
|
||||
|
||||
(define edit? #t)
|
||||
(define insert? #t)
|
||||
(define load-file? #f) ; adds a lot of messy objects
|
||||
|
||||
(define menus? #t)
|
||||
(define atomic? #t)
|
||||
(define offscreen? #t)
|
||||
(define frame? #t)
|
||||
|
||||
(define subwindows? #t)
|
||||
|
||||
(define allocated '())
|
||||
(define (remember tag v)
|
||||
(set! allocated
|
||||
(cons (cons tag (make-weak-box v))
|
||||
allocated))
|
||||
v)
|
||||
|
||||
(define frame%
|
||||
; Leave this as the (obsolete) make-class form for macro testing
|
||||
(make-class mred:editor-frame%
|
||||
(rename [super-show show])
|
||||
(public
|
||||
[prim-show (lambda (arg) (super-show arg))]
|
||||
[show
|
||||
(lambda (x) (void))])))
|
||||
|
||||
(when subwindows?
|
||||
(define sub-collect-frame
|
||||
(make-object wx:frame% null "sub-collect" -1 -1 200 200))
|
||||
(define sub-collect-panel
|
||||
(make-object wx:panel% sub-collect-frame 0 0 100 100)))
|
||||
|
||||
(send sub-collect-frame show #t)
|
||||
|
||||
(define (maker id n)
|
||||
(sleep)
|
||||
(collect-garbage)
|
||||
(collect-garbage)
|
||||
(printf "Thread: ~s Cycle: ~s~n" id n)
|
||||
(dump-object-stats)
|
||||
(if (and dump-stats? (= id 1))
|
||||
(dump-memory-stats))
|
||||
(unless (zero? n)
|
||||
(let ([tag (cons id n)])
|
||||
(let* ([f (if edit? (remember tag (make-object frame%)))]
|
||||
[c (make-custodian)]
|
||||
[es (parameterize ([current-custodian c])
|
||||
(wx:make-eventspace))])
|
||||
|
||||
(parameterize ([wx:current-eventspace es])
|
||||
(send (remember
|
||||
tag
|
||||
(make-object
|
||||
(class-asi wx:timer%
|
||||
(public
|
||||
[notify void]))))
|
||||
start 100))
|
||||
|
||||
(when edit?
|
||||
(remember tag (send f get-edit)))
|
||||
|
||||
(when (and edit? (zero? (modulo n 2)))
|
||||
(send f prim-show #t)
|
||||
(sleep 0.5))
|
||||
|
||||
(if frame?
|
||||
(let* ([f (make-object wx:frame% '() "Tester" -1 -1 200 200)]
|
||||
[p (remember tag (make-object wx:panel% f))])
|
||||
(remember tag (make-object wx:canvas% f))
|
||||
(if (zero? (modulo n 3))
|
||||
(send f show #t))
|
||||
(remember tag (make-object wx:button% p (lambda args #t) "one"))
|
||||
(let ([class wx:check-box%])
|
||||
(let loop ([m 10])
|
||||
(unless (zero? m)
|
||||
(remember (cons tag m)
|
||||
(make-object class p (lambda args #t) "another"))
|
||||
(loop (sub1 m)))))
|
||||
(send p new-line)
|
||||
(remember tag (make-object wx:check-box% p (lambda args #t) "check"))
|
||||
(remember tag (make-object wx:choice% p (lambda args #t) "choice"))
|
||||
(remember tag (make-object wx:list-box% p (lambda args #t) "list"
|
||||
wx:const-single -1 -1 -1 -1
|
||||
'("apple" "banana" "coconut")))
|
||||
(remember tag (make-object wx:button% p (lambda args #t) "two"))
|
||||
(send f show #f)))
|
||||
|
||||
(if subwindows?
|
||||
(let ([p (make-object wx:panel% sub-collect-frame 100 100 50 50)]
|
||||
[cv (make-object wx:canvas% sub-collect-frame 150 150 50 50)]
|
||||
[add-objects
|
||||
(lambda (p tag hide?)
|
||||
(let ([b (make-object wx:button% p (lambda args #t) "one" 0 0)]
|
||||
[c (make-object wx:check-box% p (lambda args #t) "check" 0 0)]
|
||||
[co (make-object wx:choice% p (lambda args #t) "choice" 0 0)]
|
||||
[cv (make-object wx:canvas% p 0 0 50 50)]
|
||||
[lb (make-object wx:list-box% p (lambda args #t) "list"
|
||||
wx:const-single 0 0 -1 -1
|
||||
'("apple" "banana" "coconut"))])
|
||||
(when hide?
|
||||
(send b show #f)
|
||||
(send c show #f)
|
||||
(send cv show #f)
|
||||
(send co show #f)
|
||||
(send lb show #f))
|
||||
(remember tag b)
|
||||
(remember tag c)
|
||||
(remember tag cv)
|
||||
(remember tag co)
|
||||
(remember tag lb)))])
|
||||
(add-objects sub-collect-panel (cons 'sc1 tag) #t)
|
||||
(add-objects p (cons 'sc2 tag) #f)
|
||||
(remember (cons 'sc0 tag) p)
|
||||
(remember (cons 'sc0 tag) cv)
|
||||
(send p show #f)
|
||||
(send cv show #f)))
|
||||
|
||||
|
||||
(if (and edit? insert?)
|
||||
(let ([e (send f get-edit)])
|
||||
(when load-file?
|
||||
(send e load-file (build-path source-dir "mem.ss")))
|
||||
(let loop ([i 20])
|
||||
(send e insert (number->string i))
|
||||
(unless (zero? i)
|
||||
(loop (sub1 i))))
|
||||
(let ([s (make-object wx:media-snip%)])
|
||||
(send (send s get-this-media) insert "Hello!")
|
||||
(send e insert s))
|
||||
(send e insert #\newline)
|
||||
(send e insert "done")
|
||||
(send e set-modified #f)))
|
||||
|
||||
(when menus?
|
||||
(remember tag (make-object wx:menu-bar%))
|
||||
(remember tag (make-object wx:menu%))
|
||||
(let ([mb (remember tag (make-object wx:menu-bar%))]
|
||||
[m (remember tag (make-object wx:menu%))])
|
||||
(send m append 5 "Hi" (remember tag (make-object wx:menu%)))
|
||||
(send mb append m "x"))
|
||||
|
||||
(if edit?
|
||||
(let ([m (remember tag (make-object mred:menu%))]
|
||||
[m2 (remember tag (make-object mred:menu%))]
|
||||
[mb (send f get-menu-bar)])
|
||||
(send m append 4 "ok")
|
||||
(send m2 append 4 "hao")
|
||||
(send m append 5 "Hi" (remember tag (make-object mred:menu%)))
|
||||
(send mb append m "Extra")
|
||||
(send mb append m2 "Other")
|
||||
(send m delete 5)
|
||||
(send mb delete m))))
|
||||
|
||||
(when atomic?
|
||||
(let loop ([m 8])
|
||||
(unless (zero? m)
|
||||
(remember (cons tag m) (make-object wx:point% n m))
|
||||
(remember (cons tag m) (make-object wx:int-point% n m))
|
||||
(remember (cons tag m) (make-object wx:brush%))
|
||||
(remember (cons tag m) (make-object wx:pen%))
|
||||
(loop (sub1 m)))))
|
||||
|
||||
(when offscreen?
|
||||
(let ([m (remember tag (make-object wx:memory-dc%))]
|
||||
[b (remember (cons tag 'u) (make-object wx:bitmap% 100 100))]
|
||||
[b2 (remember (cons tag 'x) (make-object wx:bitmap% 100 100))])
|
||||
(send m select-object b)))
|
||||
|
||||
|
||||
(when edit?
|
||||
(let ([name (wx:get-temp-file-name "hi")])
|
||||
(send (send f get-edit) save-file name)
|
||||
(send f on-close)
|
||||
(send f prim-show #f)
|
||||
(delete-file name)))
|
||||
|
||||
(custodian-shutdown-all c)
|
||||
|
||||
(collect-garbage)
|
||||
|
||||
(maker id (sub1 n))))))
|
||||
|
||||
(define (still)
|
||||
(map (lambda (x)
|
||||
(let ([v (weak-box-value (cdr x))])
|
||||
(if v
|
||||
(printf "~s ~s~n" (send v get-class-name) (car x)))))
|
||||
allocated)
|
||||
(void))
|
||||
|
||||
(define (xthread f)
|
||||
(f))
|
||||
|
||||
(define (stw t n)
|
||||
(thread-weight t (floor (/ (thread-weight t) n))))
|
||||
|
||||
(define (do-test)
|
||||
(let ([sema (make-semaphore)])
|
||||
(let loop ([n num-threads])
|
||||
(unless (zero? n)
|
||||
(thread (lambda ()
|
||||
(stw (current-thread) n)
|
||||
(dynamic-wind
|
||||
void
|
||||
(lambda () (maker n num-times))
|
||||
(lambda () (semaphore-post sema)))))
|
||||
(loop (sub1 n))))
|
||||
(let loop ([n num-threads])
|
||||
(unless (zero? n)
|
||||
(wx:yield sema)
|
||||
(loop (sub1 n)))))
|
||||
|
||||
(collect-garbage)
|
||||
(collect-garbage)
|
||||
(let loop ([n 100])
|
||||
(if (zero? n) 0 (sub1 (loop (sub1 n)))))
|
||||
(collect-garbage)
|
||||
(collect-garbage)
|
||||
(still)
|
||||
(when subwindows?
|
||||
(set! sub-collect-frame #f)
|
||||
(set! sub-collect-panel #f))
|
||||
(when dump-stats?
|
||||
(dump-memory-stats)
|
||||
(still)))
|
||||
|
||||
(define mred:startup
|
||||
(let ([old-mred:startup mred:startup])
|
||||
(lambda args
|
||||
(send mred:the-frame-group set-empty-callback (lambda () #t))
|
||||
(do-test)
|
||||
(apply old-mred:startup args))))
|
4
collects/tests/mred/nruter.xbm
Normal file
4
collects/tests/mred/nruter.xbm
Normal file
|
@ -0,0 +1,4 @@
|
|||
#define nruter_width 6
|
||||
#define nruter_height 9
|
||||
static char nruter_bits[] = {
|
||||
0x1e,0x1f,0x03,0x03,0x27,0x3e,0x3c,0x3c,0x3e};
|
409
notes/mred/HISTORY
Normal file
409
notes/mred/HISTORY
Normal file
|
@ -0,0 +1,409 @@
|
|||
Version 51: ??, 1997
|
||||
X Windows: window manager close-frame request is ignored
|
||||
when a modal dialog is in control
|
||||
Added security so that wx:snip% methods cannot be overridden
|
||||
to crash MrEd
|
||||
Fixed wx:canvas% scrolling on all platforms; the style flags
|
||||
wx:const-hscroll and wx:const-vscroll must be used at
|
||||
canvas-creation to set up for scrolling. Removed the
|
||||
enable-scrolling method from wx:canvas%. Renamed the method
|
||||
get-scroll-page-units to get-scroll-units. Added methods
|
||||
get-scroll-pos, get-scroll-range, and get-scroll-page.
|
||||
The wx:canvas% wx:const-backingstore and wx:const-retained
|
||||
style flags have been removed.
|
||||
Removed wx:key-event%'s position method and added get-x,
|
||||
get-y, set-x, and set-y
|
||||
Changed default pen in DC to width 0 instead of 1
|
||||
Added get-max-view method to wx:media-admin%
|
||||
Revised wx:media-buffer%'s cursor system for better
|
||||
cooperation with embedded buffers; instead of handling
|
||||
the cursor in on-default-event, added a method adjust-cursor
|
||||
to buffers and snips, and replaced admin's set-cursor with
|
||||
update-cursor
|
||||
Added refresh-delayed? predicate to wx:media-buffer%, useful
|
||||
for deciding whether a buffer (or one of its enclosing
|
||||
buffers) is in an edit-sequence
|
||||
Added a --pre flag for evaluating an expression in a
|
||||
MzScheme-only namespace at startup. This flag is intended
|
||||
for use with image dumps (see the MzScheme manual)
|
||||
Removed wx:copy-file; MzScheme now has copy-file
|
||||
Fixed wx:media-stream-in%'s get-string (it was adding an
|
||||
extra nul character)
|
||||
Removed error dialogs when wx:media-buffer%'s load-file or
|
||||
save-file fails
|
||||
Windows: fixed canvas mouse events; button-down event grabs
|
||||
the mouse until the next button-up event
|
||||
Windows: fixed initial setting of DC text mode: transparent
|
||||
instead of opaque
|
||||
X Windows: fixed wx:frame's iconize and iconized? methods,
|
||||
ignoring the X idea of not de-iconifying windows that were
|
||||
iconified by the user
|
||||
Removed wx:exit
|
||||
|
||||
Version 50: August 26, 1997
|
||||
Changed wx:dc%'s get-size method to return size of
|
||||
destination area; old [documented] functionality
|
||||
is available via max-x and max-y
|
||||
Made button-click state visible for Xt on b&w displays
|
||||
Fixed and normalized PostScript drawing
|
||||
Removed wx:dc% methods: device-to-logical-x, etc.
|
||||
Windows wx:display-size changed to return the size of the
|
||||
screen not including the task bar
|
||||
Windows: finally fixed scale for [non-PostScript] printing
|
||||
Added wx:[un]register-collecting-blit
|
||||
X Windows: Fixed use of colormap by loaded bitmap images
|
||||
Added an optional argument to wx:media-buffer's print method
|
||||
to supporting fitting to the destination page
|
||||
X Windows: Saving as xbm works for bitmaps of any depth
|
||||
MzScheme pathname expansion performed by all wx: toolbox
|
||||
procedures that take a pathname
|
||||
X Windows Xt: removed excessive borders on wx:canvas% objects
|
||||
X Windows Xt: removed 2 pixel offset for a single auto-sized
|
||||
child in a wx:frame% or wx:dialog-box%
|
||||
Windows: Fixed scrollbars on editor buffers; they're always
|
||||
shown now, but the editor never gets confused about the size
|
||||
Fixed on-size, pre-on-char, and pre-on-event for wx:item%
|
||||
subclasses
|
||||
Fixed confusing argument type and number error messages
|
||||
for overloaded methods of primitive classes
|
||||
|
||||
Version 49: May 31, 1997
|
||||
Object system changes: see mzscheme/HISTORY for details
|
||||
Fixed Mac event-handling and many other Mac things
|
||||
Fixed garbage collection of hidden frames under Windows (!)
|
||||
Panels, canvases, and controls that are both hidden and
|
||||
inaccessible are now garbage-collected
|
||||
Disabled controls are reliably grayed-out, including items
|
||||
within a disabled panel
|
||||
Instances of wx:pen%, wx:brush%, or wx:pen% that are
|
||||
selected into a drawing context cannot be mutated
|
||||
Immutability of objects obtained via wx:the-XXX-list is
|
||||
enforced
|
||||
Controls for Windows, Xt are created with the "System" family
|
||||
rather than the "Default" family (using resources)
|
||||
Single wx:bitmap% object can be used by multiple controls
|
||||
and/or pens and/or brushes
|
||||
Fixed Motif image-label radio button
|
||||
wx:find-directory replaced with wx:find-path
|
||||
All wx:dc% instances have a default font for drawing
|
||||
wx:const-copy blit never uses the pen/background color;
|
||||
new blit mode wx:const-colour uses current pen
|
||||
X Windows: removed mapping of Mod3 to Alt (too confusing on
|
||||
keyboards where NumLock is Mod3)
|
||||
Fixed wx:timer% bug that caused autosaving to not work
|
||||
Fixed eventspace bugs
|
||||
Fixed .bmp reading when smaller-than-max colormap is provided
|
||||
Fixed interlaced .gif reading for Windows and MacOS
|
||||
Xt: fixed default height of wx:text% items
|
||||
Xt: In a wx:mouse-event% instance, type wx:const-type-XXX-down
|
||||
implies get-XXX-down => #t (formerly #f)
|
||||
Removed wx:group-box% class; use a panel with a border, instead
|
||||
Removed wx:tool-bar% class
|
||||
wx:choice% get-columns and set-columns no longer supported
|
||||
Added wx:gauge% methods: get-value and get-range
|
||||
wx:media-pasteboard% bug fixes and improvements: raise, lower,
|
||||
set-before, and set-after methods now work
|
||||
wx:list-box% set-client-data and get-client-data work with
|
||||
any Scheme data type
|
||||
Windows and X Windows: Break key changed back to shift-ctl-c
|
||||
instead of ctl-c (to avoid conflicts with Emacs-std keyboard
|
||||
mappings)
|
||||
|
||||
Version 48: Skipped to avoid confusion with Scheme48
|
||||
|
||||
Version 47: January 11, 1997
|
||||
WARNING: multiple inhertance is going away in 48
|
||||
Added overwrite-styles? arg to wx:media-buffer%'s read-from-file,
|
||||
and added get-/set-load-overwrites-styles methods
|
||||
Modified wx:media-buffer%'s set-caret-owner to provide more
|
||||
levels of focus control
|
||||
Controls with bitmap labels work correctly, fixed crashing bugs,
|
||||
some Mac controls do not display yet
|
||||
wx:bitmap%'s load-file only allowed when the bitmap is not selected
|
||||
into a wx:memory-dc% object or used by a control
|
||||
|
||||
Version 46: December 5, 1996
|
||||
Fixed misc. Motif control-sizing problems
|
||||
Mac & Xt: "&" stripped from control labels correctly
|
||||
wx:yield takes an optional semaphore argument
|
||||
|
||||
Version 45: November 12, 1996
|
||||
IMPORTANT: let-values is now analogous to let; the old
|
||||
let-values is now let*-values
|
||||
Added thread-savy parameterization system; namespace system changed
|
||||
Added eventspaces
|
||||
wx:server%, wx:client%, and wx:connection% are no longer supported
|
||||
(Better TCP support is now built into MzScheme)
|
||||
wx:the-snip-class-list was replaced by (wx:get-the-snip-class-list)
|
||||
wx:the-buffer-data-class-list was replaced by (wx:get-the-buffer-data-class-list)
|
||||
Added transparent text backing for editor text
|
||||
Added wx:dc% try-colour method
|
||||
wx:window% capture-mode, release-mouse, and make-modal no longer supported
|
||||
Modal dialogs can be used instead of make-modal (modal is
|
||||
specified through the constructor). There is currently no
|
||||
replacement for capture-mouse and release-mouse, but a replacement is
|
||||
likely to be in 46.
|
||||
Xt and Mac: "&" stripped from control labels (matches Windows/Motif), sortof
|
||||
|
||||
Version 44: September 9, 1996
|
||||
wx:play-sound added
|
||||
Saving bitmaps fixed on all platforms; editor can now save
|
||||
"inlined" images instead of only references to images
|
||||
Hyper-text browser handles HTML files (w/o networking)
|
||||
Fixed Mac control drawing and hiding
|
||||
Fixed Xt menus (finally!)
|
||||
Fixed menu item auto-check for popup menus
|
||||
Fixed Motif canvas click event reporting (spurious drags)
|
||||
See also mzscheme/HISTORY, wxme/README, and system/HISTORY
|
||||
Upgraded to gc 11alpha3
|
||||
|
||||
Version 43: Re-released August 12, 1996
|
||||
Under GNU LGPL license
|
||||
|
||||
Version 43: August 9, 1996
|
||||
Major system overhaul (Robby Findler); see system/HISTORY
|
||||
Windows stability greatly advanced
|
||||
Windows and MacOS versions much more "Windows-like" and "Mac-like"
|
||||
with standard menu shortcuts and better icons
|
||||
MacOS and Windows use native print facilities
|
||||
GIF images supported under Windows
|
||||
wx:window set-client-size removed
|
||||
wx:panel%'s get-cursor renamed to get-item-cursor; added set-item-cursor
|
||||
Fixed cut-n-paste newlines under MacOS and Windows
|
||||
Xt: panel with one item no longer auto-sizes the child
|
||||
See also mzscheme/HISTORY
|
||||
|
||||
Version 42: June 8, 1996
|
||||
Documentation translated to Scheme notation, corrected
|
||||
Windows update bug fixed for embedded buffers
|
||||
MacOS memory use greatly improved
|
||||
Fixed annoying non-standard Windows beep
|
||||
Non-matching cond or case expression raises and error
|
||||
mred:platform and mred:window-system changed to wx:...
|
||||
standard system uses functors (see MzScheme)
|
||||
wx:canvas%::int-draw-line and wx:int-point% removed
|
||||
wx:list%, wx:hash-table%, wx:string-list%, wx:path-list removed
|
||||
wx:media-stream-in%::get removed for strings; use get-string
|
||||
Redundant wx: functions removed:
|
||||
wx:dir-exists? (use directory-exists?)
|
||||
wx:file-exists? (use file-exists?)
|
||||
wx:file-name-from-path (use file-name-from-path or split-path)
|
||||
wx:path-only (use path-only or split-path)
|
||||
wx:is-absolute-path? (use reletaive-path?)
|
||||
wx:expand-path (use expand-path)
|
||||
wx:get-working-directory (use current-directory)
|
||||
wx:set-working-directory (use current-directory)
|
||||
wx:mkdir (use make-directory)
|
||||
wx:remove-file (use delete-file)
|
||||
wx:rename-file (use rename-file)
|
||||
wx:get-user-home and wx:get-home-dir (use expand-path with "~")
|
||||
wx:execute and wx:shell (use system or process)
|
||||
wx:find-first-file and wx:find-next-file (use get-directory-list)
|
||||
wx:sleep (use sleep)
|
||||
wx:sub-type? (use subclass?)
|
||||
wx:to-lower (use char-upcase)
|
||||
wx:to-upper (use char-downcase)
|
||||
wx:is-wild? (use reg exps)
|
||||
wx:match-wild? (use reg exps)
|
||||
|
||||
Version 0.41: April 15, 1996
|
||||
Important language changes; see mzscheme/HISTORY
|
||||
Fixed bug in wxCanvas drawing methods
|
||||
Fixed wxCanvasDC and wxMemoryDC bugs in Xt version
|
||||
Pasteboards fixed
|
||||
AIX: two consecutive SIGDANGERs => exit(-1)
|
||||
wxGetMultipleChoice supported
|
||||
|
||||
Version 0.40: March 24, 1996
|
||||
Possible improvements to memory system
|
||||
Some redundant event methods removed
|
||||
Finally fixed Windows NT/95 Scheme threads
|
||||
Stdout/stderr messages to a window instead of file for Windows/Mac+
|
||||
Fixed misc. Xt problems, including show-n-hide on frame
|
||||
|
||||
Version 0.39: March 6, 1996
|
||||
Fixed safety from Scheme on invalidated C++ objects (stack objs, too)
|
||||
Fixed many bugs in Xt version
|
||||
Upgraded to gc version 4.10
|
||||
Reduced memory usage of buffer objects
|
||||
|
||||
Version 0.38: February 22, 1996
|
||||
Xt port released
|
||||
Part of standard system moved to DrScheme
|
||||
See also mzscheme HISTORY and wxmedia README
|
||||
|
||||
Version 0.37: Not released
|
||||
|
||||
Version 0.36: January 18, 1996
|
||||
Fixed bug in MzScheme's bignum multiplication
|
||||
|
||||
Version 0.35: January 17, 1996
|
||||
X selection protocol supported. To get the old clipboard-style
|
||||
mechanism, add this to your .mredrc:
|
||||
(wx:media-set-x-selection-mode #f)
|
||||
See also wxMediaEdit::SetPosition() in the wxMedia manual.
|
||||
|
||||
Version 0.34: December 30, 1995
|
||||
Minor improvements to MzScheme and the standard system
|
||||
|
||||
Version 0.33: December 21, 1995
|
||||
MzScheme language changes; see mzscheme/HISTORY
|
||||
Old standard system no longer compatible
|
||||
Project system improved
|
||||
Many bugs fixed in the new standard system
|
||||
|
||||
Version 0.32: December 4, 1995
|
||||
New standard system:
|
||||
* The console I/O is completely different. It works more
|
||||
like an Emacs shell. Use M-p and M-n to access previously
|
||||
entered expressions. (read) will now read from the console.
|
||||
* All mred:std-<x> variables have been eliminated. For each
|
||||
mred:<x>%, there is now a procedure mred:make-<x>% that takes a
|
||||
superclass and returns a new class.
|
||||
* The frame and buffer hierarchies have changed a little.
|
||||
* From a mred:edit% object, you can get to its canvas or frame.
|
||||
* The menubar/menu system is completely revised. You don't have to
|
||||
deal with menu ids much anymore. Menus and menu items can now be
|
||||
dynamically added and removed.
|
||||
* Keymap chaining works differently.
|
||||
* The new Scheme project system is roughly in place. This will let you
|
||||
develop Scheme programs by organizing Scheme files within a project.
|
||||
Projects help manage loading program files into the
|
||||
evaluator and uses Shriram's Zodiac/Aries packages to
|
||||
provide debugging facilities. This will be improved in the near
|
||||
future.
|
||||
The old standard system is available in the "oldsys" directory.
|
||||
Pretty printer handles loops and graphs
|
||||
Very limited support for wxYield under XView - will be extended
|
||||
Fixed some wxMedia bugs (see wxme/README)
|
||||
Fixed some MzScheme bugs (see mzscheme/HISTORY)
|
||||
|
||||
Version 0.31: November 14, 1995
|
||||
Fixed some wxMedia bugs (see wxme/README)
|
||||
Fixed some MzScheme bugs (see mzscheme/HISTORY)
|
||||
Parameterization for Macintosh
|
||||
|
||||
Verion 0.30: October 25, 1995
|
||||
Added call-with-values and regexp to MzScheme
|
||||
Unix stack-checking setup code fixed in MzScheme
|
||||
wxMediaPasteboard implemented more
|
||||
Scheme-C++ object link changed; use ptr in all C++ objects
|
||||
Added tutorial section to "User Manual"
|
||||
|
||||
Version 0.29: October 18, 1995
|
||||
Editor can save text preserving automatic CR
|
||||
Bug fix in automatic line-wrapping
|
||||
New font system can access arbitrary fonts
|
||||
Multiple displays in Motif: wx:set-display and wx:get-display-name
|
||||
MzScheme fix for forms such as (let ([x (let ...)]) ...)
|
||||
|
||||
Version 0.28: October 3, 1995
|
||||
MzScheme bug fix: stack-checking on Unix
|
||||
wxMedia fix: Insert(unsigned char, ...) instead of Insert(char, ...)
|
||||
and proper use of `unsigned' in word-breaking array access
|
||||
|
||||
Version 0.27: September 29, 1995
|
||||
Major MzScheme upgrade, including multiple inheritance
|
||||
(See MzScheme HISTORY for details)
|
||||
Win32: Allow deeper recursion by copying the stack
|
||||
Win32: Allow breaking with Shift-Ctl-C
|
||||
New font configuration system
|
||||
|
||||
Version 0.26: September 8, 1995
|
||||
Very minor changes
|
||||
Bug fix to MzScheme for Win32s
|
||||
|
||||
Version 0.25: September 7, 1995
|
||||
Upgraded to wxWindows 1.63
|
||||
Minor bug fixes
|
||||
|
||||
Version 0.24: September 1, 1995
|
||||
Minor bug fixes
|
||||
|
||||
Version 0.23: August 23, 1995
|
||||
Minor bug fixes
|
||||
Editor can display images (types depend on wxWindow compile flags)
|
||||
MzScheme correction: expand & expand-once
|
||||
|
||||
Version 0.22: August 17, 1995
|
||||
Mostly MzScheme improvements
|
||||
File-format bug fixed related to portability; To make files created
|
||||
earlier portable, open and re-save them.
|
||||
|
||||
Version 0.21: August 8, 1995
|
||||
Bug fixes
|
||||
triggers, hash tables, and case-lambda added to MzScheme
|
||||
MzScheme "sleeps" properly
|
||||
Connected MrEd to wxWindow's layout constraint system
|
||||
|
||||
Version 0.20: July 26, 1995
|
||||
MzScheme Bug fixes
|
||||
|
||||
Version 0.19: July 25, 1995
|
||||
All "!"s removed from method names!!!!!
|
||||
Full continuations and bignums added to MzScheme
|
||||
Bug Fixes
|
||||
|
||||
Version 0.18: July 20, 1995
|
||||
Win32s kinda supported
|
||||
Bug fixes
|
||||
Added (compile ...) to MzScheme
|
||||
Added internal processes & threads to MzScheme
|
||||
wxSnipData -> wxBufferData
|
||||
Old process and system changed to process* and system*
|
||||
|
||||
Version 0.17: July 11, 1995
|
||||
Bug fixes, especially Motif and memory bugs
|
||||
Rewrote editor line-maintenance
|
||||
Faster caret updating
|
||||
Upgraded garbage collector
|
||||
File format changed to accomodate nested buffers with
|
||||
separate style lists
|
||||
Standard system standardized
|
||||
Code changes for compiling on MSWindows (almost works...)
|
||||
Scheme mode
|
||||
|
||||
Version 0.16: June 16, 1995
|
||||
Fixed define-struct bug
|
||||
|
||||
Version 0.15: June 15, 1995
|
||||
Bug fixes, especially XView
|
||||
make-input-port takes only 3 args; "unget" param dropped
|
||||
on-local-char & on-local-event renamed to on-default-char
|
||||
and on-default-event
|
||||
name changes: to have "!" or not to have "!". See doc/names.diff
|
||||
for a list of changed names
|
||||
fonts configuarble through .Xdefaults; see MrEd.ad
|
||||
|
||||
Version 0.14: June 9, 1995
|
||||
Bug fixes, including wxWindows widget table clash
|
||||
Scheme mode works
|
||||
error-handler changed to parameterizing function
|
||||
|
||||
Version 0.13: June 5, 1995
|
||||
MzScheme replaced libscheme
|
||||
ctl-c breaks Scheme evaluation in MrEd
|
||||
libscheme/ changed to mzscheme/ - change your make.env!
|
||||
|
||||
Version 0.12: June 1, 1995
|
||||
Bug fixes
|
||||
Revised object system: requires (inherit ...) declarations
|
||||
(pretty-print ...) installed
|
||||
|
||||
Version 0.11: May 19, 1995
|
||||
Bug Fixes
|
||||
|
||||
Version 0.10: May 19, 1995
|
||||
Bug fixes
|
||||
(match ...) installed
|
||||
|
||||
Version 0.9: May 18, 1995
|
||||
wxMediaPasteboard
|
||||
|
||||
Version 0.8: May 11, 1995
|
||||
Bug fixes
|
||||
|
||||
Version 0.7: May 10, 1995
|
||||
mred:default-<x> changed to mred:<x> in system
|
||||
README in demo directory
|
||||
Lots of bug fixes
|
409
src/mred/HISTORY
Normal file
409
src/mred/HISTORY
Normal file
|
@ -0,0 +1,409 @@
|
|||
Version 51: ??, 1997
|
||||
X Windows: window manager close-frame request is ignored
|
||||
when a modal dialog is in control
|
||||
Added security so that wx:snip% methods cannot be overridden
|
||||
to crash MrEd
|
||||
Fixed wx:canvas% scrolling on all platforms; the style flags
|
||||
wx:const-hscroll and wx:const-vscroll must be used at
|
||||
canvas-creation to set up for scrolling. Removed the
|
||||
enable-scrolling method from wx:canvas%. Renamed the method
|
||||
get-scroll-page-units to get-scroll-units. Added methods
|
||||
get-scroll-pos, get-scroll-range, and get-scroll-page.
|
||||
The wx:canvas% wx:const-backingstore and wx:const-retained
|
||||
style flags have been removed.
|
||||
Removed wx:key-event%'s position method and added get-x,
|
||||
get-y, set-x, and set-y
|
||||
Changed default pen in DC to width 0 instead of 1
|
||||
Added get-max-view method to wx:media-admin%
|
||||
Revised wx:media-buffer%'s cursor system for better
|
||||
cooperation with embedded buffers; instead of handling
|
||||
the cursor in on-default-event, added a method adjust-cursor
|
||||
to buffers and snips, and replaced admin's set-cursor with
|
||||
update-cursor
|
||||
Added refresh-delayed? predicate to wx:media-buffer%, useful
|
||||
for deciding whether a buffer (or one of its enclosing
|
||||
buffers) is in an edit-sequence
|
||||
Added a --pre flag for evaluating an expression in a
|
||||
MzScheme-only namespace at startup. This flag is intended
|
||||
for use with image dumps (see the MzScheme manual)
|
||||
Removed wx:copy-file; MzScheme now has copy-file
|
||||
Fixed wx:media-stream-in%'s get-string (it was adding an
|
||||
extra nul character)
|
||||
Removed error dialogs when wx:media-buffer%'s load-file or
|
||||
save-file fails
|
||||
Windows: fixed canvas mouse events; button-down event grabs
|
||||
the mouse until the next button-up event
|
||||
Windows: fixed initial setting of DC text mode: transparent
|
||||
instead of opaque
|
||||
X Windows: fixed wx:frame's iconize and iconized? methods,
|
||||
ignoring the X idea of not de-iconifying windows that were
|
||||
iconified by the user
|
||||
Removed wx:exit
|
||||
|
||||
Version 50: August 26, 1997
|
||||
Changed wx:dc%'s get-size method to return size of
|
||||
destination area; old [documented] functionality
|
||||
is available via max-x and max-y
|
||||
Made button-click state visible for Xt on b&w displays
|
||||
Fixed and normalized PostScript drawing
|
||||
Removed wx:dc% methods: device-to-logical-x, etc.
|
||||
Windows wx:display-size changed to return the size of the
|
||||
screen not including the task bar
|
||||
Windows: finally fixed scale for [non-PostScript] printing
|
||||
Added wx:[un]register-collecting-blit
|
||||
X Windows: Fixed use of colormap by loaded bitmap images
|
||||
Added an optional argument to wx:media-buffer's print method
|
||||
to supporting fitting to the destination page
|
||||
X Windows: Saving as xbm works for bitmaps of any depth
|
||||
MzScheme pathname expansion performed by all wx: toolbox
|
||||
procedures that take a pathname
|
||||
X Windows Xt: removed excessive borders on wx:canvas% objects
|
||||
X Windows Xt: removed 2 pixel offset for a single auto-sized
|
||||
child in a wx:frame% or wx:dialog-box%
|
||||
Windows: Fixed scrollbars on editor buffers; they're always
|
||||
shown now, but the editor never gets confused about the size
|
||||
Fixed on-size, pre-on-char, and pre-on-event for wx:item%
|
||||
subclasses
|
||||
Fixed confusing argument type and number error messages
|
||||
for overloaded methods of primitive classes
|
||||
|
||||
Version 49: May 31, 1997
|
||||
Object system changes: see mzscheme/HISTORY for details
|
||||
Fixed Mac event-handling and many other Mac things
|
||||
Fixed garbage collection of hidden frames under Windows (!)
|
||||
Panels, canvases, and controls that are both hidden and
|
||||
inaccessible are now garbage-collected
|
||||
Disabled controls are reliably grayed-out, including items
|
||||
within a disabled panel
|
||||
Instances of wx:pen%, wx:brush%, or wx:pen% that are
|
||||
selected into a drawing context cannot be mutated
|
||||
Immutability of objects obtained via wx:the-XXX-list is
|
||||
enforced
|
||||
Controls for Windows, Xt are created with the "System" family
|
||||
rather than the "Default" family (using resources)
|
||||
Single wx:bitmap% object can be used by multiple controls
|
||||
and/or pens and/or brushes
|
||||
Fixed Motif image-label radio button
|
||||
wx:find-directory replaced with wx:find-path
|
||||
All wx:dc% instances have a default font for drawing
|
||||
wx:const-copy blit never uses the pen/background color;
|
||||
new blit mode wx:const-colour uses current pen
|
||||
X Windows: removed mapping of Mod3 to Alt (too confusing on
|
||||
keyboards where NumLock is Mod3)
|
||||
Fixed wx:timer% bug that caused autosaving to not work
|
||||
Fixed eventspace bugs
|
||||
Fixed .bmp reading when smaller-than-max colormap is provided
|
||||
Fixed interlaced .gif reading for Windows and MacOS
|
||||
Xt: fixed default height of wx:text% items
|
||||
Xt: In a wx:mouse-event% instance, type wx:const-type-XXX-down
|
||||
implies get-XXX-down => #t (formerly #f)
|
||||
Removed wx:group-box% class; use a panel with a border, instead
|
||||
Removed wx:tool-bar% class
|
||||
wx:choice% get-columns and set-columns no longer supported
|
||||
Added wx:gauge% methods: get-value and get-range
|
||||
wx:media-pasteboard% bug fixes and improvements: raise, lower,
|
||||
set-before, and set-after methods now work
|
||||
wx:list-box% set-client-data and get-client-data work with
|
||||
any Scheme data type
|
||||
Windows and X Windows: Break key changed back to shift-ctl-c
|
||||
instead of ctl-c (to avoid conflicts with Emacs-std keyboard
|
||||
mappings)
|
||||
|
||||
Version 48: Skipped to avoid confusion with Scheme48
|
||||
|
||||
Version 47: January 11, 1997
|
||||
WARNING: multiple inhertance is going away in 48
|
||||
Added overwrite-styles? arg to wx:media-buffer%'s read-from-file,
|
||||
and added get-/set-load-overwrites-styles methods
|
||||
Modified wx:media-buffer%'s set-caret-owner to provide more
|
||||
levels of focus control
|
||||
Controls with bitmap labels work correctly, fixed crashing bugs,
|
||||
some Mac controls do not display yet
|
||||
wx:bitmap%'s load-file only allowed when the bitmap is not selected
|
||||
into a wx:memory-dc% object or used by a control
|
||||
|
||||
Version 46: December 5, 1996
|
||||
Fixed misc. Motif control-sizing problems
|
||||
Mac & Xt: "&" stripped from control labels correctly
|
||||
wx:yield takes an optional semaphore argument
|
||||
|
||||
Version 45: November 12, 1996
|
||||
IMPORTANT: let-values is now analogous to let; the old
|
||||
let-values is now let*-values
|
||||
Added thread-savy parameterization system; namespace system changed
|
||||
Added eventspaces
|
||||
wx:server%, wx:client%, and wx:connection% are no longer supported
|
||||
(Better TCP support is now built into MzScheme)
|
||||
wx:the-snip-class-list was replaced by (wx:get-the-snip-class-list)
|
||||
wx:the-buffer-data-class-list was replaced by (wx:get-the-buffer-data-class-list)
|
||||
Added transparent text backing for editor text
|
||||
Added wx:dc% try-colour method
|
||||
wx:window% capture-mode, release-mouse, and make-modal no longer supported
|
||||
Modal dialogs can be used instead of make-modal (modal is
|
||||
specified through the constructor). There is currently no
|
||||
replacement for capture-mouse and release-mouse, but a replacement is
|
||||
likely to be in 46.
|
||||
Xt and Mac: "&" stripped from control labels (matches Windows/Motif), sortof
|
||||
|
||||
Version 44: September 9, 1996
|
||||
wx:play-sound added
|
||||
Saving bitmaps fixed on all platforms; editor can now save
|
||||
"inlined" images instead of only references to images
|
||||
Hyper-text browser handles HTML files (w/o networking)
|
||||
Fixed Mac control drawing and hiding
|
||||
Fixed Xt menus (finally!)
|
||||
Fixed menu item auto-check for popup menus
|
||||
Fixed Motif canvas click event reporting (spurious drags)
|
||||
See also mzscheme/HISTORY, wxme/README, and system/HISTORY
|
||||
Upgraded to gc 11alpha3
|
||||
|
||||
Version 43: Re-released August 12, 1996
|
||||
Under GNU LGPL license
|
||||
|
||||
Version 43: August 9, 1996
|
||||
Major system overhaul (Robby Findler); see system/HISTORY
|
||||
Windows stability greatly advanced
|
||||
Windows and MacOS versions much more "Windows-like" and "Mac-like"
|
||||
with standard menu shortcuts and better icons
|
||||
MacOS and Windows use native print facilities
|
||||
GIF images supported under Windows
|
||||
wx:window set-client-size removed
|
||||
wx:panel%'s get-cursor renamed to get-item-cursor; added set-item-cursor
|
||||
Fixed cut-n-paste newlines under MacOS and Windows
|
||||
Xt: panel with one item no longer auto-sizes the child
|
||||
See also mzscheme/HISTORY
|
||||
|
||||
Version 42: June 8, 1996
|
||||
Documentation translated to Scheme notation, corrected
|
||||
Windows update bug fixed for embedded buffers
|
||||
MacOS memory use greatly improved
|
||||
Fixed annoying non-standard Windows beep
|
||||
Non-matching cond or case expression raises and error
|
||||
mred:platform and mred:window-system changed to wx:...
|
||||
standard system uses functors (see MzScheme)
|
||||
wx:canvas%::int-draw-line and wx:int-point% removed
|
||||
wx:list%, wx:hash-table%, wx:string-list%, wx:path-list removed
|
||||
wx:media-stream-in%::get removed for strings; use get-string
|
||||
Redundant wx: functions removed:
|
||||
wx:dir-exists? (use directory-exists?)
|
||||
wx:file-exists? (use file-exists?)
|
||||
wx:file-name-from-path (use file-name-from-path or split-path)
|
||||
wx:path-only (use path-only or split-path)
|
||||
wx:is-absolute-path? (use reletaive-path?)
|
||||
wx:expand-path (use expand-path)
|
||||
wx:get-working-directory (use current-directory)
|
||||
wx:set-working-directory (use current-directory)
|
||||
wx:mkdir (use make-directory)
|
||||
wx:remove-file (use delete-file)
|
||||
wx:rename-file (use rename-file)
|
||||
wx:get-user-home and wx:get-home-dir (use expand-path with "~")
|
||||
wx:execute and wx:shell (use system or process)
|
||||
wx:find-first-file and wx:find-next-file (use get-directory-list)
|
||||
wx:sleep (use sleep)
|
||||
wx:sub-type? (use subclass?)
|
||||
wx:to-lower (use char-upcase)
|
||||
wx:to-upper (use char-downcase)
|
||||
wx:is-wild? (use reg exps)
|
||||
wx:match-wild? (use reg exps)
|
||||
|
||||
Version 0.41: April 15, 1996
|
||||
Important language changes; see mzscheme/HISTORY
|
||||
Fixed bug in wxCanvas drawing methods
|
||||
Fixed wxCanvasDC and wxMemoryDC bugs in Xt version
|
||||
Pasteboards fixed
|
||||
AIX: two consecutive SIGDANGERs => exit(-1)
|
||||
wxGetMultipleChoice supported
|
||||
|
||||
Version 0.40: March 24, 1996
|
||||
Possible improvements to memory system
|
||||
Some redundant event methods removed
|
||||
Finally fixed Windows NT/95 Scheme threads
|
||||
Stdout/stderr messages to a window instead of file for Windows/Mac+
|
||||
Fixed misc. Xt problems, including show-n-hide on frame
|
||||
|
||||
Version 0.39: March 6, 1996
|
||||
Fixed safety from Scheme on invalidated C++ objects (stack objs, too)
|
||||
Fixed many bugs in Xt version
|
||||
Upgraded to gc version 4.10
|
||||
Reduced memory usage of buffer objects
|
||||
|
||||
Version 0.38: February 22, 1996
|
||||
Xt port released
|
||||
Part of standard system moved to DrScheme
|
||||
See also mzscheme HISTORY and wxmedia README
|
||||
|
||||
Version 0.37: Not released
|
||||
|
||||
Version 0.36: January 18, 1996
|
||||
Fixed bug in MzScheme's bignum multiplication
|
||||
|
||||
Version 0.35: January 17, 1996
|
||||
X selection protocol supported. To get the old clipboard-style
|
||||
mechanism, add this to your .mredrc:
|
||||
(wx:media-set-x-selection-mode #f)
|
||||
See also wxMediaEdit::SetPosition() in the wxMedia manual.
|
||||
|
||||
Version 0.34: December 30, 1995
|
||||
Minor improvements to MzScheme and the standard system
|
||||
|
||||
Version 0.33: December 21, 1995
|
||||
MzScheme language changes; see mzscheme/HISTORY
|
||||
Old standard system no longer compatible
|
||||
Project system improved
|
||||
Many bugs fixed in the new standard system
|
||||
|
||||
Version 0.32: December 4, 1995
|
||||
New standard system:
|
||||
* The console I/O is completely different. It works more
|
||||
like an Emacs shell. Use M-p and M-n to access previously
|
||||
entered expressions. (read) will now read from the console.
|
||||
* All mred:std-<x> variables have been eliminated. For each
|
||||
mred:<x>%, there is now a procedure mred:make-<x>% that takes a
|
||||
superclass and returns a new class.
|
||||
* The frame and buffer hierarchies have changed a little.
|
||||
* From a mred:edit% object, you can get to its canvas or frame.
|
||||
* The menubar/menu system is completely revised. You don't have to
|
||||
deal with menu ids much anymore. Menus and menu items can now be
|
||||
dynamically added and removed.
|
||||
* Keymap chaining works differently.
|
||||
* The new Scheme project system is roughly in place. This will let you
|
||||
develop Scheme programs by organizing Scheme files within a project.
|
||||
Projects help manage loading program files into the
|
||||
evaluator and uses Shriram's Zodiac/Aries packages to
|
||||
provide debugging facilities. This will be improved in the near
|
||||
future.
|
||||
The old standard system is available in the "oldsys" directory.
|
||||
Pretty printer handles loops and graphs
|
||||
Very limited support for wxYield under XView - will be extended
|
||||
Fixed some wxMedia bugs (see wxme/README)
|
||||
Fixed some MzScheme bugs (see mzscheme/HISTORY)
|
||||
|
||||
Version 0.31: November 14, 1995
|
||||
Fixed some wxMedia bugs (see wxme/README)
|
||||
Fixed some MzScheme bugs (see mzscheme/HISTORY)
|
||||
Parameterization for Macintosh
|
||||
|
||||
Verion 0.30: October 25, 1995
|
||||
Added call-with-values and regexp to MzScheme
|
||||
Unix stack-checking setup code fixed in MzScheme
|
||||
wxMediaPasteboard implemented more
|
||||
Scheme-C++ object link changed; use ptr in all C++ objects
|
||||
Added tutorial section to "User Manual"
|
||||
|
||||
Version 0.29: October 18, 1995
|
||||
Editor can save text preserving automatic CR
|
||||
Bug fix in automatic line-wrapping
|
||||
New font system can access arbitrary fonts
|
||||
Multiple displays in Motif: wx:set-display and wx:get-display-name
|
||||
MzScheme fix for forms such as (let ([x (let ...)]) ...)
|
||||
|
||||
Version 0.28: October 3, 1995
|
||||
MzScheme bug fix: stack-checking on Unix
|
||||
wxMedia fix: Insert(unsigned char, ...) instead of Insert(char, ...)
|
||||
and proper use of `unsigned' in word-breaking array access
|
||||
|
||||
Version 0.27: September 29, 1995
|
||||
Major MzScheme upgrade, including multiple inheritance
|
||||
(See MzScheme HISTORY for details)
|
||||
Win32: Allow deeper recursion by copying the stack
|
||||
Win32: Allow breaking with Shift-Ctl-C
|
||||
New font configuration system
|
||||
|
||||
Version 0.26: September 8, 1995
|
||||
Very minor changes
|
||||
Bug fix to MzScheme for Win32s
|
||||
|
||||
Version 0.25: September 7, 1995
|
||||
Upgraded to wxWindows 1.63
|
||||
Minor bug fixes
|
||||
|
||||
Version 0.24: September 1, 1995
|
||||
Minor bug fixes
|
||||
|
||||
Version 0.23: August 23, 1995
|
||||
Minor bug fixes
|
||||
Editor can display images (types depend on wxWindow compile flags)
|
||||
MzScheme correction: expand & expand-once
|
||||
|
||||
Version 0.22: August 17, 1995
|
||||
Mostly MzScheme improvements
|
||||
File-format bug fixed related to portability; To make files created
|
||||
earlier portable, open and re-save them.
|
||||
|
||||
Version 0.21: August 8, 1995
|
||||
Bug fixes
|
||||
triggers, hash tables, and case-lambda added to MzScheme
|
||||
MzScheme "sleeps" properly
|
||||
Connected MrEd to wxWindow's layout constraint system
|
||||
|
||||
Version 0.20: July 26, 1995
|
||||
MzScheme Bug fixes
|
||||
|
||||
Version 0.19: July 25, 1995
|
||||
All "!"s removed from method names!!!!!
|
||||
Full continuations and bignums added to MzScheme
|
||||
Bug Fixes
|
||||
|
||||
Version 0.18: July 20, 1995
|
||||
Win32s kinda supported
|
||||
Bug fixes
|
||||
Added (compile ...) to MzScheme
|
||||
Added internal processes & threads to MzScheme
|
||||
wxSnipData -> wxBufferData
|
||||
Old process and system changed to process* and system*
|
||||
|
||||
Version 0.17: July 11, 1995
|
||||
Bug fixes, especially Motif and memory bugs
|
||||
Rewrote editor line-maintenance
|
||||
Faster caret updating
|
||||
Upgraded garbage collector
|
||||
File format changed to accomodate nested buffers with
|
||||
separate style lists
|
||||
Standard system standardized
|
||||
Code changes for compiling on MSWindows (almost works...)
|
||||
Scheme mode
|
||||
|
||||
Version 0.16: June 16, 1995
|
||||
Fixed define-struct bug
|
||||
|
||||
Version 0.15: June 15, 1995
|
||||
Bug fixes, especially XView
|
||||
make-input-port takes only 3 args; "unget" param dropped
|
||||
on-local-char & on-local-event renamed to on-default-char
|
||||
and on-default-event
|
||||
name changes: to have "!" or not to have "!". See doc/names.diff
|
||||
for a list of changed names
|
||||
fonts configuarble through .Xdefaults; see MrEd.ad
|
||||
|
||||
Version 0.14: June 9, 1995
|
||||
Bug fixes, including wxWindows widget table clash
|
||||
Scheme mode works
|
||||
error-handler changed to parameterizing function
|
||||
|
||||
Version 0.13: June 5, 1995
|
||||
MzScheme replaced libscheme
|
||||
ctl-c breaks Scheme evaluation in MrEd
|
||||
libscheme/ changed to mzscheme/ - change your make.env!
|
||||
|
||||
Version 0.12: June 1, 1995
|
||||
Bug fixes
|
||||
Revised object system: requires (inherit ...) declarations
|
||||
(pretty-print ...) installed
|
||||
|
||||
Version 0.11: May 19, 1995
|
||||
Bug Fixes
|
||||
|
||||
Version 0.10: May 19, 1995
|
||||
Bug fixes
|
||||
(match ...) installed
|
||||
|
||||
Version 0.9: May 18, 1995
|
||||
wxMediaPasteboard
|
||||
|
||||
Version 0.8: May 11, 1995
|
||||
Bug fixes
|
||||
|
||||
Version 0.7: May 10, 1995
|
||||
mred:default-<x> changed to mred:<x> in system
|
||||
README in demo directory
|
||||
Lots of bug fixes
|
0
src/mzscheme/gc/makefile.depend
Normal file
0
src/mzscheme/gc/makefile.depend
Normal file
130
tests/mred/steps.txt
Normal file
130
tests/mred/steps.txt
Normal file
|
@ -0,0 +1,130 @@
|
|||
Instructions:
|
||||
Initial Setup:
|
||||
- Second menu is enabled "Apple"
|
||||
Delete Apple
|
||||
|
||||
Menu Inserting & Deleting:
|
||||
Add Apple - apple menu appears
|
||||
Add Banana - banana menu appears
|
||||
Delete Apple (from apple menu) - apple menu goes, banana menu still there
|
||||
Delete Banana - back to starting point
|
||||
Add Apple
|
||||
Add Banana
|
||||
Delete Banana - apple still there
|
||||
Delete Apple
|
||||
Add Apple
|
||||
Add Coconut - coconut submenu appears
|
||||
Delete Coconut (from sub-menu) - coconut submenu gone
|
||||
Delete Apple
|
||||
Add Coconut
|
||||
Add Apple - apple menu appears with coconut already
|
||||
Delete Apple
|
||||
Delete Coconut
|
||||
Add Apple - apple menu appears without coconut
|
||||
|
||||
Menu Enabling:
|
||||
Disable Second - apple menu gray & unselectable
|
||||
Enable Second - back to normal
|
||||
Disable Second
|
||||
Delete Apple (from tester menu)
|
||||
Add Apple - NOT gray anymore
|
||||
|
||||
Item Enabling:
|
||||
Disable Apple Once Item -> once item grayed & unselectable
|
||||
Un-Disable Apple Once Item -> once item normal
|
||||
Disable Apple Once Item
|
||||
Delete Apple
|
||||
Add Apple -> once item still gray
|
||||
Un-Disable Apple Once Item
|
||||
Delete Apple
|
||||
Disable Apple Once Item
|
||||
Add Apple -> once item gray again
|
||||
Un-Disable Apple Once Item
|
||||
|
||||
Item Inserting & Deleting:
|
||||
Append Donut - donut item added
|
||||
Delete Once - once item disappears
|
||||
Delete Apple
|
||||
Add Apple - once item still gone
|
||||
Append Donut - another donut
|
||||
Delete Apple
|
||||
Append Donut
|
||||
Add Apple - three donuts total
|
||||
|
||||
Checkable Items & Insertions:
|
||||
Test Apple Item -> "no"
|
||||
Apple Checkable
|
||||
Test Apple Item -> "yes"
|
||||
Delete Apple
|
||||
Test Apple Item -> "yes"
|
||||
Apple Checkable
|
||||
Test Apple Item -> "no"
|
||||
Delete Apple
|
||||
Test Apple Item -> "no"
|
||||
|
||||
More Checkable (Apple & Banana currently deleted):
|
||||
Test Aeros -> "yes"
|
||||
Test Bruin -> "no"
|
||||
Test Capitols -> "no"
|
||||
|
||||
Check Astros -> nothing
|
||||
Check Braves -> "Braves checked", braves checked, astros unchecked
|
||||
Check Cardianls -> "Cardinals checked", cardinals checked, braves unchecked
|
||||
|
||||
Check Bruins -> "Boston checked", aeros unchecked, bruins checked
|
||||
|
||||
Test Aeros -> "no"
|
||||
Test Bruin -> "yes"
|
||||
Test Capitols -> "no"
|
||||
|
||||
Checkable via Menubar (Apple & Banana currently deleted):
|
||||
Via Menubar
|
||||
Test Aeros -> "no"
|
||||
Test Bruin -> "yes"
|
||||
Test Apple Item -> "no"
|
||||
Check in Apple (Button)
|
||||
Add Apple - checkable item *not* checked
|
||||
Check in Apple (Button) - item checked
|
||||
Test Apple Item -> "yes"
|
||||
Delete Apple
|
||||
Test Apple Item -> "no"
|
||||
Add Apple
|
||||
Apple | Checkable
|
||||
Delete Apple
|
||||
Via Menubar
|
||||
|
||||
Labels (Apple & Banana currently deleted):
|
||||
Add Coconut - (coconut item needed for the rest)
|
||||
Test Labels - "ok" in console
|
||||
Find Labels - "ok" in console
|
||||
Toggle Labels - "Tester" -> "Hi", "Add Apple" -> "Apple Adder", "Astros" -> "'Stros"
|
||||
Add Apple - check that "Delete Apple" -> "Apple Deleter"
|
||||
Delete Apple
|
||||
Test Labels - "ok" in console
|
||||
Find Labels - "ok" in console
|
||||
Toggle Labels - original labels
|
||||
Add Apple - check for original labels
|
||||
Toggle Labels - "Delete Apple" -> "Apple Deleter"
|
||||
Toggle Labels
|
||||
Delete Apple
|
||||
Via Menubar
|
||||
Test Labels - "ok" in console
|
||||
Find Labels - "ok" in console
|
||||
Toggle Labels - "Add Apple" -> "Apple Adder", "Astros" -> "'Stros"
|
||||
Test Labels - "ok" in console
|
||||
Find Labels - "ok" in console
|
||||
Toggle Labels - original labels
|
||||
Add Apple
|
||||
Test Labels - "ok" in console
|
||||
Find Labels - "ok" in console
|
||||
Via Menubar - off
|
||||
|
||||
Handling Bad Requests:
|
||||
Test Bad Item -> #f
|
||||
Test Other Bad Item -> #f
|
||||
Bad Item Labels - "ok" in console
|
||||
Via Menubar
|
||||
Bad Item Labels - "ok" in console
|
||||
Via Menubar
|
||||
Bad Check - nothing
|
||||
Bad Enable - nothing
|
Loading…
Reference in New Issue
Block a user