/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright 2020 Thomas E. Dickey *
+ * Copyright 1998-2010,2012 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 *
#include "menu.priv.h"
-MODULE_ID("$Id: m_post.c,v 1.28 2010/01/23 21:20:11 tom Exp $")
+MODULE_ID("$Id: m_post.c,v 1.33 2020/05/24 01:40:20 anonymous.maarten Exp $")
/*---------------------------------------------------------------------------
| Facility : libnmenu
|
| Return Values : -
+--------------------------------------------------------------------------*/
-NCURSES_EXPORT(void)
+MENU_EXPORT(void)
_nc_Post_Item(const MENU * menu, const ITEM * item)
{
int i;
- it is a onevalued menu and it is the current item
- or it has a selection value
*/
- wattron(menu->win, menu->back);
+ wattron(menu->win, (int)menu->back);
if (item->value || (item == menu->curitem))
{
if (menu->marklen)
item. */
if (!(menu->opt & O_ONEVALUE) && item->value && item != menu->curitem)
{
- wattron(menu->win, menu->fore);
+ wattron(menu->win, (int)menu->fore);
isfore = TRUE;
}
waddstr(menu->win, menu->mark);
if (isfore)
{
- wattron(menu->win, menu->fore);
+ wattron(menu->win, (int)menu->fore);
isfore = FALSE;
}
}
else /* otherwise we have to wipe out the marker area */
for (ch = ' ', i = menu->marklen; i > 0; i--)
waddch(menu->win, ch);
- wattroff(menu->win, menu->back);
+ wattroff(menu->win, (int)menu->back);
count += menu->marklen;
/* First we have to calculate the attribute depending on selectability
*/
if (!(item->opt & O_SELECTABLE))
{
- wattron(menu->win, menu->grey);
+ wattron(menu->win, (int)menu->grey);
isgrey = TRUE;
}
else
{
if (item->value || item == menu->curitem)
{
- wattron(menu->win, menu->fore);
+ wattron(menu->win, (int)menu->fore);
isfore = TRUE;
}
else
{
- wattron(menu->win, menu->back);
+ wattron(menu->win, (int)menu->back);
isback = TRUE;
}
}
assert(cx >= 0 && cy >= 0);
getyx(menu->win, ncy, ncx);
if (isgrey)
- wattroff(menu->win, menu->grey);
+ wattroff(menu->win, (int)menu->grey);
else if (isfore)
- wattroff(menu->win, menu->fore);
- wattron(menu->win, menu->back);
+ wattroff(menu->win, (int)menu->fore);
+ wattron(menu->win, (int)menu->back);
for (j = 1; j < menu->spc_rows; j++)
{
if ((item_y + j) < getmaxy(menu->win))
waddch(menu->win, ' ');
}
if ((cy + j) < getmaxy(menu->win))
- mvwaddch(menu->win, cy + j, cx - 1, menu->pad);
+ (void)mvwaddch(menu->win, cy + j, cx - 1, menu->pad);
}
wmove(menu->win, ncy, ncx);
if (!isback)
- wattroff(menu->win, menu->back);
+ wattroff(menu->win, (int)menu->back);
}
}
/* Remove attributes */
if (isfore)
- wattroff(menu->win, menu->fore);
+ wattroff(menu->win, (int)menu->fore);
if (isback)
- wattroff(menu->win, menu->back);
+ wattroff(menu->win, (int)menu->back);
if (isgrey)
- wattroff(menu->win, menu->grey);
+ wattroff(menu->win, (int)menu->grey);
}
/*---------------------------------------------------------------------------
|
| Return Values : -
+--------------------------------------------------------------------------*/
-NCURSES_EXPORT(void)
+MENU_EXPORT(void)
_nc_Draw_Menu(const MENU * menu)
{
ITEM *item = menu->items[0];
{
_nc_Post_Item(menu, hitem);
- wattron(menu->win, menu->back);
+ wattron(menu->win, (int)menu->back);
if (((hitem = hitem->right) != lasthor) && hitem)
{
int i, j, cy, cx;
}
}
while (hitem && (hitem != lasthor));
- wattroff(menu->win, menu->back);
+ wattroff(menu->win, (int)menu->back);
item = item->down;
y += menu->spc_rows;
| E_BAD_STATE - Menu in userexit routine
| E_POSTED - Menu already posted
+--------------------------------------------------------------------------*/
-NCURSES_EXPORT(int)
+MENU_EXPORT(int)
post_menu(MENU * menu)
{
T((T_CALLED("post_menu(%p)"), (void *)menu));
else
RETURN(E_NOT_CONNECTED);
- menu->status |= _POSTED;
+ SetStatus(menu, _POSTED);
if (!(menu->opt & O_ONEVALUE))
{
| E_BAD_STATE - menu in userexit routine
| E_NOT_POSTED - menu is not posted
+--------------------------------------------------------------------------*/
-NCURSES_EXPORT(int)
+MENU_EXPORT(int)
unpost_menu(MENU * menu)
{
WINDOW *win;
delwin(menu->win);
menu->win = (WINDOW *)0;
- menu->status &= ~_POSTED;
+ ClrStatus(menu, _POSTED);
RETURN(E_OK);
}