On this page:
on-subwindow-char
show

Inherited methods:

from top-level-window<%>

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

on-system-menu-char

on-traverse-char

resize

from window<%>

accept-drop-files

client->screen

enable

focus

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-event

on-superwindow-enable

on-superwindow-show

popup-menu

refresh

screen->client

set-cursor

set-label

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

Version: 4.1

dialog% : class?

  superclass: object%

  extends: 

top-level-window<%>

A dialog is a top-level window that is modal: while the dialog is shown, all other top-level windows in the dialog’s eventspace are disabled.

(new dialog%

 

[label label]

 

 

 [

[parent parent]

 

 

 

[width width]

 

 

 

[height height]

 

 

 

[x x]

 

 

 

[y y]

 

 

 

[style style]

 

 

 

[enabled enabled]

 

 

 

[border border]

 

 

 

[spacing spacing]

 

 

 

[alignment alignment]

 

 

 

[min-width min-width]

 

 

 

[min-height min-height]

 

 

 

[stretchable-width stretchable-width]

 

 

 

[stretchable-height stretchable-height]])

 

  (is-a?/c dialog%)

  label : label-string?

  

parent

 

:

 

(or/c (is-a?/c frame%) (is-a?/c dialog%) false/c)

 

 

 

=

 

#f

  width : (or/c (integer-in 0 10000) false/c) = #f

  height : (or/c (integer-in 0 10000) false/c) = #f

  x : (or/c (integer-in 0 10000) false/c) = #f

  y : (or/c (integer-in 0 10000) false/c) = #f

  

style

 

:

 

(listof (one-of/c 'no-caption 'resize-border 'no-sheet))

 

 

 

=

 

null

  enabled : any/c = #t

  border : (integer-in 0 1000) = 0

  spacing : (integer-in 0 1000) = 0

  

alignment

 

:

 

(list/c (one-of/c 'left 'center 'right)

        (one-of/c 'top 'center 'bottom))

 

 

 

=

 

'(center top)

  min-width : (integer-in 0 10000) = graphical-minimum-width

  min-height : (integer-in 0 10000) = graphical-minimum-height

  stretchable-width : any/c = #t

  stretchable-height : any/c = #t

The label string is used as the dialog’s title in its title bar. If the dialog’s label is changed (see set-label), the title bar is updated.

The parent argument can be #f or an existing frame. Under Windows, if parent is an existing frame, the new dialog is always on top of its parent. Under Windows and X, a dialog is iconized when its parent is iconized.

If parent is #f, then the eventspace for the new dialog is the current eventspace, as determined by current-eventspace. Otherwise, parent’s eventspace is the new dialog’s eventspace.

If the width or height argument is not #f, it specifies an initial size for the dialog (in pixels) assuming that it is larger than the minimum size, otherwise the minimum size is used. Under Windows and Mac OS X (and with some X window managers) dialogs are not resizeable.

If the x or y argument is not #f, it specifies an initial location for the dialog. Otherwise, if no location is set before the dialog is shown, it is centered (with respect parent if not #f, the screen otherwise).

The style flags adjust the appearance of the dialog on some platforms:

Even if the dialog is not shown, a few notification events may be queued for the dialog on creation. Consequently, the new dialog’s resources (e.g., memory) cannot be reclaimed until some events are handled, or the dialog’s eventspace is shut down.

For information about the enabled argument, see window<%>. For information about the border, spacing, and alignment arguments, see area-container<%>. For information about the min-width, min-height, stretchable-width, and stretchable-height arguments, see area<%>.

(send a-dialog on-subwindow-char

 

receiver

 

 

 

 

 

 

event)

 

 

boolean?

  receiver : (is-a?/c window<%>)

  event : (is-a?/c key-event%)

Overrides on-subwindow-char in window<%>.

Returns the result of

  (or (send this on-system-menu-char event)

      (send this on-traverse-char event))

(send a-dialog show show?)  void?

  show? : any/c

Overrides show in top-level-window<%>.

If show? is true, the dialog is shown and all frames (and other dialogs) in the eventspace become disabled until the dialog is closed. If show? is false, the dialog is hidden and other frames and dialogs are re-enabled (unless a different, pre-existing dialog is still shown).

If show? is true, the method does not immediately return. Instead, it loops with yield until the dialog is found to be hidden between calls to yield. An internal semaphore is used with yield to avoid a busy-wait, and to ensure that the show method returns as soon as possible after the dialog is hidden.