make-root-area-container in frame:basic<%>
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.
( -> (instance (implements send a-frame:basic make-root-area-container class parent)area-container<%>))
class : (implements area-container<%>)
parent : (instance (implements area-container<%>))
Calls make-object with class and parent.