www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 6f34459ca03875aa484ad0e76c16e3eaed972cbd
parent cbc04f4ea3eca371d09bf8ec99e1031d1dbc2bab
Author: Ryan Culpepper <ryanc@racket-lang.org>
Date:   Fri,  5 Nov 2010 00:39:03 -0600

macro-stepper: options: draw-arrows?, refresh-on-resize?

original commit: f97428ab1edb0208ca19521c484df60de01e57e2

Diffstat:
Mcollects/macro-debugger/syntax-browser/prefs.rkt | 5++++-
Mcollects/macro-debugger/syntax-browser/widget.rkt | 19++++++++++---------
Mcollects/macro-debugger/view/frame.rkt | 11++++++++++-
Mcollects/macro-debugger/view/interfaces.rkt | 4+++-
Mcollects/macro-debugger/view/prefs.rkt | 11+++++++++--
5 files changed, 36 insertions(+), 14 deletions(-)

diff --git a/collects/macro-debugger/syntax-browser/prefs.rkt b/collects/macro-debugger/syntax-browser/prefs.rkt @@ -15,11 +15,13 @@ (preferences:set-default 'SyntaxBrowser:Height 600 number?) (preferences:set-default 'SyntaxBrowser:PropertiesPanelPercentage 1/3 number?) (preferences:set-default 'SyntaxBrowser:PropertiesPanelShown #t boolean?) +(preferences:set-default 'SyntaxBrowser:DrawArrows? #t boolean?) (define pref:width (pref:get/set 'SyntaxBrowser:Width)) (define pref:height (pref:get/set 'SyntaxBrowser:Height)) (define pref:props-percentage (pref:get/set 'SyntaxBrowser:PropertiesPanelPercentage)) (define pref:props-shown? (pref:get/set 'SyntaxBrowser:PropertiesPanelShown)) +(define pref:draw-arrows? (pref:get/set 'SyntaxBrowser:DrawArrows?)) (define pref:invert-colors? (pref:get/set 'framework:white-on-black?)) @@ -68,7 +70,8 @@ (width pref:width) (height pref:height) (props-percentage pref:props-percentage) - (props-shown? pref:props-shown?)) + (props-shown? pref:props-shown?) + (draw-arrows? pref:draw-arrows?)) (super-new))) diff --git a/collects/macro-debugger/syntax-browser/widget.rkt b/collects/macro-debugger/syntax-browser/widget.rkt @@ -157,15 +157,16 @@ binders)) (send display refresh) ;; Make arrows (& billboards, when enabled) - (for ([id (send/i range range<%> get-identifier-list)]) - (define definite? (hash-ref definite-table id #f)) - (when #f ;; DISABLED - (add-binding-billboard start range id definite?)) - (for ([binder (get-binders id)]) - (for ([binder-r (send/i range range<%> get-ranges binder)]) - (for ([id-r (send/i range range<%> get-ranges id)]) - (add-binding-arrow start binder-r id-r definite?)))))) - (void))) + (when (send config get-draw-arrows?) + (for ([id (send/i range range<%> get-identifier-list)]) + (define definite? (hash-ref definite-table id #f)) + (when #f ;; DISABLED + (add-binding-billboard start range id definite?)) + (for ([binder (get-binders id)]) + (for ([binder-r (send/i range range<%> get-ranges binder)]) + (for ([id-r (send/i range range<%> get-ranges id)]) + (add-binding-arrow start binder-r id-r definite?)))))) + (void)))) (define/private (add-binding-arrow start binder-r id-r definite?) (if definite? diff --git a/collects/macro-debugger/view/frame.rkt b/collects/macro-debugger/view/frame.rkt @@ -58,7 +58,8 @@ (send/i config config<%> set-width w) (send/i config config<%> set-height h) (unless (and (= w0 w) (= h0 h)) - (send/i widget widget<%> update/preserve-view)) + (when (send/i config config<%> get-refresh-on-resize?) + (send/i widget widget<%> update/preserve-view))) (set!-values (w0 h0) (values w h))) (define warning-panel @@ -192,9 +193,11 @@ (menu-option/notify-box extras-menu "Highlight redex/contractum" (get-field highlight-foci? config)) + #| (menu-option/notify-box extras-menu "Highlight frontier" (get-field highlight-frontier? config)) + |# (menu-option/notify-box extras-menu "Include renaming steps" (get-field show-rename-steps? config)) @@ -202,6 +205,12 @@ "One term at a time" (get-field one-by-one? config)) (menu-option/notify-box extras-menu + "Refresh on resize" + (get-field refresh-on-resize? config)) + (menu-option/notify-box extras-menu + "Draw binding arrows" + (get-field draw-arrows? config)) + (menu-option/notify-box extras-menu "Extra navigation" (get-field extra-navigation? config))) diff --git a/collects/macro-debugger/view/interfaces.rkt b/collects/macro-debugger/view/interfaces.rkt @@ -4,7 +4,9 @@ (provide (all-defined-out)) (define-interface config<%> (sb:config<%>) - ((sb:methods:notify macro-hiding-mode + ((sb:methods:notify draw-arrows? + refresh-on-resize? + macro-hiding-mode show-hiding-panel? identifier=? highlight-foci? diff --git a/collects/macro-debugger/view/prefs.rkt b/collects/macro-debugger/view/prefs.rkt @@ -14,6 +14,8 @@ (preferences:set-default 'MacroStepper:Frame:Height 600 number?) (preferences:set-default 'MacroStepper:PropertiesShown? #f boolean?) (preferences:set-default 'MacroStepper:PropertiesPanelPercentage 1/3 number?) +(preferences:set-default 'MacroStepper:DrawArrows? #t boolean?) + (preferences:set-default 'MacroStepper:MacroHidingMode "Standard" string?) (preferences:set-default 'MacroStepper:ShowHidingPanel? #t boolean?) (preferences:set-default 'MacroStepper:IdentifierComparison "bound-identifier=?" string?) @@ -27,11 +29,14 @@ (preferences:set-default 'MacroStepper:SplitContext? #f boolean?) (preferences:set-default 'MacroStepper:MacroStepLimit 40000 (lambda (x) (or (eq? x #f) (exact-positive-integer? x)))) +(preferences:set-default 'MacroStepper:RefreshOnResize? #t boolean?) (define pref:width (pref:get/set 'MacroStepper:Frame:Width)) (define pref:height (pref:get/set 'MacroStepper:Frame:Height)) (define pref:props-shown? (pref:get/set 'MacroStepper:PropertiesShown?)) (define pref:props-percentage (pref:get/set 'MacroStepper:PropertiesPanelPercentage)) +(define pref:draw-arrows? (pref:get/set 'MacroStepper:DrawArrows?)) + (define pref:macro-hiding-mode (pref:get/set 'MacroStepper:MacroHidingMode)) (define pref:show-hiding-panel? (pref:get/set 'MacroStepper:ShowHidingPanel?)) (define pref:identifier=? (pref:get/set 'MacroStepper:IdentifierComparison)) @@ -44,7 +49,7 @@ (define pref:debug-catch-errors? (pref:get/set 'MacroStepper:DebugCatchErrors?)) (define pref:split-context? (pref:get/set 'MacroStepper:SplitContext?)) (define pref:macro-step-limit (pref:get/set 'MacroStepper:MacroStepLimit)) - +(define pref:refresh-on-resize? (pref:get/set 'MacroStepper:RefreshOnResize?)) (define macro-stepper-config-base% (class* prefs-base% (config<%>) @@ -58,6 +63,7 @@ (height pref:height) (props-percentage pref:props-percentage) (props-shown? pref:props-shown?) + (draw-arrows? pref:draw-arrows?) (macro-hiding-mode pref:macro-hiding-mode) (show-hiding-panel? pref:show-hiding-panel?) (identifier=? pref:identifier=?) @@ -68,7 +74,8 @@ (one-by-one? pref:one-by-one?) (extra-navigation? pref:extra-navigation?) (debug-catch-errors? pref:debug-catch-errors?) - (split-context? pref:split-context?)) + (split-context? pref:split-context?) + (refresh-on-resize? pref:refresh-on-resize?)) (super-new))) (define macro-stepper-config/prefs%