Create an instance of the receiver inside a BPopupWindow; do
not map the window, answer the new widget. The created widget
will become a child of the window and be completely attached
to it (e.g. the geometry methods will modify the window's geometry).
Note that while the widget *seems* to be directly painted on
the root window, it actually belongs to the BPopupWindow; so
don't send #destroy to the widget to remove it, but rather
to the window.
popup: initializationBlock
Create an instance of the receiver inside a BPopupWindow; before
returning, pass the widget to the supplied initializationBlock,
then map the window. Answer the new widget. The created widget
will become a child of the window and be completely attached
to it (e.g. the geometry methods will modify the window's geometry).
Note that while the widget *seems* to be directly painted on
the root window, it actually belongs to the BPopupWindow; so
don't send #destroy to the widget to remove it, but rather
to the window.