123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- '\" t
- .\"***************************************************************************
- .\" Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. *
- .\" *
- .\" Permission is hereby granted, free of charge, to any person obtaining a *
- .\" copy of this software and associated documentation files (the *
- .\" "Software"), to deal in the Software without restriction, including *
- .\" without limitation the rights to use, copy, modify, merge, publish, *
- .\" distribute, distribute with modifications, sublicense, and/or sell *
- .\" copies of the Software, and to permit persons to whom the Software is *
- .\" furnished to do so, subject to the following conditions: *
- .\" *
- .\" The above copyright notice and this permission notice shall be included *
- .\" in all copies or substantial portions of the Software. *
- .\" *
- .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- .\" *
- .\" Except as contained in this notice, the name(s) of the above copyright *
- .\" holders shall not be used in advertising or otherwise to promote the *
- .\" sale, use or other dealings in this Software without prior written *
- .\" authorization. *
- .\"***************************************************************************
- .\"
- .\" $Id: menu.3x,v 1.19 2006/11/04 18:38:29 tom Exp $
- .TH menu 3X ""
- .SH NAME
- \fBmenu\fR - curses extension for programming menus
- .SH SYNOPSIS
- \fB#include <menu.h>\fR
- .br
- .SH DESCRIPTION
- The \fBmenu\fR library provides terminal-independent facilities for composing
- menu systems on character-cell terminals. The library includes: item routines,
- which create and modify menu items; and menu routines, which group items into
- menus, display menus on the screen, and handle interaction with the user.
- .PP
- The \fBmenu\fR library uses the \fBcurses\fR libraries, and a curses
- initialization routine such as \fBinitscr\fR must be called before using any of
- these functions. To use the \fBmenu\fR library, link with the options
- \fB-lmenu -lcurses\fR.
- .
- .SS Current Default Values for Item Attributes
- .
- The \fBmenu\fR library maintains a default value for item attributes. You can
- get or set this default by calling the appropriate \fBget_\fR or \fBset_\fR
- routine with a \fBNULL\fR item pointer. Changing this default with a
- \fBset_\fR function affects future item creations, but does not change the
- rendering of items already created.
- .
- .SS Routine Name Index
- .
- The following table lists each \fBmenu\fR routine and the name of
- the manual page on which it is described.
- .
- .TS
- l l .
- \fBcurses\fR Routine Name Manual Page Name
- =
- current_item \fBmitem_current\fR(3X)
- free_item \fBmitem_new\fR(3X)
- free_menu \fBmenu_new\fR(3X)
- item_count \fBmenu_items\fR(3X)
- item_description \fBmitem_name\fR(3X)
- item_index \fBmitem_current\fR(3X)
- item_init \fBmenu_hook\fR(3X)
- item_name \fBmitem_name\fR(3X)
- item_opts \fBmitem_opts\fR(3X)
- item_opts_off \fBmitem_opts\fR(3X)
- item_opts_on \fBmitem_opts\fR(3X)
- item_term \fBmenu_hook\fR(3X)
- item_userptr \fBmitem_userptr\fR(3X)
- item_value \fBmitem_value\fR(3X)
- item_visible \fBmitem_visible\fR(3X)
- menu_back \fBmenu_attributes\fR(3X)
- menu_driver \fBmenu_driver\fR(3X)
- menu_fore \fBmenu_attributes\fR(3X)
- menu_format \fBmenu_format\fR(3X)
- menu_grey \fBmenu_attributes\fR(3X)
- menu_init \fBmenu_hook\fR(3X)
- menu_items \fBmenu_items\fR(3X)
- menu_mark \fBmenu_mark\fR(3X)
- menu_opts \fBmenu_opts\fR(3X)
- menu_opts_off \fBmenu_opts\fR(3X)
- menu_opts_on \fBmenu_opts\fR(3X)
- menu_pad \fBmenu_attributes\fR(3X)
- menu_pattern \fBmenu_pattern\fR(3X)
- menu_request_by_name \fBmenu_requestname\fR(3X)
- menu_request_name \fBmenu_requestname\fR(3X)
- menu_spacing \fBmenu_spacing\fR(3X)
- menu_sub \fBmenu_win\fR(3X)
- menu_term \fBmenu_hook\fR(3X)
- menu_userptr \fBmenu_userptr\fR(3X)
- menu_win \fBmenu_win\fR(3X)
- new_item \fBmitem_new\fR(3X)
- new_menu \fBmenu_new\fR(3X)
- pos_menu_cursor \fBmenu_cursor\fR(3X)
- post_menu \fBmenu_post\fR(3X)
- scale_menu \fBmenu_win\fR(3X)
- set_current_item \fBmitem_current\fR(3X)
- set_item_init \fBmenu_hook\fR(3X)
- set_item_opts \fBmitem_opts\fR(3X)
- set_item_term \fBmenu_hook\fR(3X)
- set_item_userptr \fBmitem_userptr\fR(3X)
- set_item_value \fBmitem_value\fR(3X)
- set_menu_back \fBmenu_attributes\fR(3X)
- set_menu_fore \fBmenu_attributes\fR(3X)
- set_menu_format \fBmenu_format\fR(3X)
- set_menu_grey \fBmenu_attributes\fR(3X)
- set_menu_init \fBmenu_hook\fR(3X)
- set_menu_items \fBmenu_items\fR(3X)
- set_menu_mark \fBmenu_mark\fR(3X)
- set_menu_opts \fBmitem_opts\fR(3X)
- set_menu_pad \fBmenu_attributes\fR(3X)
- set_menu_pattern \fBmenu_pattern\fR(3X)
- set_menu_spacing \fBmenu_spacing\fR(3X)
- set_menu_sub \fBmenu_win\fR(3X)
- set_menu_term \fBmenu_hook\fR(3X)
- set_menu_userptr \fBmenu_userptr\fR(3X)
- set_menu_win \fBmenu_win\fR(3X)
- set_top_row \fBmitem_current\fR(3X)
- top_row \fBmitem_current\fR(3X)
- unpost_menu \fBmenu_post\fR(3X)
- .TE
- .SH RETURN VALUE
- Routines that return pointers return \fBNULL\fR on error. Routines that return
- an integer return one of the following error codes:
- .TP 5
- .B E_OK
- The routine succeeded.
- .TP 5
- .B E_BAD_ARGUMENT
- Routine detected an incorrect or out-of-range argument.
- .TP 5
- .B E_BAD_STATE
- Routine was called from an initialization or termination function.
- .TP 5
- .B E_NO_MATCH
- Character failed to match.
- .TP 5
- .B E_NO_ROOM
- Menu is too large for its window.
- .TP 5
- .B E_NOT_CONNECTED
- No items are connected to the menu.
- .TP 5
- .B E_NOT_POSTED
- The menu has not been posted.
- .TP 5
- .B E_NOT_SELECTABLE
- The designated item cannot be selected.
- .TP 5
- .B E_POSTED
- The menu is already posted.
- .TP 5
- .B E_REQUEST_DENIED
- The menu driver could not process the request.
- .TP 5
- .B E_SYSTEM_ERROR
- System error occurred (see \fBerrno\fR).
- .TP 5
- .B E_UNKNOWN_COMMAND
- The menu driver code saw an unknown request code.
- .SH SEE ALSO
- \fBcurses\fR(3X) and related pages whose names begin "menu_" for detailed
- descriptions of the entry points.
- .SH NOTES
- The header file \fB<menu.h>\fR automatically includes the header files
- \fB<curses.h>\fR and \fB<eti.h>\fR.
- .PP
- In your library list, libmenu.a should be before libncurses.a; that is,
- you want to say `-lmenu -lncurses', not the other way around (which would
- usually give a link-error).
- .SH PORTABILITY
- These routines emulate the System V menu library. They were not supported on
- Version 7 or BSD versions.
- .SH AUTHORS
- Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric
- S. Raymond.
- .SH SEE ALSO
- This describes \fBncurses\fR
- version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
- .\"#
- .\"# The following sets edit modes for GNU EMACS
- .\"# Local Variables:
- .\"# mode:nroff
- .\"# fill-column:79
- .\"# End:
|