blob: 839e199b8c4faf6847c28e2a401f8012e43e2c7d [file] [log] [blame]
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05301.\"***************************************************************************
micky3879b9f5e72025-07-08 18:04:53 -04002.\" Copyright 2018-2023,2024 Thomas E. Dickey *
3.\" Copyright 1998-2007,2010 Free Software Foundation, Inc. *
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05304.\" *
5.\" Permission is hereby granted, free of charge, to any person obtaining a *
6.\" copy of this software and associated documentation files (the *
7.\" "Software"), to deal in the Software without restriction, including *
8.\" without limitation the rights to use, copy, modify, merge, publish, *
9.\" distribute, distribute with modifications, sublicense, and/or sell *
10.\" copies of the Software, and to permit persons to whom the Software is *
11.\" furnished to do so, subject to the following conditions: *
12.\" *
13.\" The above copyright notice and this permission notice shall be included *
14.\" in all copies or substantial portions of the Software. *
15.\" *
16.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
17.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
18.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
19.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
20.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
21.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
22.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
23.\" *
24.\" Except as contained in this notice, the name(s) of the above copyright *
25.\" holders shall not be used in advertising or otherwise to promote the *
26.\" sale, use or other dealings in this Software without prior written *
27.\" authorization. *
28.\"***************************************************************************
29.\"
micky3879b9f5e72025-07-08 18:04:53 -040030.\" $Id: menu_hook.3x,v 1.32 2024/03/16 15:35:01 tom Exp $
31.TH menu_hook 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053032.SH NAME
micky3879b9f5e72025-07-08 18:04:53 -040033\fBmenu_hook\fP \-
34set hooks for automatic invocation by applications
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053035.SH SYNOPSIS
micky3879b9f5e72025-07-08 18:04:53 -040036.nf
37\fB#include <menu.h>
38.PP
39\fBint set_item_init(MENU *\fImenu\fP, Menu_Hook \fIfunc\fP);
40\fBMenu_Hook item_init(const MENU *\fImenu\fP);
41.PP
42\fBint set_item_term(MENU *\fImenu\fP, Menu_Hook \fIfunc\fP);
43\fBMenu_Hook item_term(const MENU *\fImenu\fP);
44.PP
45\fBint set_menu_init(MENU *\fImenu\fP, Menu_Hook \fIfunc\fP);
46\fBMenu_Hook menu_init(const MENU *\fImenu\fP);
47.PP
48\fBint set_menu_term(MENU *\fImenu\fP, Menu_Hook \fIfunc\fP);
49\fBMenu_Hook menu_term(const MENU *\fImenu\fP);
50.fi
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053051.SH DESCRIPTION
52These functions make it possible to set hook functions to be called at various
micky3879b9f5e72025-07-08 18:04:53 -040053points in the automatic processing of input event codes by \fBmenu_driver\fP.
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053054.PP
micky3879b9f5e72025-07-08 18:04:53 -040055The function \fBset_item_init\fP sets a hook to be called at menu-post time and
56each time the selected item changes (after the change).
57\fBitem_init\fP
58returns the current item init hook, if any (\fBNULL\fP if there is no such
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053059hook).
60.PP
micky3879b9f5e72025-07-08 18:04:53 -040061The function \fBset_item_term\fP sets a hook to be called at menu-unpost time
62and each time the selected item changes (before the change).
63\fBitem_term\fP
64returns the current item term hook, if any (\fBNULL\fP if there is no such
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053065hook).
66.PP
micky3879b9f5e72025-07-08 18:04:53 -040067The function \fBset_menu_init\fP sets a hook to be called at menu-post time and
68just after the top row on the menu changes once it is posted.
69\fBmenu_init\fP
70returns the current menu init hook, if any (\fBNULL\fP if there is no such
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053071hook).
72.PP
micky3879b9f5e72025-07-08 18:04:53 -040073The function \fBset_menu_term\fP sets a hook to be called at menu-unpost time
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053074and just before the top row on the menu changes once it is posted.
micky3879b9f5e72025-07-08 18:04:53 -040075\fBmenu_term\fP returns the current menu term hook, if any (\fBNULL\fP if there
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053076is no such hook).
77.SH RETURN VALUE
micky3879b9f5e72025-07-08 18:04:53 -040078Routines that return pointers return \fBNULL\fP on error.
79Other routines
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053080return one of the following:
81.TP 5
82.B E_OK
83The routine succeeded.
84.TP 5
85.B E_SYSTEM_ERROR
micky3879b9f5e72025-07-08 18:04:53 -040086System error occurred (see \fBerrno\fP(3)).
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053087.SH PORTABILITY
micky3879b9f5e72025-07-08 18:04:53 -040088These routines emulate the System V menu library.
89They were not supported on
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053090Version 7 or BSD versions.
91.SH AUTHORS
micky3879b9f5e72025-07-08 18:04:53 -040092Juergen Pfeifer.
93Manual pages and adaptation for new curses by Eric
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053094S. Raymond.
micky3879b9f5e72025-07-08 18:04:53 -040095.SH SEE ALSO
96\fB\%curses\fP(3X),
97\fB\%menu\fP(3X)