/****************************************************************************
- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
+ * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 1998-2004,2010 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 *
/****************************************************************************
* Author: Juergen Pfeifer, 1995,1997 *
- * Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en *
****************************************************************************/
/***************************************************************************
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_opt.c,v 1.12 2002/07/06 15:22:16 juergen Exp $")
+MODULE_ID("$Id: m_item_opt.c,v 1.22 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : int set_item_opts(ITEM *item, Item_Options opts)
-|
+| Facility : libnmenu
+| Function : int set_item_opts(ITEM *item, Item_Options opts)
+|
| Description : Set the options of the item. If there are relevant
| changes, the item is connected and the menu is posted,
| the menu will be redisplayed.
| Return Values : E_OK - success
| E_BAD_ARGUMENT - invalid item options
+--------------------------------------------------------------------------*/
-NCURSES_EXPORT(int)
-set_item_opts (ITEM *item, Item_Options opts)
-{
+MENU_EXPORT(int)
+set_item_opts(ITEM *item, Item_Options opts)
+{
+ T((T_CALLED("set_menu_opts(%p,%d)"), (void *)item, opts));
+
opts &= ALL_ITEM_OPTS;
if (opts & ~ALL_ITEM_OPTS)
RETURN(E_BAD_ARGUMENT);
-
+
if (item)
{
if (item->opt != opts)
- {
+ {
MENU *menu = item->imenu;
-
+
item->opt = opts;
-
+
if ((!(opts & O_SELECTABLE)) && item->value)
item->value = FALSE;
-
+
if (menu && (menu->status & _POSTED))
{
- Move_And_Post_Item( menu, item );
+ Move_And_Post_Item(menu, item);
_nc_Show_Menu(menu);
}
}
}
else
_nc_Default_Item.opt = opts;
-
+
RETURN(E_OK);
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : int item_opts_off(ITEM *item, Item_Options opts)
-|
+| Facility : libnmenu
+| Function : int item_opts_off(ITEM *item, Item_Options opts)
+|
| Description : Switch of the options for this item.
|
| Return Values : E_OK - success
| E_BAD_ARGUMENT - invalid options
+--------------------------------------------------------------------------*/
-NCURSES_EXPORT(int)
-item_opts_off (ITEM *item, Item_Options opts)
-{
- ITEM *citem = item; /* use a copy because set_item_opts must detect
- NULL item itself to adjust its behaviour */
+MENU_EXPORT(int)
+item_opts_off(ITEM *item, Item_Options opts)
+{
+ ITEM *citem = item; /* use a copy because set_item_opts must detect
+
+ NULL item itself to adjust its behavior */
+
+ T((T_CALLED("item_opts_off(%p,%d)"), (void *)item, opts));
if (opts & ~ALL_ITEM_OPTS)
RETURN(E_BAD_ARGUMENT);
else
{
- Normalize_Item(citem);
+ Normalize_Item(citem);
opts = citem->opt & ~(opts & ALL_ITEM_OPTS);
- return set_item_opts( item, opts );
+ returnCode(set_item_opts(item, opts));
}
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : int item_opts_on(ITEM *item, Item_Options opts)
-|
+| Facility : libnmenu
+| Function : int item_opts_on(ITEM *item, Item_Options opts)
+|
| Description : Switch on the options for this item.
|
| Return Values : E_OK - success
| E_BAD_ARGUMENT - invalid options
+--------------------------------------------------------------------------*/
-NCURSES_EXPORT(int)
-item_opts_on (ITEM *item, Item_Options opts)
+MENU_EXPORT(int)
+item_opts_on(ITEM *item, Item_Options opts)
{
- ITEM *citem = item; /* use a copy because set_item_opts must detect
- NULL item itself to adjust its behaviour */
-
+ ITEM *citem = item; /* use a copy because set_item_opts must detect
+
+ NULL item itself to adjust its behavior */
+
+ T((T_CALLED("item_opts_on(%p,%d)"), (void *)item, opts));
+
opts &= ALL_ITEM_OPTS;
if (opts & ~ALL_ITEM_OPTS)
RETURN(E_BAD_ARGUMENT);
{
Normalize_Item(citem);
opts = citem->opt | opts;
- return set_item_opts( item, opts );
+ returnCode(set_item_opts(item, opts));
}
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : Item_Options item_opts(const ITEM *item)
-|
+| Facility : libnmenu
+| Function : Item_Options item_opts(const ITEM *item)
+|
| Description : Switch of the options for this item.
|
| Return Values : Items options
+--------------------------------------------------------------------------*/
-NCURSES_EXPORT(Item_Options)
-item_opts (const ITEM * item)
+MENU_EXPORT(Item_Options)
+item_opts(const ITEM *item)
{
- return (ALL_ITEM_OPTS & Normalize_Item(item)->opt);
+ T((T_CALLED("item_opts(%p)"), (const void *)item));
+ returnItemOpts(ALL_ITEM_OPTS & Normalize_Item(item)->opt);
}
/* m_item_opt.c ends here */