Browse Prior Art Database

Automatic Assignment of Mnemonic Characters for Programmable Menus

IP.com Disclosure Number: IPCOM000116555D
Original Publication Date: 1995-Oct-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 4 page(s) / 140K

Publishing Venue

IBM

Related People

Baker, BR: AUTHOR [+2]

Abstract

The method disclosed can be employed by an integrating application with tailorable menus to ensure that mnemonic characters are unique. The application processes menu setting requests from the various sources, including its own profiles, and dynamically resolves mnemonic character conflicts, and assigns or reassigns such characters correctly. A high degree of control by the requesters over the assignments and their timing still exists.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 39% of the total text.

Automatic Assignment of Mnemonic Characters for Programmable Menus

      The method disclosed can be employed by an integrating
application with tailorable menus to ensure that mnemonic characters
are unique.  The application processes menu setting requests from the
various sources, including its own profiles, and dynamically resolves
mnemonic character conflicts, and assigns or reassigns such
characters correctly.  A high degree of control by the requesters
over the assignments and their timing still exists.

      A menu mnemonic character indicates a key that may be pressed
by the user when a menu is active.  It is highlighted (e.g., by an
underscore) in the menu item text.  It is a single alphanumeric
character that moves the cursor to a choice and selects the choice.
Mnemonics must be unique for all the menu bar choices within a
window, within each pull-down menu, and within each cascaded menu.
The mnemonic is one of the letters in the menu item text.  When the
only available mnemonic letter is not part of the menu text, it is
added in parentheses after the text.

      The implementation of this method does not require changes to
the existing profiles and tools for the application.  The menu
handling capabilities in the application consist of a data structure
of the menus tree, and a SET MENU CHOICE command.

      The following information is kept for each menu choice in the
menus tree structure maintained by the application:
  o  the menu ID
  o  the application command bound to the menu
  o  the menu text (either stored in this structure, or queried
      from the system when needed)
  o  the mnemonic character, and
  o  a menu status word.

The status maintained for each menu choice in the tree has one of two
values:
  o  NOT-ASSIGNED -- no mnemonic has been assigned yet for this
      choice
  o  RESOLVED --  a mnemonic has been assigned; the mnemonic
selection
      method does not use or touch this menu item any more.

      A vector of all possible mnemonic characters is maintained for
each tree branch, that is, for each menu scope:  each menu action
bar, each menu, and each submenu.  It is accessed directly via the
character value as index.  A character status is maintained for each
element of the vector, and has one of these values:
  o  AVAILABLE --  the character is available as mnemonic in the menu
      scope
  o  POTENTIAL -- the character has been temporarily allocated during
      the mnemonic assignment algorithm
  o  ASSIGNED -- assigned as mnemonic.

When the application starts up, and when a new menu or submenu is
created, this vector is cleared to AVAILABLE for all the supported
characters.  Any special or reserved characters that are not for
mnemonic use in the particular application are set to ASSIGNED.  Also
marked as ASSIGNED are usually the characters for the application's
base menu bar and menu choices.  This is the case for predefi...