make-root-area-container in frame:status-line-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.
( -> (implements send a-frame:status-line-mixin make-root-area-container class parent)panel%)
class : (derived-from panel%)
parent : (instanceof (derived-from panel%))
Calls make-object with class and parent.
Adds a panel at the bottom of the frame to hold the status lines.