Deleted Added
full compact
m_items.c (76726) m_items.c (166124)
1/****************************************************************************
1/****************************************************************************
2 * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
2 * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
3 * *
4 * Permission is hereby granted, free of charge, to any person obtaining a *
5 * copy of this software and associated documentation files (the *
6 * "Software"), to deal in the Software without restriction, including *
7 * without limitation the rights to use, copy, modify, merge, publish, *
8 * distribute, distribute with modifications, sublicense, and/or sell *
9 * copies of the Software, and to permit persons to whom the Software is *
10 * furnished to do so, subject to the following conditions: *

--- 11 unchanged lines hidden (view full) ---

22 * *
23 * Except as contained in this notice, the name(s) of the above copyright *
24 * holders shall not be used in advertising or otherwise to promote the *
25 * sale, use or other dealings in this Software without prior written *
26 * authorization. *
27 ****************************************************************************/
28
29/****************************************************************************
3 * *
4 * Permission is hereby granted, free of charge, to any person obtaining a *
5 * copy of this software and associated documentation files (the *
6 * "Software"), to deal in the Software without restriction, including *
7 * without limitation the rights to use, copy, modify, merge, publish, *
8 * distribute, distribute with modifications, sublicense, and/or sell *
9 * copies of the Software, and to permit persons to whom the Software is *
10 * furnished to do so, subject to the following conditions: *

--- 11 unchanged lines hidden (view full) ---

22 * *
23 * Except as contained in this notice, the name(s) of the above copyright *
24 * holders shall not be used in advertising or otherwise to promote the *
25 * sale, use or other dealings in this Software without prior written *
26 * authorization. *
27 ****************************************************************************/
28
29/****************************************************************************
30 * Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1995,1997 *
30 * Author: Juergen Pfeifer, 1995,1997 *
31 ****************************************************************************/
32
33/***************************************************************************
34* Module m_items *
35* Connect and disconnect items to and from menus *
36***************************************************************************/
37
38#include "menu.priv.h"
39
31 ****************************************************************************/
32
33/***************************************************************************
34* Module m_items *
35* Connect and disconnect items to and from menus *
36***************************************************************************/
37
38#include "menu.priv.h"
39
40MODULE_ID("$Id: m_items.c,v 1.9 2000/12/10 02:16:48 tom Exp $")
40MODULE_ID("$Id: m_items.c,v 1.16 2005/01/16 01:02:23 tom Exp $")
41
42/*---------------------------------------------------------------------------
43| Facility : libnmenu
44| Function : int set_menu_items(MENU *menu, ITEM **items)
45|
46| Description : Sets the item pointer array connected to menu.
47|
48| Return Values : E_OK - success
49| E_POSTED - menu is already posted
50| E_CONNECTED - one or more items are already connected
51| to another menu.
52| E_BAD_ARGUMENT - An incorrect menu or item array was
53| passed to the function
54+--------------------------------------------------------------------------*/
55NCURSES_EXPORT(int)
41
42/*---------------------------------------------------------------------------
43| Facility : libnmenu
44| Function : int set_menu_items(MENU *menu, ITEM **items)
45|
46| Description : Sets the item pointer array connected to menu.
47|
48| Return Values : E_OK - success
49| E_POSTED - menu is already posted
50| E_CONNECTED - one or more items are already connected
51| to another menu.
52| E_BAD_ARGUMENT - An incorrect menu or item array was
53| passed to the function
54+--------------------------------------------------------------------------*/
55NCURSES_EXPORT(int)
56set_menu_items (MENU * menu, ITEM ** items)
56set_menu_items(MENU * menu, ITEM ** items)
57{
57{
58 T((T_CALLED("set_menu_items(%p,%p)"), menu, items));
59
58 if (!menu || (items && !(*items)))
59 RETURN(E_BAD_ARGUMENT);
60 if (!menu || (items && !(*items)))
61 RETURN(E_BAD_ARGUMENT);
60
61 if ( menu->status & _POSTED )
62
63 if (menu->status & _POSTED)
62 RETURN(E_POSTED);
64 RETURN(E_POSTED);
63
65
64 if (menu->items)
65 _nc_Disconnect_Items(menu);
66 if (menu->items)
67 _nc_Disconnect_Items(menu);
66
68
67 if (items)
68 {
69 if (items)
70 {
69 if(!_nc_Connect_Items( menu, items ))
71 if (!_nc_Connect_Items(menu, items))
70 RETURN(E_CONNECTED);
71 }
72 RETURN(E_CONNECTED);
73 }
72
74
73 menu->items = items;
74 RETURN(E_OK);
75 menu->items = items;
76 RETURN(E_OK);
75}
77}
76
77/*---------------------------------------------------------------------------
78| Facility : libnmenu
79| Function : ITEM **menu_items(const MENU *menu)
80|
78
79/*---------------------------------------------------------------------------
80| Facility : libnmenu
81| Function : ITEM **menu_items(const MENU *menu)
82|
81| Description : Returns a pointer to the item pointer arry of the menu
83| Description : Returns a pointer to the item pointer array of the menu
82|
83| Return Values : NULL on error
84+--------------------------------------------------------------------------*/
85NCURSES_EXPORT(ITEM **)
84|
85| Return Values : NULL on error
86+--------------------------------------------------------------------------*/
87NCURSES_EXPORT(ITEM **)
86menu_items (const MENU *menu)
88menu_items(const MENU * menu)
87{
89{
88 return(menu ? menu->items : (ITEM **)0);
90 T((T_CALLED("menu_items(%p)"), menu));
91 returnItemPtr(menu ? menu->items : (ITEM **) 0);
89}
90
91/*---------------------------------------------------------------------------
92| Facility : libnmenu
93| Function : int item_count(const MENU *menu)
94|
95| Description : Get the number of items connected to the menu. If the
96| menu pointer is NULL we return -1.
97|
98| Return Values : Number of items or -1 to indicate error.
99+--------------------------------------------------------------------------*/
100NCURSES_EXPORT(int)
92}
93
94/*---------------------------------------------------------------------------
95| Facility : libnmenu
96| Function : int item_count(const MENU *menu)
97|
98| Description : Get the number of items connected to the menu. If the
99| menu pointer is NULL we return -1.
100|
101| Return Values : Number of items or -1 to indicate error.
102+--------------------------------------------------------------------------*/
103NCURSES_EXPORT(int)
101item_count (const MENU *menu)
104item_count(const MENU * menu)
102{
105{
103 return(menu ? menu->nitems : -1);
106 T((T_CALLED("item_count(%p)"), menu));
107 returnCode(menu ? menu->nitems : -1);
104}
105
106/* m_items.c ends here */
108}
109
110/* m_items.c ends here */