(module tool mzscheme (require (lib "tool.ss" "drscheme") (lib "unit.ss") (lib "class.ss") (lib "mred.ss" "mred") (lib "string-constant.ss" "string-constants") "driver.ss") (provide tool@) (define tool@ (unit (import drscheme:tool^) (export drscheme:tool-exports^) (define sequence-trace-language% (class* drscheme:language:simple-module-based-language% (drscheme:language:simple-module-based-language<%>) (super-new [module '(planet "traced-lang.ss" ("plt" "object-debugger.plt"))] [language-position (list (string-constant experimental-languages) "Object Debugger")] [language-numbers (list 1000 1000)] [one-line-summary "Graphical language with trace-instrumented class.ss"] [documentation-reference #f]))) (define (sequence-trace-language-mixin super%) (class super% (super-new) (override on-execute) (define (on-execute settings run-in-user-thread) (run-in-user-thread install-trace-window) (super on-execute settings run-in-user-thread)) )) (define (phase1) (void)) (define (phase2) (drscheme:language-configuration:add-language (new (sequence-trace-language-mixin ((drscheme:language:get-default-mixin) (drscheme:language:module-based-language->language-mixin (drscheme:language:simple-module-based-language->module-based-language-mixin sequence-trace-language%))))))) )) )