Added a button for the performance report tool when in a typed language.

This commit is contained in:
Vincent St-Amour 2011-06-22 16:16:20 -04:00
parent 6c51155fec
commit 101feb8200
4 changed files with 43 additions and 0 deletions

View File

@ -4,5 +4,13 @@ typed-scheme
#:read r:read
#:read-syntax r:read-syntax
#:info make-info
(require (prefix-in r: "../typed-reader.rkt"))
(define (make-info key default use-default)
(case key
[(drscheme:toolbar-buttons)
(list (dynamic-require 'typed-scheme/optimizer/tool/tool
'performance-report-drracket-button))]
[else (use-default key default)]))

View File

@ -0,0 +1,29 @@
#lang racket/base
(require racket/unit racket/class
racket/gui/base mrlib/switchable-button)
(provide performance-report-drracket-button)
;; DrRacket tool for reporting missed optimizations in the editor.
(define reverse-content-bitmap
(let* ((bmp (make-bitmap 16 16))
(bdc (make-object bitmap-dc% bmp)))
(send bdc erase)
(send bdc set-smoothing 'smoothed)
(send bdc set-pen "black" 1 'transparent)
(send bdc set-brush "blue" 'solid)
(send bdc draw-ellipse 2 2 8 8)
(send bdc set-brush "red" 'solid)
(send bdc draw-ellipse 6 6 8 8)
(send bdc set-bitmap #f)
bmp))
(define performance-report-drracket-button
(list
"Performance Report"
reverse-content-bitmap
(λ (drs-frame)
(message-box "Performance Report"
"Coming Soon!"))))

View File

@ -9,6 +9,9 @@ typed/racket
(define (make-info key default use-default)
(case key
[(drscheme:toolbar-buttons)
(list (dynamic-require 'typed-scheme/optimizer/tool/tool
'performance-report-drracket-button))]
[else (use-default key default)]))
(define make-language-info

View File

@ -9,6 +9,9 @@ typed/scheme
(define (make-info key default use-default)
(case key
[(drscheme:toolbar-buttons)
(list (dynamic-require 'typed-scheme/optimizer/tool/tool
'performance-report-drracket-button))]
[else (use-default key default)]))
(define make-language-info