original commit: 2608423b54bba388a9405c02c414fdecb1d7f1d2
This commit is contained in:
Robby Findler 1999-03-30 22:59:06 +00:00
parent e4de69a521
commit b85de1d6b4
3 changed files with 33 additions and 16 deletions

View File

@ -13,6 +13,7 @@
(define basic<%> (define basic<%>
(interface (editor<%>) (interface (editor<%>)
has-focus?
editing-this-file? editing-this-file?
local-edit-sequence? local-edit-sequence?
run-after-edit-sequence run-after-edit-sequence
@ -28,6 +29,18 @@
get-canvas get-canvas
get-max-width get-admin set-filename) get-max-width get-admin set-filename)
(private
[has-focus #f])
(rename [super-on-focus on-focus])
(override
[on-focus
(lambda (x)
(set! has-focus x))])
(public
[has-focus?
(lambda ()
has-focus)])
(rename [super-begin-edit-sequence begin-edit-sequence] (rename [super-begin-edit-sequence begin-edit-sequence]
[super-end-edit-sequence end-edit-sequence]) [super-end-edit-sequence end-edit-sequence])
(private (private
@ -46,10 +59,6 @@
(error 'end-edit-sequence "extra end-edit-sequence")) (error 'end-edit-sequence "extra end-edit-sequence"))
(super-end-edit-sequence))]) (super-end-edit-sequence))])
(rename [super-set-modified set-modified]
[super-on-focus on-focus]
[super-lock lock])
(public (public
[on-close void] [on-close void]
[get-top-level-window [get-top-level-window
@ -128,6 +137,8 @@
[else [else
(hash-table-for-each ht (lambda (k t) (t))) (hash-table-for-each ht (lambda (k t) (t)))
(for-each (lambda (t) (t)) queue)]))))]) (for-each (lambda (t) (t)) queue)]))))])
(rename [super-lock lock])
(private (private
[is-locked? #f]) [is-locked? #f])
(public (public

View File

@ -138,6 +138,7 @@
[super-after-delete after-delete] [super-after-delete after-delete]
[super-after-set-size-constraint after-set-size-constraint] [super-after-set-size-constraint after-set-size-constraint]
[super-after-set-position after-set-position]) [super-after-set-position after-set-position])
(inherit has-focus?)
(override (override
[on-focus [on-focus
(lambda (on?) (lambda (on?)
@ -146,32 +147,38 @@
[after-change-style [after-change-style
(lambda (start len) (lambda (start len)
(unless (get-styles-fixed) (unless (get-styles-fixed)
(highlight-parens)) (when (has-focus?)
(highlight-parens)))
(super-after-change-style start len))] (super-after-change-style start len))]
[after-edit-sequence [after-edit-sequence
(lambda () (lambda ()
(unless in-highlight-parens? (when (has-focus?)
(highlight-parens)) (unless in-highlight-parens?
(highlight-parens)))
(super-after-edit-sequence))] (super-after-edit-sequence))]
[after-insert [after-insert
(lambda (start size) (lambda (start size)
(send backward-cache invalidate start) (send backward-cache invalidate start)
(send forward-cache forward-invalidate start size) (send forward-cache forward-invalidate start size)
(highlight-parens) (when (has-focus?)
(highlight-parens))
(super-after-insert start size))] (super-after-insert start size))]
[after-delete [after-delete
(lambda (start size) (lambda (start size)
(super-after-delete start size) (super-after-delete start size)
(send backward-cache invalidate start) (send backward-cache invalidate start)
(send forward-cache forward-invalidate (+ start size) (- size)) (send forward-cache forward-invalidate (+ start size) (- size))
(highlight-parens))] (when (has-focus?)
(highlight-parens)))]
[after-set-size-constraint [after-set-size-constraint
(lambda () (lambda ()
(highlight-parens) (when (has-focus?)
(highlight-parens))
(super-after-set-size-constraint))] (super-after-set-size-constraint))]
[after-set-position [after-set-position
(lambda () (lambda ()
(highlight-parens) (when (has-focus?)
(highlight-parens))
(super-after-set-position))]) (super-after-set-position))])
(private (private
@ -601,7 +608,7 @@
#f)]) #f)])
ans))] ans))]
[flash-backward-sexp [flash-backward-sexp
(lambda (start-pos move?) (lambda (start-pos)
(let ([end-pos (get-backward-sexp start-pos)]) (let ([end-pos (get-backward-sexp start-pos)])
(if end-pos (if end-pos
(flash-on end-pos (add1 end-pos)) (flash-on end-pos (add1 end-pos))
@ -753,7 +760,7 @@
(define setup-keymap (define setup-keymap
(lambda (keymap) (lambda (keymap)
(let ([add-pos-function ;; wx: this needs to be cleaned up! (let ([add-pos-function
(lambda (name ivar-sym) (lambda (name ivar-sym)
(send keymap add-function name (send keymap add-function name
(lambda (edit event) (lambda (edit event)

View File

@ -16,7 +16,7 @@
;; unless matthew makes it primitive ;; unless matthew makes it primitive
(define basic<%> (define basic<%>
(interface (text<%>) (interface (editor:basic<%> text<%>)
highlight-range highlight-range
get-styles-fixed get-styles-fixed
set-styles-fixed set-styles-fixed
@ -26,8 +26,8 @@
(define basic-mixin (define basic-mixin
(mixin (editor:basic<%> text<%>) (basic<%>) args (mixin (editor:basic<%> text<%>) (basic<%>) args
(inherit get-canvases get-admin split-snip get-snip-position (inherit get-canvases get-admin split-snip get-snip-position
delete find-snip invalidate-bitmap-cache
set-autowrap-bitmap set-autowrap-bitmap
delete find-snip invalidate-bitmap-cache
set-file-format get-file-format set-file-format get-file-format
get-style-list is-modified? change-style set-modified get-style-list is-modified? change-style set-modified
position-location get-extent) position-location get-extent)
@ -296,7 +296,6 @@
(insert-edit released/copied dest-position dest-position) (insert-edit released/copied dest-position dest-position)
(loop prev))]))))]) (loop prev))]))))])
(public (public
[initial-autowrap-bitmap (lambda () (icon:get-autowrap-bitmap))]) [initial-autowrap-bitmap (lambda () (icon:get-autowrap-bitmap))])