Amiga Unix — 68040 · 68060

Manual pages › X Window and screen libraries (3X)

menus(3X)

character based menus package

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

NAME

menus - character based menus package

SYNOPSIS

#include <menu.h>

DESCRIPTION

The menu library is built using the curses library, and any program using menus routines must call one of the curses initialization routines, such as initscr. A program using these routines must be compiled with -lmenu and -lcurses on the cc command line.

The menus package gives the applications programmer a terminal-independent method of creating and customizing menus for user interaction. The menus package includes: item routines, which are used to create and customize menu items; and menu routines, which are used to create and customize menus, assign pre- and post-processing routines, and display and interact with menus.

Current Default Values for Item Attributes

The menus package establishes initial current default values for item attributes. During item initialization, each item attribute is assigned the current default value for that attribute. An application can change or retrieve a current default attribute value by calling the appropriate set or retrieve routine with a NULL item pointer. If an application changes a current default item attribute value, subsequent items created using new_item will have the new default attribute value. (The attributes of previously created items are not changed if a current default attribute value is changed.)

Routine Name Index

     The following table lists each menus routine and the name of
     the manual page on which it is described.
     menus Routine Name     Manual Page Name
     ____________________________________________

                          Last change:                          1

()                MISC. REFERENCE MANUAL PAGES                 ()
     current_item           menu_item_current(3X)
     free_item              menu_item_new(3X)
     free_menu              menu_new(3X)
     item_count             menu_items(3X)
     item_description       menu_item_name(3X)
     item_index             menu_item_current(3X)
     item_init              menu_hook(3X)
     item_name              menu_item_name(3X)
     item_opts              menu_item_opts(3X)
     item_opts_off          menu_item_opts(3X)
     item_opts_on           menu_item_opts(3X)
     item_term              menu_hook(3X)
     item_userptr           menu_item_userptr(3X)
     item_value             menu_item_value(3X)
     item_visible           menu_item_visible(3X)
     menu_back              menu_attributes(3X)
     menu_driver            menu_driver(3X)
     menu_fore              menu_attributes(3X)
     menu_format            menu_format(3X)
     menu_grey              menu_attributes(3X)
     menu_init              menu_hook(3X)
     menu_items             menu_items(3X)
     menu_mark              menu_mark(3X)
     menu_opts              menu_opts(3X)
     menu_opts_off          menu_opts(3X)
     menu_opts_on           menu_opts(3X)
     menu_pad               menu_attributes(3X)
     menu_pattern           menu_pattern(3X)
     menu_sub               menu_win(3X)
     menu_term              menu_hook(3X)
     menu_userptr           menu_userptr(3X)
     menu_win               menu_win(3X)
     new_item               menu_item_new(3X)
     new_menu               menu_new(3X)
     pos_menu_cursor        menu_cursor(3X)
     post_menu              menu_post(3X)
     scale_menu             menu_win(3X)
     set_current_item       menu_item_current(3X)
     set_item_init          menu_hook(3X)
     set_item_opts          menu_item_opts(3X)
     set_item_term          menu_hook(3X)
     set_item_userptr       menu_item_userptr(3X)
     set_item_value         menu_item_value(3X)
     set_menu_back          menu_attributes(3X)
     set_menu_fore          menu_attributes(3X)
     set_menu_format        menu_format(3X)
     set_menu_grey          menu_attributes(3X)
     set_menu_init          menu_hook(3X)
     set_menu_items         menu_items(3X)
     set_menu_mark          menu_mark(3X)
     set_menu_opts          menu_opts(3X)
     set_menu_pad           menu_attributes(3X)

                          Last change:                          1

()                MISC. REFERENCE MANUAL PAGES                 ()
     set_menu_pattern       menu_pattern(3X)
     set_menu_sub           menu_win(3X)
     set_menu_term          menu_hook(3X)
     set_menu_userptr       menu_userptr(3X)
     set_menu_win           menu_win(3X)
     set_top_row            menu_item_current(3X)
     top_row                menu_item_current(3X)
     unpost_menu            menu_post(3X)

RETURN VALUE

Routines that return pointers always return NULL  on  error.
Routines that return an integer return one of the following:
E_OK              - The routine returned successfully.
E_SYSTEM_ERROR    - System error.
E_BAD_ARGUMENT    - An incorrect argument  was  passed  to  the
                    routine.
E_POSTED          - The menu is already posted.
E_CONNECTED       - One or more items are already connected
                    to another menu.
E_BAD_STATE       - The routine was called from an  initializa-
                    tion or termination function.
E_NO_ROOM         - The menu does not fit within its subwindow.
E_NOT_POSTED      - The menu has not been posted.
E_UNKNOWN_COMMAND - An unknown request was passed to  the  menu
                    driver.
E_NO_MATCH        - The character failed to match.
E_NOT_SELECTABLE  - The item cannot be selected.
E_NOT_CONNECTED   - No items are connected to the menu.
E_REQUEST_DENIED  - The  menu  driver  could  not  process  the
                    request.

NOTES

The header file <menu.h> automatically includes the header files <eti.h> and <curses.h>.

SEE ALSO

curses(3X), and 3X pages whose names begin "menu_" for detailed routine descriptions.

Last change:                          2