original commit: f9c59091ee2310d5992b57661b467ea0c6bf79fb
This commit is contained in:
Robby Findler 1998-09-16 20:28:18 +00:00
parent fd221411c8
commit 884d5faf3e
3 changed files with 33 additions and 28 deletions

View File

@ -5,31 +5,33 @@
(define register
(let* ([objects null]
[timer
(make-object
(class timer% ()
(inherit start)
(override
[notify
(lambda ()
(when (preferences:get 'framework:autosaving-on?)
(set! objects
(let loop ([list objects])
(if (null? list)
null
(let ([object (weak-box-value (car list))])
(if object
(begin
(send object do-autosave)
(cons (car list) (loop (cdr list))))
(loop (cdr list))))))))
(let ([seconds (preferences:get 'framework:autosave-delay)])
(start (* 1000 seconds) #t)))])
(sequence
(super-init)
(let ([seconds (preferences:get 'framework:autosave-delay)])
(start (* 1000 seconds) #t)))))])
[autosave-timer%
(class timer% ()
(inherit start)
(override
[notify
(lambda ()
(when (preferences:get 'framework:autosaving-on?)
(set! objects
(let loop ([list objects])
(if (null? list)
null
(let ([object (weak-box-value (car list))])
(if object
(begin
(send object do-autosave)
(cons (car list) (loop (cdr list))))
(loop (cdr list))))))))
(let ([seconds (preferences:get 'framework:autosave-delay)])
(start (* 1000 seconds) #t)))])
(sequence
(super-init)
(let ([seconds (preferences:get 'framework:autosave-delay)])
(start (* 1000 seconds) #t))))]
[timer #f])
(lambda (b)
(unless timer
(set! timer (make-object autosave-timer%)))
(set! objects
(let loop ([objects objects])
(cond

View File

@ -19,9 +19,10 @@
(define make-basic%
(mixin (editor<%>) (basic<%>) args
(inherit modified? get-filename save-file canvases
(inherit modified? get-filename save-file
refresh-delayed?
get-frame get-keymap
get-frame
get-keymap
get-max-width get-admin set-filename)
(rename [super-set-modified set-modified]
[super-on-save-file on-save-file]

View File

@ -16,11 +16,13 @@
(printf "5~n")
(require-library "sig.ss" "framework")
(printf "6~n")
(define framework@ (require-library "frameworkr.ss" "framework"))
(printf "7~n")
(invoke-unit/sig
(compound-unit/sig
(import)
(link [M : mred-interfaces^ (mred-interfaces@)]
[C : mzlib:core^ ((require-library "corer.ss"))]
[F : framework^ ((require-library "frameworkr.ss" "framework") C M)])
[F : framework^ (framework@ C M)])
(export)))
(printf "7~n")
(printf "8~n")