On this page:
can-close?
can-exit?
center
get-edit-target-object
get-edit-target-window
get-eventspace
get-focus-object
get-focus-window
move
on-activate
on-close
on-exit
on-message
display-changed
on-traverse-char
on-system-menu-char
resize
set-icon
show
Inherited methods:
from window<%>
accept-drop-files
client->screen
enable
focus
get-client-handle
get-client-size
get-cursor
get-handle
get-height
get-label
get-plain-label
get-size
get-width
get-x
get-y
has-focus?
is-enabled?
is-shown?
on-drop-file
on-focus
on-move
on-size
on-subwindow-char
on-subwindow-event
on-subwindow-focus
on-superwindow-activate
on-superwindow-enable
on-superwindow-show
popup-menu
refresh
screen->client
set-cursor
set-label
warp-pointer
wheel-event-mode
from area<%>
get-graphical-min-size
get-parent
get-top-level-window
min-height
min-width
stretchable-height
stretchable-width
from area-container<%>
add-child
after-new-child
begin-container-sequence
border
change-children
container-flow-modified
container-size
delete-child
end-container-sequence
get-alignment
get-children
place-children
reflow-container
set-alignment
spacing

A top-level window is either a frame% or dialog% object.

method

(send a-top-level-window can-close?)  boolean?

Refine this method with augment.
Called just before the window might be closed (e.g., by the window manager). If #f is returned, the window is not closed, otherwise on-close is called and the window is closed (i.e., the window is hidden, like calling show with #f).

This method is not called by show.

method

(send a-top-level-window can-exit?)  boolean?

Specification: Called before on-exit to check whether an exit is allowed. See on-exit for more information.

Default implementation: Calls can-close? and returns the result.

method

(send a-top-level-window center [direction])  void?

  direction : (or/c 'horizontal 'vertical 'both) = 'both
Centers the window on the screen if it has no parent. If it has a parent, the window is centered with respect to its parent’s location.

If direction is 'horizontal, the window is centered horizontally. If direction is 'vertical, the window is centered vertically. If direction is 'both, the window is centered in both directions.

method

(send a-top-level-window get-edit-target-object)

  (or/c (or/c (is-a?/c window<%>) (is-a?/c editor<%>)) #f)
Like get-edit-target-window, but if an editor canvas had the focus and it also displays an editor, the editor is returned instead of the canvas. Further, if the editor’s focus is delegated to an embedded editor, the embedded editor is returned.

See also get-focus-object.

method

(send a-top-level-window get-edit-target-window)

  (or/c (is-a?/c window<%>) #f)
Returns the window that most recently had the keyboard focus, either the top-level window or one of its currently-shown children. If neither the window nor any of its currently-shown children has even owned the keyboard focus, #f is returned.

See also get-focus-window and get-edit-target-object.

method

(send a-top-level-window get-eventspace)  eventspace?

Returns the window’s eventspace.

method

(send a-top-level-window get-focus-object)

  (or/c (or/c (is-a?/c window<%>) (is-a?/c editor<%>)) #f)
Like get-focus-window, but if an editor canvas has the focus and it also displays an editor, the editor is returned instead of the canvas. Further, if the editor’s focus is delegated to an embedded editor, the embedded editor is returned.

See also get-edit-target-object.

method

(send a-top-level-window get-focus-window)

  (or/c (is-a?/c window<%>) #f)
Returns the window that has the keyboard focus, either the top-level window or one of its children. If neither the window nor any of its children has the focus, #f is returned.

See also get-edit-target-window and get-focus-object.

method

(send a-top-level-window move x y)  void?

  x : position-integer?
  y : position-integer?
Moves the window to the given position on the screen.

A window’s position can be changed by the user dragging the window, and such changes do not go through this method; use on-move to monitor position changes.

method

(send a-top-level-window on-activate active?)  void?

  active? : any/c
Called when a window is activated or deactivated. A top-level window is activated when the keyboard focus moves from outside the window to the window or one of its children. It is deactivated when the focus moves back out of the window. On Mac OS, a child of a floating frames can have the focus instead of a child of the active non-floating frame; in other words, floating frames act as an extension of the active non-frame for keyboard focus.

The method’s argument is #t when the window is activated, #f when it is deactivated.

method

(send a-top-level-window on-close)  void?

Refine this method with augment.
Called just before the window is closed (e.g., by the window manager). This method is not called by show.

See also can-close?.

method

(send a-top-level-window on-exit)  void?

Specification: Called by the default application quit handler (as determined by the application-quit-handler parameter) when the operating system requests that the application shut down (e.g., when the Quit menu item is selected in the main application menu on Mac OS). In that case, this method is called for the most recently active top-level window in the initial eventspace, but only if the window’s can-exit? method first returns true.

Default implementation: Calls on-close and then show to hide the window.

method

(send a-top-level-window on-message message)  any/c

  message : any/c
Specification: A generic message method, usually called by send-message-to-window.

If the method is invoked by send-message-to-window, then it is invoked in the thread where send-message-to-window was called (which is possibly not the handler thread of the window’s eventspace).

Default implementation: Returns #<void>.

method

(send a-top-level-window display-changed)  any/c

Specification: Called when the displays configuration changes.

To determine the new monitor configuration, use get-display-count, get-display-size, get-display-left-top-inset, and get-display-backing-scale.

Note that this method may be invoked multiple times for a single logical change to the monitors.

Default implementation: Returns #<void>.

method

(send a-top-level-window on-traverse-char event)  boolean?

  event : (is-a?/c key-event%)
Specification: Attempts to handle the given keyboard event as a navigation event, such as a Tab key event that moves the keyboard focus. If the event is handled, #t is returned, otherwise #f is returned.

Default implementation: The following rules determine, in order, whether and how event is handled:

method

(send a-top-level-window on-system-menu-char event)  boolean?

  event : (is-a?/c key-event%)
Checks whether the given event pops open the system menu in the top-left corner of the window (Windows only). If the window’s system menu is opened, #t is returned, otherwise #f is returned.

method

(send a-top-level-window resize width    
  height)  void?
  width : dimension-integer?
  height : dimension-integer?
Sets the size of the window (in pixels), but only if the given size is larger than the window’s minimum size.

A window’s size can be changed by the user, and such changes do not go through this method; use on-size to monitor size changes.

method

(send a-top-level-window set-icon icon    
  [mask    
  which])  void?
  icon : (is-a?/c bitmap%)
  mask : (is-a?/c bitmap%) = #f
  which : (or/c 'small 'large 'both) = 'both
Sets the large or small icon bitmap for the window. Future changes to the bitmap do not affect the window’s icon.

The icon is used in a platform-specific way:

The bitmap for either icon can be any size, but most platforms scale the small bitmap to 16 by 16 pixels and the large bitmap to 32 by 32 pixels.

If a mask bitmap is not provided, then the entire (rectangular) bitmap is used as an icon.

If a mask bitmap is provided, the mask must be monochrome. In the mask bitmap, use black pixels to indicate the icon’s region and use white pixels outside the icon’s region. In the icon bitmap, use black pixels for the region outside the icon.

method

(send a-top-level-window show show)  void?

  show : any/c
If the window is already shown, it is moved front of other top-level windows. If the window is iconized (frames only), it is deiconized.

See also show in window<%>.