From 6a3518e3690f7e2b85699d08068fa20558beecc8 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sun, 31 Jan 2010 13:32:48 +0000 Subject: [PATCH] used the new support for selection-less hierlists in the language menu svn: r17913 --- .../drscheme/private/language-configuration.ss | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/collects/drscheme/private/language-configuration.ss b/collects/drscheme/private/language-configuration.ss index 68af30ed1b..84564d6f36 100644 --- a/collects/drscheme/private/language-configuration.ss +++ b/collects/drscheme/private/language-configuration.ss @@ -347,6 +347,8 @@ cached-fringe) (define/override (on-select i) + (when i + (set! most-recent-languages-hier-list-selection i)) (cond [(and i (is-a? i hieritem-language<%>)) (something-selected i)] @@ -363,7 +365,9 @@ (ok-handler 'execute))) (super-new [parent parent]) ;; do this so we can expand/collapse languages on a single click - (send this on-click-always #t))) + (inherit on-click-always allow-deselect) + (on-click-always #t) + (allow-deselect #t))) (define outermost-panel (make-object horizontal-pane% parent)) (define languages-choice-panel (new vertical-panel% @@ -387,6 +391,7 @@ [stretchable-width #f] [min-width 32])) (define stupid-internal-definition-syntax1 (add-discussion in-source-discussion-panel)) + (define most-recent-languages-hier-list-selection #f) (define use-chosen-language-rb (new radio-box% [label #f] @@ -394,12 +399,9 @@ [parent languages-choice-panel] [callback (λ (this-rb evt) - (let ([i (send languages-hier-list get-selected)]) - (cond - [(and i (is-a? i hieritem-language<%>)) - (something-selected i)] - [else - (non-language-selected)])) + (when most-recent-languages-hier-list-selection + (send languages-hier-list select + most-recent-languages-hier-list-selection)) (send use-language-in-source-rb set-selection #f))])) (define languages-hier-list-panel (new horizontal-panel% [parent languages-choice-panel])) (define languages-hier-list-spacer (new horizontal-panel% @@ -460,7 +462,7 @@ (define (module-language-selected) ;; need to deselect things in the languages-hier-list at this point. - ;(send languages-hier-list select #f) + (send languages-hier-list select #f) (send use-chosen-language-rb set-selection #f) (send use-language-in-source-rb set-selection 0) (ok-handler 'enable)