.
Eloquence JDLG contact contact

Documentation / Eloquence JDLG / Typeahead functionality

Typeahead functionality

 
.
  Document revision: 2023-02-22
Refers to JDLG version: 2.0.16


The typeahead function prevents characters from being lost if they are typed while the Dialog is not interactive, i.e., currently outside DLG DO.

The typeahead function includes the TAB and/or ENTER keys used for forward focus navigation and therefore buffers keyboard input across multiple objects.

The System.typeahead or eloquence.config.typeahead configuration allow to globally enable or disable the typeahead function (default: typeahead enabled).

How the buffered keyboard input is processed depends on the class of the currently focused object, i.e., the object class receiving the buffered input the next time DLG DO is executed.

ComboBox, EditText:

  • The buffered characters are inserted at the cursor position or replace the current selection.

  • The TAB key moves the focus to the next focusable object.

  • Single-line EditText or ComboBox: The ENTER key moves the focus to the next focusable object.

  • Multi-line EditText: The ENTER key inserts a newline character at the cursor position.

CheckBox, PushButton, RadioButton:

  • The SPACE character triggers a button click.

  • The TAB key moves the focus to the next focusable object.

  • The ENTER key function depends on the setting of the traversecr attribute. If traversecr is zero, ENTER triggers a button click. If it is nonzero, ENTER moves the focus to the next focusable object.

  • All other characters are considered invalid (see notes below).

PopText:

  • The buffered characters are used to select a PopText entry. If no entry is matched the input is considered invalid (see notes below).

  • The TAB key moves the focus to the next focusable object.

  • The ENTER key function depends on the setting of the traversecr attribute. If traversecr is zero, ENTER submits the PopText rule to the program. If it is nonzero, ENTER moves the focus to the next focusable object.

All other object classes:

  • The TAB key moves the focus to the next focusable object.

  • All other characters are considered invalid (see notes below).

Notes:

  • DLG SET focus clears the buffer (i.e., the typeahead function is stopped).

  • When an invalid typeahead character is encountered, the buffer is cleared (i.e., the typeahead function is stopped) and a user beep notification is issued (depending on the System.notifybusy or eloquence.config.notifybusy configuration).

  • An invalid typeahead character may either occur during keyboard input or when the focused control processes the buffered input. The typeahead buffer only accepts input characters and forward focus navigation keys. Cursor, function and accelerator keys as well as editor keys (e.g. BACKSPACE) are considered invalid.

  • If the Dialog.cr attribute is set to a nonzero value, a buffered ENTER key is not processed but considered invalid.

  • The typeahead buffer expires 10 seconds after the last character was buffered.

  • Requires JDLG version 1.5.7-110518-1310 or newer.

  • JDLG versions before 1.7.0 only buffer keyboard input if a ComboBox or EditText object has the focus. TAB/ENTER forward focus navigation across multiple objects is not buffered.


 
 
 
  Privacy | Webmaster | Terms of use | Impressum Revision: 2023-02-22  
  Copyright © 1995-2021 Marxmeier Software AG