summaryrefslogtreecommitdiffstats
path: root/ncurses-5.3/doc/html/man/menu_driver.3x.html
diff options
context:
space:
mode:
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.html228
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>&lt;menu.h&gt;</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>&lt;menu.h&gt;</STRONG> automatically includes the header
+ files <STRONG>&lt;curses.h&gt;</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>