X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fmenu_driver.3x.html;h=e3607a4fc4f97175583059ae5e614e9b2d87fe9c;hp=48ea272f8a173c90bbe5dda0822764298208e772;hb=eccca377f55c70b12e3e92621d94d1e1c1fcfb7d;hpb=b1f61d9f3aa244512045a6b02e759825d7049d34 diff --git a/doc/html/man/menu_driver.3x.html b/doc/html/man/menu_driver.3x.html index 48ea272f..e3607a4f 100644 --- a/doc/html/man/menu_driver.3x.html +++ b/doc/html/man/menu_driver.3x.html @@ -1,26 +1,74 @@ + + + + + +menu_driver 3x + + + +

menu_driver 3x

-
+menu_driver(3x)                                                menu_driver(3x)
 
-
-

NAME

-       menu_driver - command-processing loop of the menu system
 
 
-
-

SYNOPSIS

-       #include <menu.h>
+
+

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 navi-
-       gation request, it's a printable ASCII character or it  is
-       the  KEY_MOUSE special key associated with an mouse event.
+

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:
+
+       o   The input is a form navigation request.  Navigation  request  codes
+           are constants defined in <form.h>, which are distinct from the key-
+           and character codes returned by wgetch(3x).
+
+       o   The input is a printable character.   Printable  characters  (which
+           must  be positive, less than 256) are checked according to the pro-
+           gram's locale settings.
+
+       o   The input is the KEY_MOUSE special key  associated  with  an  mouse
+           event.
+
        The menu driver requests are as follows:
 
        REQ_LEFT_ITEM
@@ -66,8 +114,7 @@
             Clear the menu pattern buffer.
 
        REQ_BACK_PATTERN
-            Delete  the  previous  character  from  the   pattern
-            buffer.
+            Delete the previous character from the pattern buffer.
 
        REQ_NEXT_MATCH
             Move to the next item matching the pattern match.
@@ -75,116 +122,128 @@
        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
-       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
-       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 pur-
-       pose of this return value to signal  that  an  application
-       specific command should be executed. 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.
+       If the second argument is a printable 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.
 
 
-
-

RETURN VALUE

-       menu_driver return one of the following error codes:
+

MOUSE HANDLING

+       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 decoration window) are handled.
 
-       E_OK The routine succeeded.
+       If you click above the display region of the menu:
 
-       E_SYSTEM_ERROR
-            System error occurred (see errno).
+       o   a REQ_SCR_ULINE is generated for a single click,
 
-       E_BAD_ARGUMENT
-            Routine detected an incorrect or  out-of-range  argu-
-            ment.
+       o   a REQ_SCR_UPAGE is generated for a double-click and
 
-       E_BAD_STATE
-            Routine was called from an initialization or termina-
-            tion function.
+       o   a REQ_FIRST_ITEM is generated for a triple-click.
 
-       E_NOT_POSTED
-            The menu has not been posted.
+       If you click below the display region of the menu:
 
-       E_UNKNOWN_COMMAND
-            The menu driver code saw an unknown request code.
+       o   a REQ_SCR_DLINE is generated for a single click,
 
-       E_NO_MATCH
-            Character failed to match.
+       o   a REQ_SCR_DPAGE is generated for a double-click and
 
-       E_REQUEST_DENIED
-            The menu driver could not process the request.
+       o   a REQ_LAST_ITEM is generated for a triple-click.
 
+       If you click at an item inside the display area of the menu:
 
-
-

SEE ALSO

-       curses(3x), menu(3x).
+       o   the menu cursor is positioned to that item.
 
+       o   If you double-click 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 is exactly the purpose of this return value
+           to signal that an application specific command should be executed.
 
-
-

NOTES

-       The header file <menu.h> automatically includes the header
-       files <curses.h>.
+       o   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 could not be
+       translated into a menu request an E_REQUEST_DENIED is returned.
 
-
-

PORTABILITY

-       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.
 
+

APPLICATION-DEFINED COMMANDS

+       If the second argument is neither printable nor one of the  above  pre-
+       defined menu requests or KEY_MOUSE, the drive assumes it is an applica-
+       tion-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.
 
-
-

AUTHORS

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

RETURN VALUE

+       menu_driver return one of the following error codes:
+
+       E_OK The routine succeeded.
+
+       E_SYSTEM_ERROR
+            System error occurred (see errno(3)).
+
+       E_BAD_ARGUMENT
+            Routine detected an incorrect or out-of-range argument.
+
+       E_BAD_STATE
+            Routine was called from an initialization or termination 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(3x), menu(3x), getch(3x).
 
 
+

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 sup-
+       ported 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.
 
 
 
+                                                               menu_driver(3x)
 
-
-
-Man(1) output converted with -man2html -
+