X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=menu%2Fm_global.c;h=542b484f705a603135736d0159988675adf7255e;hp=9d0ba0ac369697fd3b213c7fd498db208cb2ad20;hb=a8987e73ec254703634802b4f7ee30d3a485524d;hpb=3a9b6a3bf0269231bef7de74757a910dedd04e0c diff --git a/menu/m_global.c b/menu/m_global.c index 9d0ba0ac..542b484f 100644 --- a/menu/m_global.c +++ b/menu/m_global.c @@ -1,35 +1,47 @@ -/*-----------------------------------------------------------------------------+ -| The ncurses menu library is Copyright (C) 1995-1997 | -| by Juergen Pfeifer | -| All Rights Reserved. | -| | -| Permission to use, copy, modify, and distribute this software and its | -| documentation for any purpose and without fee is hereby granted, provided | -| that the above copyright notice appear in all copies and that both that | -| copyright notice and this permission notice appear in supporting | -| documentation, and that the name of the above listed copyright holder(s) not | -| be used in advertising or publicity pertaining to distribution of the | -| software without specific, written prior permission. | -| | -| THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO | -| THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT- | -| NESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR | -| ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RE- | -| SULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, | -| NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH | -| THE USE OR PERFORMANCE OF THIS SOFTWARE. | -+-----------------------------------------------------------------------------*/ +/**************************************************************************** + * Copyright (c) 1998-2002,2003 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. * + ****************************************************************************/ + +/**************************************************************************** + * Author: Juergen Pfeifer, 1995,1997 * + ****************************************************************************/ /*************************************************************************** -* Module menu_global * +* Module m_global * * Globally used internal routines and the default menu and item structures * ***************************************************************************/ #include "menu.priv.h" -MODULE_ID("$Id: m_global.c,v 1.7 1997/05/01 16:47:26 juergen Exp $") +MODULE_ID("$Id: m_global.c,v 1.16 2003/11/08 20:53:01 tom Exp $") + +static char mark[] = "-"; -MENU _nc_Default_Menu = { +NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu = { 16, /* Nr. of chars high */ 1, /* Nr. of chars wide */ 16, /* Nr. of items high */ @@ -63,12 +75,12 @@ MENU _nc_Default_Menu = { (Menu_Hook)0, /* Item init */ (Menu_Hook)0, /* Item term */ (void *)0, /* userptr */ - "-", /* mark */ + mark, /* mark */ ALL_MENU_OPTS, /* options */ 0 /* status */ }; -ITEM _nc_Default_Item = { +NCURSES_EXPORT_VAR(ITEM) _nc_Default_Item = { { (char *)0, 0 }, /* name */ { (char *)0, 0 }, /* description */ (MENU *)0, /* Pointer to parent menu */ @@ -148,10 +160,11 @@ INLINE static void ResetConnectionInfo(MENU *menu, ITEM **items) | Decorate all the items with a number and a backward | pointer to the menu. | -| Return Values : TRUE - successfull connection +| Return Values : TRUE - successful connection | FALSE - connection failed +--------------------------------------------------------------------------*/ -bool _nc_Connect_Items(MENU *menu, ITEM **items) +NCURSES_EXPORT(bool) +_nc_Connect_Items (MENU *menu, ITEM **items) { ITEM **item; unsigned int ItemCount = 0; @@ -212,7 +225,8 @@ bool _nc_Connect_Items(MENU *menu, ITEM **items) | | Return Values : - +--------------------------------------------------------------------------*/ -void _nc_Disconnect_Items(MENU * menu) +NCURSES_EXPORT(void) +_nc_Disconnect_Items (MENU * menu) { if (menu && menu->items) ResetConnectionInfo( menu, menu->items ); @@ -227,7 +241,8 @@ void _nc_Disconnect_Items(MENU * menu) | | Return Values : - +--------------------------------------------------------------------------*/ -void _nc_Calculate_Item_Length_and_Width(MENU * menu) +NCURSES_EXPORT(void) +_nc_Calculate_Item_Length_and_Width (MENU * menu) { int l; @@ -249,13 +264,14 @@ void _nc_Calculate_Item_Length_and_Width(MENU * menu) | Facility : libnmenu | Function : void _nc_Link_Item(MENU *menu) | -| Description : Statically calculate for every item its four neighbours. +| Description : Statically calculate for every item its four neighbors. | This depends on the orientation of the menu. This -| static aproach simplifies navigation in the menu a lot. +| static approach simplifies navigation in the menu a lot. | | Return Values : - +--------------------------------------------------------------------------*/ -void _nc_Link_Items(MENU * menu) +NCURSES_EXPORT(void) +_nc_Link_Items (MENU * menu) { if (menu && menu->items && *(menu->items)) { @@ -381,7 +397,8 @@ void _nc_Link_Items(MENU * menu) | | Return Values : - +--------------------------------------------------------------------------*/ -void _nc_Show_Menu(const MENU *menu) +NCURSES_EXPORT(void) +_nc_Show_Menu (const MENU *menu) { WINDOW *win; int maxy, maxx; @@ -420,8 +437,9 @@ void _nc_Show_Menu(const MENU *menu) | | Return Values : - +--------------------------------------------------------------------------*/ -void _nc_New_TopRow_and_CurrentItem(MENU *menu, int new_toprow, - ITEM *new_current_item) +NCURSES_EXPORT(void) +_nc_New_TopRow_and_CurrentItem +(MENU *menu, int new_toprow, ITEM *new_current_item) { ITEM *cur_item; bool mterm_called = FALSE;