core/builtins/dialog.cif
author Tom Sutcliffe <thomas.sutcliffe@accenture.com>
Wed, 23 Jun 2010 15:52:26 +0100
changeset 0 7f656887cf89
child 59 c9dfb364c2d1
permissions -rw-r--r--
First submission to Symbian Foundation staging server.

# dialog.cif
# 
# Copyright (c) 2010 Accenture. All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
# 
# Initial Contributors:
# Accenture - Initial contribution
#

==name dialog

==short-description

Displays a UI dialog.

==long-description

Up to two buttons are supported. By default the first is labelled C<OK> and the second C<Cancel>. The button the user selected can be determined by the return code of the command. The first button will produce a return code of zero (0), and the second a code of one (1). If there was an error displaying the dialog, the error code will be returned (always a negative number). The return code makes it possible to write scripts like:

  dialog --body 'Do you want to proceed?' && do_something

This will result in F<do_something> only being executed if the user presses the first button. An error or the user pressing the second button with NOT result in F<do_something> being executed. Note though that the text window server's notifier implementation appears to assign the first button one (1) and the second, zero (0). Also, on the 3rd edition of S60 killing a dialog command while it is running will result in the handset resetting itself when the actual dialog is dismissed.

The environment variable C<DIALOG_IMPL> can be used to control the way in which the user is interacted with. The following values of C<DIALOG_IMPL> are supported:

=over 5

=item C<notifier>

The C<RNotifier> API will be used. This is the default if C<DIALOG_IMPL> is not defined The behaviour of C<RNotifier> depends on the handset configuration, but normally it will result in graphical dialogs being displayed.

=item C<console>

The user will be interacted with via the console that the dialog command is connected to. In this mode, pressing the enter (or on some platforms, select) key corresponds to pressing the first button and any other corresponds to pressing the second button.

=item C<null>

No attempt is made to interact with the user and it is assumed that the first button is always pressed. This mode allows all user interaction to be disabled.

=back

==argument string body optional

The body of the dialog. If not specified, the body is read from C<stdin>.

==option string t title

The title of the dialog.

==option string f first-button

The text for the first button.

==option string s second-button

The text for the first button.

==copyright

Copyright (c) 2006-2010 Accenture. All rights reserved.