diff --git a/collects/framework/private/focus-table.rkt b/collects/framework/private/focus-table.rkt new file mode 100644 index 0000000000..e29bb2cbf7 --- /dev/null +++ b/collects/framework/private/focus-table.rkt @@ -0,0 +1,13 @@ +#lang racket/base +(require racket/gui/base racket/class) +(provide frame:lookup-focus-table + frame:set-focus-table) + +;; focus-table : hash[eventspace -o> (listof frame)] +(define focus-table (make-hash)) +(define (frame:lookup-focus-table [eventspace (current-eventspace)]) + (hash-ref focus-table eventspace '())) +(define (frame:set-focus-table eventspace new) + (if (null? new) + (hash-remove! focus-table eventspace) + (hash-set! focus-table eventspace new)))