diff options
Diffstat (limited to 'ncurses-5.3/doc/html/man/menu_driver.3x.html')
-rw-r--r-- | ncurses-5.3/doc/html/man/menu_driver.3x.html | 228 |
1 files changed, 228 insertions, 0 deletions
diff --git a/ncurses-5.3/doc/html/man/menu_driver.3x.html b/ncurses-5.3/doc/html/man/menu_driver.3x.html new file mode 100644 index 0000000..2c4f5e6 --- /dev/null +++ b/ncurses-5.3/doc/html/man/menu_driver.3x.html @@ -0,0 +1,228 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> +<!-- + **************************************************************************** + * Copyright (c) 1998,2002 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_driver.3x,v 1.10 2002/02/16 22:40:59 tom Exp @ +--> +<HTML> +<HEAD> +<TITLE>menu_driver 3x</TITLE> +<link rev=made href="mailto:bug-ncurses@gnu.org"> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +</HEAD> +<BODY> +<H1>menu_driver 3x</H1> +<HR> +<PRE> +<!-- Manpage converted by man2html 3.0.1 --> + +</PRE> +<H2>NAME</H2><PRE> + <STRONG>menu_driver</STRONG> - command-processing loop of the menu system + + +</PRE> +<H2>SYNOPSIS</H2><PRE> + <STRONG>#include</STRONG> <STRONG><menu.h></STRONG> + int menu_driver(MENU *menu, int c); + + +</PRE> +<H2>DESCRIPTION</H2><PRE> + Once a menu has been posted (displayed), you should funnel + input events to it through <STRONG>menu_driver</STRONG>. This routine has + three major input cases; either the input is a menu navi- + gation request, it's a printable ASCII character or it is + the KEY_MOUSE special key associated with an mouse event. + The menu driver requests are as follows: + + REQ_LEFT_ITEM + Move left to an item. + + REQ_RIGHT_ITEM + Move right to an item. + + REQ_UP_ITEM + Move up to an item. + + REQ_DOWN_ITEM + Move down to an item. + + REQ_SCR_ULINE + Scroll up a line. + + REQ_SCR_DLINE + Scroll down a line. + + REQ_SCR_DPAGE + Scroll down a page. + + REQ_SCR_UPAGE + Scroll up a page. + + REQ_FIRST_ITEM + Move to the first item. + + REQ_LAST_ITEM + Move to the last item. + + REQ_NEXT_ITEM + Move to the next item. + + REQ_PREV_ITEM + Move to the previous item. + + REQ_TOGGLE_ITEM + Select/deselect an item. + + REQ_CLEAR_PATTERN + Clear the menu pattern buffer. + + REQ_BACK_PATTERN + Delete the previous character from the pattern + buffer. + + REQ_NEXT_MATCH + Move to the next item matching the pattern match. + + REQ_PREV_MATCH + Move to the previous item matching the pattern match. + + If the second argument is a printable ASCII character, the + code appends it to the pattern buffer and attempts to move + to the next item matching the new pattern. If there is no + such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG> and deletes the + appended character from the buffer. + + If the second argument is one of the above pre-defined + requests, the corresponding action is performed. + + If the second argument is the KEY_MOUSE special key, the + associated mouse event is translated into one of the above + pre-defined requests. Currently only clicks in the user + window (e.g. inside the menu display area or the decora- + tion window) are handled. If you click above the display + region of the menu, a REQ_SCR_ULINE is generated, if you + doubleclick a REQ_SCR_UPAGE is generated and if you + tripleclick a REQ_FIRST_ITEM is generated. If you click + below the display region of the menu, a REQ_SCR_DLINE is + generated, if you doubleclick a REQ_SCR_DPAGE is generated + and if you tripleclick a REQ_LAST_ITEM is generated. If + you click at an item inside the display area of the menu, + the menu cursor is positioned to that item. If you double- + click at an item a REQ_TOGGLE_ITEM is generated and + <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned. This return value makes + sense, because a double click usually means that an item- + specific action should be returned. It's exactly the pur- + pose of this return value to signal that an application + specific command should be executed. If a translation into + a request was done, <STRONG>menu_driver</STRONG> returns the result of this + request. If you clicked outside the user window or the + mouse event couldn't be translated into a menu request an + <STRONG>E_REQUEST_DENIED</STRONG> is returned. + + If the second argument is neither printable ASCII nor one + of the above pre-defined menu requests or KEY_MOUSE, the + drive assumes it is an application-specific command and + returns <STRONG>E_UNKNOWN_COMMAND</STRONG>. Application-defined commands + should be defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum + value of these pre-defined requests. + + + +</PRE> +<H2>RETURN VALUE</H2><PRE> + <STRONG>menu_driver</STRONG> return one of the following error codes: + + <STRONG>E_OK</STRONG> The routine succeeded. + + <STRONG>E_SYSTEM_ERROR</STRONG> + System error occurred (see <STRONG>errno</STRONG>). + + <STRONG>E_BAD_ARGUMENT</STRONG> + Routine detected an incorrect or out-of-range argu- + ment. + + <STRONG>E_BAD_STATE</STRONG> + Routine was called from an initialization or termina- + tion function. + + <STRONG>E_NOT_POSTED</STRONG> + The menu has not been posted. + + <STRONG>E_UNKNOWN_COMMAND</STRONG> + The menu driver code saw an unknown request code. + + <STRONG>E_NO_MATCH</STRONG> + Character failed to match. + + <STRONG>E_REQUEST_DENIED</STRONG> + The menu driver could not process the request. + + +</PRE> +<H2>SEE ALSO</H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. + + +</PRE> +<H2>NOTES</H2><PRE> + The header file <STRONG><menu.h></STRONG> automatically includes the header + files <STRONG><curses.h></STRONG>. + + +</PRE> +<H2>PORTABILITY</H2><PRE> + These routines emulate the System V menu library. They + were not supported on Version 7 or BSD versions. The sup- + port for mouse events is ncurses specific. + + +</PRE> +<H2>AUTHORS</H2><PRE> + Juergen Pfeifer. Manual pages and adaptation for new + curses by Eric S. Raymond. + + + + + + + + + + + +</PRE> +<HR> +<ADDRESS> +Man(1) output converted with +<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> +</ADDRESS> +</BODY> +</HTML> |