adjust the big definitions / interactions labels so they
are sensitive to the #lang line and then enable them for the teaching languages
This commit is contained in:
parent
6e2fb2ac5e
commit
9815822255
|
@ -97,9 +97,10 @@
|
|||
(module-language-online-expand-text-mixin
|
||||
module-language-online-expand-frame-mixin
|
||||
module-language-online-expand-tab-mixin
|
||||
module-language-interactions-text-mixin
|
||||
module-language-definitions-text-mixin
|
||||
initialize-prefs-panel))
|
||||
module-language-big-defs/ints-interactions-text-mixin
|
||||
module-language-big-defs/ints-definitions-text-mixin
|
||||
initialize-prefs-panel
|
||||
big-defs/ints-label<%>))
|
||||
|
||||
(define-signature drracket:module-language-tools-cm^
|
||||
(frame-mixin
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
(make-extender get-base-unit-frame% 'drracket:unit:frame))
|
||||
|
||||
(define (get-base-interactions-text%)
|
||||
(drracket:module-language:module-language-interactions-text-mixin
|
||||
(drracket:module-language:module-language-big-defs/ints-interactions-text-mixin
|
||||
(drracket:debug:test-coverage-interactions-text-mixin
|
||||
drracket:rep:text%)))
|
||||
|
||||
|
@ -85,9 +85,9 @@
|
|||
(make-extender get-base-interactions-text% 'interactions-text%))
|
||||
|
||||
(define (get-base-definitions-text%)
|
||||
(drracket:module-language:module-language-definitions-text-mixin
|
||||
(drracket:module-language:module-language-online-expand-text-mixin
|
||||
(drracket:module-language-tools:definitions-text-mixin
|
||||
(drracket:module-language:module-language-online-expand-text-mixin
|
||||
(drracket:module-language-tools:definitions-text-mixin
|
||||
(drracket:module-language:module-language-big-defs/ints-definitions-text-mixin
|
||||
(drracket:debug:test-coverage-definitions-text-mixin
|
||||
(drracket:debug:profile-definitions-text-mixin
|
||||
(drracket:unit:get-definitions-text%)))))))
|
||||
|
|
|
@ -11,9 +11,16 @@
|
|||
insert-auto-text)
|
||||
|
||||
;; from module-language-tools.rkt
|
||||
(define-local-member-name when-initialized #;move-to-new-language get-in-module-language?)
|
||||
(define-local-member-name
|
||||
when-initialized
|
||||
;move-to-new-language
|
||||
get-in-module-language?)
|
||||
|
||||
;; for keybindings (otherwise private)
|
||||
(define-local-member-name
|
||||
jump-to-previous-error-loc
|
||||
jump-to-next-error-loc)
|
||||
|
||||
;; defined in module-language.rkt
|
||||
(define-local-member-name
|
||||
set-lang-wants-big-defs/ints-labels?)
|
||||
|
|
|
@ -94,8 +94,14 @@
|
|||
(send defs move-to-new-language))))))
|
||||
|
||||
(define definitions-text-mixin
|
||||
(mixin (text:basic<%> drracket:unit:definitions-text<%>) (drracket:module-language-tools:definitions-text<%>)
|
||||
(inherit get-next-settings get-filename)
|
||||
(mixin (text:basic<%>
|
||||
drracket:unit:definitions-text<%>
|
||||
drracket:module-language:big-defs/ints-label<%>)
|
||||
(drracket:module-language-tools:definitions-text<%>)
|
||||
(inherit get-next-settings
|
||||
get-filename
|
||||
set-lang-wants-big-defs/ints-labels?
|
||||
get-tab)
|
||||
(define in-module-language? #f) ;; true when we are in the module language
|
||||
(define hash-lang-last-location #f) ;; non-false when we know where the hash-lang line ended
|
||||
(define hash-lang-language #f) ;; non-false is the string that was parsed for the language
|
||||
|
@ -195,6 +201,11 @@
|
|||
'hash-lang-racket
|
||||
(get-lang-name pos))
|
||||
'drracket/private/module-language-tools))
|
||||
|
||||
(define lang-wants-big-defs/ints-labels? (and info-proc (info-proc 'drracket:show-big-defs/ints-labels #f)))
|
||||
(set-lang-wants-big-defs/ints-labels? lang-wants-big-defs/ints-labels?)
|
||||
(send (send (get-tab) get-ints) set-lang-wants-big-defs/ints-labels? lang-wants-big-defs/ints-labels?)
|
||||
|
||||
(when info-result
|
||||
(register-new-buttons
|
||||
(ctc-on-info-proc-result (or/c #f (listof (or/c (list/c string?
|
||||
|
@ -209,8 +220,7 @@
|
|||
(ctc-on-info-proc-result (or/c #f (listof symbol?))
|
||||
(or (info-proc 'drracket:opt-out-toolbar-buttons '())
|
||||
(info-proc 'drscheme:opt-out-toolbar-buttons '())))))))))
|
||||
|
||||
(inherit get-tab)
|
||||
|
||||
|
||||
(define/private (register-new-buttons buttons opt-out-ids)
|
||||
;; cleaned-up-buttons : (listof (list/c string? (is-a?/c bitmap%) (-> (is-a?/c drracket:unit:frame<%>) any) (or/c real? #f)))
|
||||
|
|
|
@ -1754,14 +1754,19 @@
|
|||
(define defs/ints-font
|
||||
(send the-font-list find-or-create-font 72 'swiss 'normal 'normal))
|
||||
|
||||
(define big-defs/ints-label<%>
|
||||
(interface ()
|
||||
set-lang-wants-big-defs/ints-labels?))
|
||||
|
||||
(define (mk-module-language-text-mixin id)
|
||||
(mixin (editor<%>) ()
|
||||
(mixin (editor<%>) (big-defs/ints-label<%>)
|
||||
(inherit get-admin invalidate-bitmap-cache get-dc
|
||||
dc-location-to-editor-location)
|
||||
(define inside? #f)
|
||||
(define recently-typed? #f)
|
||||
(define fade-amount 1)
|
||||
|
||||
(define lang-wants-big-defs/ints-labels? #f)
|
||||
|
||||
(define recently-typed-timer
|
||||
(new timer%
|
||||
[notify-callback
|
||||
|
@ -1776,12 +1781,22 @@
|
|||
(set! fade-amount 1)])
|
||||
(invalidate-bitmap-cache 0 0 'display-end 'display-end)))]))
|
||||
|
||||
(define/public (set-lang-wants-big-defs/ints-labels? w?)
|
||||
(unless (equal? lang-wants-big-defs/ints-labels? w?)
|
||||
(set! lang-wants-big-defs/ints-labels? w?)
|
||||
|
||||
(send recently-typed-timer stop) ;; reset the recently-typed timer so
|
||||
(set! fade-amount 1) ;; that changing the language makes the
|
||||
(set! recently-typed? #f) ;; labels appear immediately
|
||||
|
||||
(invalidate-bitmap-cache 0 0 'display-end 'display-end)))
|
||||
|
||||
(define/override (on-char evt)
|
||||
(when inside?
|
||||
(update-recently-typed #t)
|
||||
(set! fade-amount 0)
|
||||
(send recently-typed-timer stop)
|
||||
(send recently-typed-timer start 2000 #t))
|
||||
(send recently-typed-timer start 10000 #t))
|
||||
(super on-char evt))
|
||||
|
||||
(define/private (update-recently-typed nv)
|
||||
|
@ -1825,7 +1840,8 @@
|
|||
(super on-paint before? dc left top right bottom dx dy draw-caret)
|
||||
(unless before?
|
||||
(when (and inside?
|
||||
(not recently-typed?))
|
||||
(not recently-typed?)
|
||||
lang-wants-big-defs/ints-labels?)
|
||||
(define admin (get-admin))
|
||||
(when admin
|
||||
(send admin get-view bx by bw bh)
|
||||
|
@ -1855,16 +1871,15 @@
|
|||
(define (point-in-rectangle? x y l t r b)
|
||||
(and (<= l x r)
|
||||
(<= t y b)))
|
||||
|
||||
|
||||
|
||||
(define bx (box 0))
|
||||
(define by (box 0))
|
||||
(define bw (box 0))
|
||||
(define bh (box 0))
|
||||
|
||||
(define module-language-interactions-text-mixin
|
||||
(define module-language-big-defs/ints-interactions-text-mixin
|
||||
(mk-module-language-text-mixin (string-constant interactions-window-label)))
|
||||
(define module-language-definitions-text-mixin
|
||||
(define module-language-big-defs/ints-definitions-text-mixin
|
||||
(mk-module-language-text-mixin (string-constant definitions-window-label)))
|
||||
|
||||
(define module-language-compile-lock (make-compile-lock))
|
||||
|
|
|
@ -35,6 +35,8 @@
|
|||
;; we don't want anything to confuse in the teaching languages.
|
||||
#f]
|
||||
|
||||
[(drracket:show-big-defs/ints-labels) #t]
|
||||
|
||||
[else (use-default key default)]))
|
||||
|
||||
(define (make-language-info options)
|
||||
|
|
Loading…
Reference in New Issue
Block a user