Documentation‎ > ‎Toplevel Windows‎ > ‎

gnocl::dialog

A top level window with standard layout.

Synopsis

dialog [-option value...]

Screenshot

Options

-acceptFocus boolean
Whether the window should receive the input focus.
-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 substituted:

  %w    widget name
-onDestroy
type: string (default: "")
Tcl command which is executed if the widget is destroyed. Before evaluation the following percent strings are substituted:

  %w    widget name
-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 substituted:

%w    widget name
%t    time
%T    type of data
-onDropData
type: string (default: "")
Tcl command which is executed if data is dropped on the widget. Before evaluation the following percent strings are substituted:

%w    widget name
%d    data
%l    length of data
%t    time
%T    type of data
%x    x coordinate
%y    y coordinate
-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 substituted:

%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)
-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 substituted:

%w    widget name
%k    key code as integer
%K    key code as symbol
%a    unicode character, or the empty string if there is no corresponding character
%s    state of the buttons and modifiers (bitmask)
-onPopupMenu
type: string (default: "")
Tcl command which is executed if the "popup-menu" signal is received, which is normally the case if the user presses Shift-F10. Before evaluation the following percent strings are substituted:

%w    widget name
-onRealize
type: string (default: "")
Tcl command which is executed in the global scope if the widget has been realized. Before evaluation the following percent strings are substituted:

%w    widget name
-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 dialogue 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:

%v    text of the button chosen, or "#NONE" or "#DELETE"
-onShowHelp
type: string (default: "")
Tcl command which is executed in the global scope if the "show-help" signal is received, which is normally the case if the user presses F1 or Ctrl-F1. Before evaluation the following percent strings are substituted:

%w    widget name
%h    help type: either "whatsThis" or "tooltip"
-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: ONE OF info, warning, question or error
Type of the dialogue. 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

A gnocl::dialog widget 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 a gnocl::dialog makes it very simple to inform the user with a standardized interface. If the gnocl::dialog is modal, which is the default, the gnocl::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 the gnocl::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



Comments