frame callback perfectioned
This commit is contained in:
@@ -39,7 +39,7 @@
|
||||
(super on-move x y)
|
||||
)
|
||||
|
||||
(define/override (on-size w h)
|
||||
(define/override (on-size w h)
|
||||
(set! my-w w)
|
||||
(set! my-h h)
|
||||
(super on-size w h)
|
||||
@@ -48,6 +48,12 @@
|
||||
(define/override (file-menu:create-quit?)
|
||||
#f)
|
||||
|
||||
(define cb (λ args #t))
|
||||
|
||||
(define/public (set-frame-cb! frame-cb)
|
||||
(set! cb frame-cb)
|
||||
)
|
||||
|
||||
(define/augment (on-close)
|
||||
(close-cb my-number my-x my-y my-w my-h)
|
||||
(set! open-editor-use-list
|
||||
@@ -58,6 +64,7 @@
|
||||
(not (= x my-number)))
|
||||
open-editor-use-list))
|
||||
(semaphore-post closed)
|
||||
(cb 'on-close this)
|
||||
(inner (void) on-close))
|
||||
|
||||
(define/public (get-num)
|
||||
@@ -96,7 +103,7 @@
|
||||
#:height [height 650]
|
||||
#:x [x 100]
|
||||
#:y [y 100]
|
||||
#:frame-cb [frame-cb (λ (frame) #t)])
|
||||
#:frame-cb [frame-cb (λ (call-time frame) #t)])
|
||||
|
||||
(let* ((store-cfg #f)
|
||||
(closed (make-semaphore 0))
|
||||
@@ -140,17 +147,18 @@
|
||||
(send frame set-label (format "~a (~a)"
|
||||
(send frame get-label)
|
||||
win-num))
|
||||
|
||||
(string-append (send frame get-label)
|
||||
" - Rash"))
|
||||
|
||||
|
||||
(send frame set-frame-cb! frame-cb)
|
||||
(frame-cb 'before-show frame)
|
||||
(send frame show #t)
|
||||
(frame-cb 'after-show frame)
|
||||
|
||||
(when wait? (yield closed))
|
||||
(when wait?
|
||||
(frame-cb 'wait-for-close frame)
|
||||
(yield closed)
|
||||
)
|
||||
|
||||
(frame-cb frame)
|
||||
|
||||
(void)))
|
||||
(void))))
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user