dialog

Name

dialog -- A top level window with standard layout.

Synopsis

dialog [-option value...]

Screenshot

Options

-allowGrow

type: boolean

Whether the window may be greater than its children require.

-allowShrink

type: boolean

Whether the window can be made smaller than the place that its children require.

-buttons

type: list (default: %#Ok)

List of buttons to be displayed. An element of the list can be either the name of a stock button ("%#Cancel"), pure text, a list of a button ID created via the gnocl::button command and a value which shall be returned if this button is selected, or a list of text (either pure text or a PERCENTSTRING) and a stock icon ("%#Ok"), in which case the value of the stock icon is returned, if the button is selected.

-child

type: widget-ID

The widget to be shown. This option or -text is required.

-defaultButton

type: integer

Selects the default button which can normally be chosen by simply pressing return. The last button is selected per default (see HIG).

-defaultHeight

type: integer

Default height of the window.

-defaultWidth

type: integer

Default width of the window.

-dragTargets

type: list of strings

List of source targets (e.g. text/plain or application/x-color) which are supported.

-dropTargets

type: list of strings

List of destination targets (e.g. text/plain or application/x-color) which are supported.

-icon

type: percent-string (default: "")

Sets the icon of the dialog which is shown, depending on the windowmanager, in the window decoration, the window list, and/or if the window is iconified. This must be either a file name (prefix "%/") or empty.

-modal

type: boolean (default: 1)

Whether the window is modal, i.e. it grabs all GTK+ events.

-name

type: string

Name of the widget, can be used to set options in an rc file.

-onDelete

type: string (default: "")

Tcl command which is executed if the widget shall be deleted. If the command returns 0, the widget is not deleted. Before evaluation the following percent strings are substituated: TABLE %% | % %w | widget name. TABLE

-onDestroy

type: string (default: "")

Tcl command which is executed if the widget is destroyed. Before evaluation the following percent strings are substituated: TABLE %% | % %w | widget name. TABLE

-onDragData

type: string (default: "")

Tcl command which is executed if data is draged from this the widget to another. This command must return the data to be draged. Before evaluation the following percent strings are substituated: TABLE %% | % %w | widget name %t | time %T | type of data TABLE

-onDropData

type: string (default: "")

Tcl command which is executed if data is dropped on the widget. Before evaluation the following percent strings are substituated: TABLE %% | % %w | widget name %d | data %l | length of data %t | time %T | type of data %x | x coordinate %y | y coordinate TABLE

-onKeyPress

type: string (default: "")

Tcl command which is executed if a key is pressed while the widget is having the focus. Before evaluation the following percent strings are substituated: TABLE %% | % %w | widget name %k | key code as integer %K | key code as symbol %a | unicode unicode character, or the empty string if there is no corresponding character. %s | state of the buttons and modifiers (bitmask) TABLE

-onKeyRelease

type: string (default: "")

Tcl command which is executed if a key is released while the widget is having the focus. Before evaluation the following percent strings are substituated: TABLE %% | % %w | widget name %k | key code as integer %K | key code as symbol %a | unicode unicode character, or the empty string if there is no corresponding character. %s | state of the buttons and modifiers (bitmask) TABLE

-onPopupMenu

type: string (default: "")

Tcl command which is executed if the "popup-menu" signal is recieved, which is normally the case if the user presses Shift-F10. Before evaluation the following percent strings are substituated: %w by widget name.

-onRealize

type: string (default: "")

Tcl command whih is executed in the global scope if the widget has been realized. Before evaluation the following percent strings are substituated: TABLE %% | % %w | widget name. TABLE

-onResponse

type: string (default: "break")

Tcl command which is executed if a button is chosen. If the command returns the return code TCL_BREAK, as it is the default, the dialog is closed. onResponse returns TCL_BREAK if either the last command of onResponse is "break", or the tcl procedure which is called as last command in onResponse exits with "return -code break". Before evaluation the following percent strings are substituted: TABLE %% | % %v | text of the button chosen, or "#NONE" or "#DELETE" TABLE

-onShowHelp

type: string (default: "")

Tcl command which is executed in the global scope if the "show-help" signal is recieved, which is normally the case if the user presses F1 or Ctrl-F1. Before evaluation the following percent strings are substituated TABLE %% | % %w | widget name %h | help type: either "whatsThis" or "tooltip" TABLE

-resizable

type: boolean (default: 1)

Whether the user can change the size of the window.

-text

type: string

The text to be shown. This option or -child is required.

-title

type: string (default: "")

Title of the dialog.

-tooltip

type: string

Message that appear next to this widget when the mouse pointer is held over it for a short amount of time.

-type

type: ONEOF info warning question error

Type of the dialog. This determines the icon which is displayed. If the option -text is given, the default is info, if option -child is given, the default is to display no icon.

Description

dialog is a top level window with an icon, (which option -child is given, this is optional) some text or other widgets as content and one or more buttons. It could be created with the Gnocl low level commands, but dialog makes it very simple to inform the user with a standardized interface. If dialog is modal, which is the default, the dialog command does not return a window ID. Instead it returns the text of the button chosen, or "#DELETE" if the window is deleted, for example by clicking the close button in the window frame. If dialog is not modal, a window ID is returned as in all other Gnocl widget commands, and the button chosen can be determined by the callback function onResponse.

Commands

id delete

Deletes the widget and the associated tcl command.

Example

proc responseProc { val } {
if { "Yes" == $val } {
return -code break
} else {
gnocl::dialog -type question -text "Are you sure?" -buttons %#No
}
}
gnocl::dialog -type question -text "Do you like Gnocl?" -buttons "%#No {{%_I _like it} %#Yes}" -onResponse "responseProc %v"

results in

See also

window, GtkDialog, GtkMessageDialog