make-root-area-container in frame:delegate-mixin
Override this method to insert a panel in between the panel used by the clients of this frame and the frame itself. For example, to insert a status line panel override this method with something like this:
(class ...
...
(rename [super-make-root-area-container make-root-area-container])
(field
[status-panel #f])
(define/override (make-root-area-container cls parent)
(set! status-panel
(super-make-root-area-container vertical-panel% parent))
(let ([root (make-object cls status-panel)])
; ... add other children to status-panel ...
root))
...
In this example, status-panel will contain a root panel for the other classes, and whatever panels are needed to display status information.
The searching frame is implemented using this method.
((implementssenda-frame:delegate-mixinmake-root-area-containerclassparentpanel%)
class: (derived-frompanel%)
parent: (instanceof (derived-frompanel%))adds a panel outside to hold the delegate
editor-canvas%andtext%.