frame callback perfectioned

This commit is contained in:
2026-08-20 19:13:12 +02:00
parent 4e96ae7df8
commit 86ebac5578
13 changed files with 2950 additions and 15 deletions
+18 -10
View File
@@ -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))))