Example #1
0
new_menu(ITEM ** items)
{
  int err = E_SYSTEM_ERROR;
  MENU *menu = (MENU *) calloc(1, sizeof(MENU));

  T((T_CALLED("new_menu(%p)"), items));
  if (menu)
    {
      *menu = _nc_Default_Menu;
      menu->status = 0;
      menu->rows = menu->frows;
      menu->cols = menu->fcols;
      if (items && *items)
	{
	  if (!_nc_Connect_Items(menu, items))
	    {
	      err = E_NOT_CONNECTED;
	      free(menu);
	      menu = (MENU *) 0;
	    }
	}
    }

  if (!menu)
    SET_ERROR(err);

  returnMenu(menu);
}
Example #2
0
new_menu (ITEM ** items)
{
  MENU *menu = (MENU *)calloc(1,sizeof(MENU));
  
  if (menu)
    {
      *menu = _nc_Default_Menu;
      menu->status = 0;
      menu->rows = menu->frows;
      menu->cols = menu->fcols;
      if (items && *items)
	{
	  if (!_nc_Connect_Items(menu,items))
	    {
	      free(menu);
	      menu = (MENU *)0;
	    }
	}
    }

  if (!menu)
    SET_ERROR(E_SYSTEM_ERROR);

  return(menu);
}
Example #3
0
set_menu_items (MENU * menu, ITEM ** items)
{
  if (!menu || (items && !(*items)))
    RETURN(E_BAD_ARGUMENT);
  
  if ( menu->status & _POSTED )
    RETURN(E_POSTED);
  
  if (menu->items)
    _nc_Disconnect_Items(menu);
  
  if (items)
    {
      if(!_nc_Connect_Items( menu, items )) 
	RETURN(E_CONNECTED);
    }
  
  menu->items = items;
  RETURN(E_OK);
}