PRS 10379 and 10377

svn: r15795

original commit: fcfa572e02e8452fd913cbfcdbff820ca046c0af
This commit is contained in:
Robby Findler 2009-08-25 04:51:05 +00:00
parent f821b9221a
commit 48e55a8473
2 changed files with 16 additions and 1 deletions

View File

@ -541,14 +541,21 @@ WARNING: printf is rebound in the body of the unit to always
(define (get-styles-fixed) styles-fixed?)
(define (set-styles-fixed b) (set! styles-fixed? b))
(define edition 0)
(define/public (get-edition-number) edition)
(define/augment (on-insert start len)
(begin-edit-sequence)
(inner (void) on-insert start len))
(define/augment (after-insert start len)
(set! edition (+ edition 1))
(when styles-fixed?
(change-style (get-fixed-style) start (+ start len) #f))
(inner (void) after-insert start len)
(end-edit-sequence))
(define/augment (after-delete start len)
(set! edition (+ edition 1))
(inner (void) after-delete start len))
(define/public (move/copy-to-edit dest-edit start end dest-position)
(split-snip start)

View File

@ -134,6 +134,14 @@
@method[text:basic<%> port-name-matches?].
}
@defmethod[(get-edition-number) exact-nonnegative-integer?]{
Returns a number that increments everytime something in
the editor changes.
The number is updated in @xmethod[text% after-insert] and
@xmethod[text% after-delete].
}
}
@defmixin[text:basic-mixin (editor:basic<%> text%) (text:basic<%>)]{
This mixin implements the basic functionality needed for