From 5da28fddd80a55112d4386de1bd258eaab3d1d72 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 4 Mar 2000 17:22:00 +0000 Subject: [PATCH] . original commit: c2af16e54a52f76e2d48a162ae313c931aabfab8 --- collects/tests/mred/item.ss | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/collects/tests/mred/item.ss b/collects/tests/mred/item.ss index 075166a0..4ae98ca1 100644 --- a/collects/tests/mred/item.ss +++ b/collects/tests/mred/item.ss @@ -149,6 +149,15 @@ (lambda (n) (build-path d n))))) +(define on-demand-menu-item% + (class menu-item% (name . args) + (override + [on-demand + (lambda () + (printf "Menu item ~a demanded~n" name))]) + (sequence + (apply super-init name args)))) + (define popup-test-canvas% (class canvas% (objects names . args) (inherit popup-menu get-dc refresh) @@ -201,6 +210,10 @@ m (make-callback))) objects names) + (make-object on-demand-menu-item% + "[on-demand hook]" + m + void) m) last-m)]) (set! last-m m) @@ -589,7 +602,7 @@ (set! ADD-BANANA (new "Add Banana")) (set! ADD-COCONUT (new "Add Coconut")) - (make-object menu-item% "Append Donut" menu + (make-object on-demand-menu-item% "Append Donut" menu (lambda (m e) (make-object menu-item% "Donut" apple-menu void))) (sep)