menu_driver man page on MirBSD

Man page or keyword search:  
man Server   6113 pages
apropos Keyword Search (all sections)
Output format
MirBSD logo
[printable version]



menu_driver(3)	    UNIX Programmer's Manual	   menu_driver(3)

NAME
     menu_driver - command-processing loop of the menu system

SYNOPSIS
     #include <menu.h>
     int menu_driver(MENU *menu, int c);

DESCRIPTION
     Once a menu has been posted (displayed), you should funnel
     input events to it through menu_driver.  This routine has
     three major input cases; either the input is a menu naviga-
     tion 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

MirOS BSD #10-current	Printed 18.8.2011			1

menu_driver(3)	    UNIX Programmer's Manual	   menu_driver(3)

	  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, menu_driver returns E_NO_MATCH 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 win-
     dow (e.g. inside the menu display area or the decoration
     window) are handled. If you click above the display region
     of the menu, a REQ_SCR_ULINE is generated, if you doub-
     leclick 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 tri-
     pleclick 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 E_UNKNOWN_COMMAND 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 purpose of this return value to
     signal that an application specific command should be exe-
     cuted. If a translation into a request was done, menu_driver
     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 E_REQUEST_DENIED 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
     E_UNKNOWN_COMMAND.	 Application-defined commands should be
     defined relative to MAX_COMMAND, the maximum value of these
     pre-defined requests.

MirOS BSD #10-current	Printed 18.8.2011			2

menu_driver(3)	    UNIX Programmer's Manual	   menu_driver(3)

RETURN VALUE
     menu_driver return one of the following error codes:

     E_OK The routine succeeded.

     E_SYSTEM_ERROR
	  System error occurred (see errno).

     E_BAD_ARGUMENT
	  Routine detected an incorrect or out-of-range argument.

     E_BAD_STATE
	  Routine was called from an initialization or termina-
	  tion function.

     E_NOT_POSTED
	  The menu has not been posted.

     E_UNKNOWN_COMMAND
	  The menu driver code saw an unknown request code.

     E_NO_MATCH
	  Character failed to match.

     E_REQUEST_DENIED
	  The menu driver could not process the request.

SEE ALSO
     curses(3), menu(3).

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

PORTABILITY
     These routines emulate the System V menu library.	They were
     not supported on Version 7 or BSD versions. The support for
     mouse events is ncurses specific.

AUTHORS
     Juergen Pfeifer.  Manual pages and adaptation for new curses
     by Eric S. Raymond.

MirOS BSD #10-current	Printed 18.8.2011			3

[top]

List of man pages available for MirBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net