Symbol: menu
lib/libmenu/m_attribs.c
46
#define Refresh_Menu(menu) \
lib/libmenu/m_attribs.c
47
if ( (menu) && ((menu)->status & _POSTED) )\
lib/libmenu/m_attribs.c
49
_nc_Draw_Menu( menu );\
lib/libmenu/m_attribs.c
50
_nc_Show_Menu( menu );\
lib/libmenu/m_attribs.c
55
MENU_EXPORT(int) NCURSES_API set_menu_ ## name (MENU* menu, chtype attr) \
lib/libmenu/m_attribs.c
57
T((T_CALLED("set_menu_" #name "(%p,%s)"), (void *) menu, _traceattr(attr))); \
lib/libmenu/m_attribs.c
60
if (menu && ( menu -> name != attr))\
lib/libmenu/m_attribs.c
62
(menu -> name) = attr;\
lib/libmenu/m_attribs.c
63
Refresh_Menu(menu);\
lib/libmenu/m_attribs.c
65
Normalize_Menu( menu ) -> name = attr;\
lib/libmenu/m_attribs.c
71
MENU_EXPORT(chtype) NCURSES_API menu_ ## name (const MENU * menu)\
lib/libmenu/m_attribs.c
73
T((T_CALLED("menu_" #name "(%p)"), (const void *) menu));\
lib/libmenu/m_attribs.c
74
returnAttr(Normalize_Menu( menu ) -> name);\
lib/libmenu/m_cursor.c
100
if ((menu->opt & O_SHOWMATCH) && (menu->pindex > 0))
lib/libmenu/m_cursor.c
101
x += (menu->pindex + menu->marklen - 1);
lib/libmenu/m_cursor.c
56
_nc_menu_cursor_pos(const MENU *menu, const ITEM *item, int *pY, int *pX)
lib/libmenu/m_cursor.c
58
if (!menu || !pX || !pY)
lib/libmenu/m_cursor.c
63
item = menu->curitem;
lib/libmenu/m_cursor.c
66
if (!(menu->status & _POSTED))
lib/libmenu/m_cursor.c
69
*pX = item->x * (menu->spc_cols + menu->itemlen);
lib/libmenu/m_cursor.c
70
*pY = (item->y - menu->toprow) * menu->spc_rows;
lib/libmenu/m_cursor.c
86
pos_menu_cursor(const MENU *menu)
lib/libmenu/m_cursor.c
89
int err = _nc_menu_cursor_pos(menu, (ITEM *)0, &y, &x);
lib/libmenu/m_cursor.c
91
T((T_CALLED("pos_menu_cursor(%p)"), (const void *)menu));
lib/libmenu/m_cursor.c
95
WINDOW *win = Get_Menu_UserWin(menu);
lib/libmenu/m_cursor.c
96
WINDOW *sub = menu->usersub ? menu->usersub : win;
lib/libmenu/m_driver.c
122
(MENU *menu, int ch, ITEM **item)
lib/libmenu/m_driver.c
128
(void *)menu, ch, (void *)item));
lib/libmenu/m_driver.c
130
assert(menu && item && *item);
lib/libmenu/m_driver.c
137
if ((menu->pindex + 1) > menu->namelen)
lib/libmenu/m_driver.c
140
Add_Character_To_Pattern(menu, ch);
lib/libmenu/m_driver.c
147
idx = menu->nitems - 1;
lib/libmenu/m_driver.c
157
idx = menu->nitems - 1;
lib/libmenu/m_driver.c
161
if (++idx >= menu->nitems)
lib/libmenu/m_driver.c
164
if (Is_Sub_String((bool)((menu->opt & O_IGNORECASE) != 0),
lib/libmenu/m_driver.c
165
menu->pattern,
lib/libmenu/m_driver.c
166
menu->items[idx]->name.str)
lib/libmenu/m_driver.c
178
*item = menu->items[idx];
lib/libmenu/m_driver.c
193
if (ch && ch != BS && menu->pindex > 0)
lib/libmenu/m_driver.c
196
Remove_Character_From_Pattern(menu);
lib/libmenu/m_driver.c
215
menu_driver(MENU *menu, int c)
lib/libmenu/m_driver.c
227
T((T_CALLED("menu_driver(%p,%d)"), (void *)menu, c));
lib/libmenu/m_driver.c
229
if (!menu)
lib/libmenu/m_driver.c
232
if (menu->status & _IN_DRIVER)
lib/libmenu/m_driver.c
234
if (!(menu->status & _POSTED))
lib/libmenu/m_driver.c
237
item = menu->curitem;
lib/libmenu/m_driver.c
239
my_top_row = menu->toprow;
lib/libmenu/m_driver.c
249
assert(menu->pattern);
lib/libmenu/m_driver.c
250
Reset_Pattern(menu);
lib/libmenu/m_driver.c
288
if ((my_top_row + menu->arows >= menu->rows) || !(item->down))
lib/libmenu/m_driver.c
304
rdiff = menu->rows - (menu->arows + my_top_row);
lib/libmenu/m_driver.c
305
if (rdiff > menu->arows)
lib/libmenu/m_driver.c
306
rdiff = menu->arows;
lib/libmenu/m_driver.c
319
rdiff = (menu->arows < my_top_row) ? menu->arows : my_top_row;
lib/libmenu/m_driver.c
332
item = menu->items[0];
lib/libmenu/m_driver.c
337
item = menu->items[menu->nitems - 1];
lib/libmenu/m_driver.c
342
if ((item->index + 1) >= menu->nitems)
lib/libmenu/m_driver.c
344
if (menu->opt & O_NONCYCLIC)
lib/libmenu/m_driver.c
347
item = menu->items[0];
lib/libmenu/m_driver.c
350
item = menu->items[item->index + 1];
lib/libmenu/m_driver.c
357
if (menu->opt & O_NONCYCLIC)
lib/libmenu/m_driver.c
360
item = menu->items[menu->nitems - 1];
lib/libmenu/m_driver.c
363
item = menu->items[item->index - 1];
lib/libmenu/m_driver.c
368
if (menu->opt & O_ONEVALUE)
lib/libmenu/m_driver.c
374
if (menu->curitem->opt & O_SELECTABLE)
lib/libmenu/m_driver.c
376
menu->curitem->value = !menu->curitem->value;
lib/libmenu/m_driver.c
377
Move_And_Post_Item(menu, menu->curitem);
lib/libmenu/m_driver.c
378
_nc_Show_Menu(menu);
lib/libmenu/m_driver.c
392
if (menu->pindex > 0)
lib/libmenu/m_driver.c
394
assert(menu->pattern);
lib/libmenu/m_driver.c
395
Remove_Character_From_Pattern(menu);
lib/libmenu/m_driver.c
396
pos_menu_cursor(menu);
lib/libmenu/m_driver.c
404
assert(menu->pattern);
lib/libmenu/m_driver.c
405
if (menu->pattern[0])
lib/libmenu/m_driver.c
406
result = _nc_Match_Next_Character_In_Item_Name(menu, 0, &item);
lib/libmenu/m_driver.c
409
if ((item->index + 1) < menu->nitems)
lib/libmenu/m_driver.c
410
item = menu->items[item->index + 1];
lib/libmenu/m_driver.c
413
if (menu->opt & O_NONCYCLIC)
lib/libmenu/m_driver.c
416
item = menu->items[0];
lib/libmenu/m_driver.c
423
assert(menu->pattern);
lib/libmenu/m_driver.c
424
if (menu->pattern[0])
lib/libmenu/m_driver.c
425
result = _nc_Match_Next_Character_In_Item_Name(menu, BS, &item);
lib/libmenu/m_driver.c
429
item = menu->items[item->index - 1];
lib/libmenu/m_driver.c
432
if (menu->opt & O_NONCYCLIC)
lib/libmenu/m_driver.c
435
item = menu->items[menu->nitems - 1];
lib/libmenu/m_driver.c
449
result = _nc_Match_Next_Character_In_Item_Name(menu, c, &item);
lib/libmenu/m_driver.c
454
WINDOW *uwin = Get_Menu_UserWin(menu);
lib/libmenu/m_driver.c
464
WINDOW *sub = Get_Menu_Window(menu);
lib/libmenu/m_driver.c
475
result = menu_driver(menu, REQ_SCR_ULINE);
lib/libmenu/m_driver.c
477
result = menu_driver(menu, REQ_SCR_UPAGE);
lib/libmenu/m_driver.c
479
result = menu_driver(menu, REQ_FIRST_ITEM);
lib/libmenu/m_driver.c
48
#define Remove_Character_From_Pattern(menu) \
lib/libmenu/m_driver.c
487
result = menu_driver(menu, REQ_SCR_DLINE);
lib/libmenu/m_driver.c
489
result = menu_driver(menu, REQ_SCR_DPAGE);
lib/libmenu/m_driver.c
49
(menu)->pattern[--((menu)->pindex)] = '\0'
lib/libmenu/m_driver.c
491
result = menu_driver(menu, REQ_LAST_ITEM);
lib/libmenu/m_driver.c
504
for (i = 0; i < menu->nitems; i++)
lib/libmenu/m_driver.c
506
int err = _nc_menu_cursor_pos(menu,
lib/libmenu/m_driver.c
507
menu->items[i],
lib/libmenu/m_driver.c
514
(rx < x + menu->itemlen))
lib/libmenu/m_driver.c
516
item = menu->items[i];
lib/libmenu/m_driver.c
52
#define Add_Character_To_Pattern(menu,ch) \
lib/libmenu/m_driver.c
53
{ (menu)->pattern[((menu)->pindex)++] = (char) (ch);\
lib/libmenu/m_driver.c
530
_nc_New_TopRow_and_CurrentItem(menu,
lib/libmenu/m_driver.c
533
menu_driver(menu, REQ_TOGGLE_ITEM);
lib/libmenu/m_driver.c
54
(menu)->pattern[(menu)->pindex] = '\0'; }
lib/libmenu/m_driver.c
543
if (menu->opt & O_MOUSE_MENU)
lib/libmenu/m_driver.c
563
else if (item->y >= (my_top_row + menu->arows))
lib/libmenu/m_driver.c
564
my_top_row = item->y - menu->arows + 1;
lib/libmenu/m_driver.c
566
_nc_New_TopRow_and_CurrentItem(menu, my_top_row, item);
lib/libmenu/m_format.c
100
menu->toprow = 0;
lib/libmenu/m_format.c
101
menu->curitem = *(menu->items);
lib/libmenu/m_format.c
102
assert(menu->curitem);
lib/libmenu/m_format.c
103
SetStatus(menu, _LINK_NEEDED);
lib/libmenu/m_format.c
104
_nc_Calculate_Item_Length_and_Width(menu);
lib/libmenu/m_format.c
127
menu_format(const MENU *menu, int *rows, int *cols)
lib/libmenu/m_format.c
130
*rows = Normalize_Menu(menu)->frows;
lib/libmenu/m_format.c
132
*cols = Normalize_Menu(menu)->fcols;
lib/libmenu/m_format.c
62
set_menu_format(MENU *menu, int rows, int cols)
lib/libmenu/m_format.c
65
T((T_CALLED("set_menu_format(%p,%d,%d)"), (void *)menu, rows, cols));
lib/libmenu/m_format.c
70
if (menu)
lib/libmenu/m_format.c
74
if (menu->status & _POSTED)
lib/libmenu/m_format.c
77
if (!(menu->items))
lib/libmenu/m_format.c
81
rows = menu->frows;
lib/libmenu/m_format.c
83
cols = menu->fcols;
lib/libmenu/m_format.c
85
if (menu->pattern)
lib/libmenu/m_format.c
86
Reset_Pattern(menu);
lib/libmenu/m_format.c
88
menu->frows = (short)rows;
lib/libmenu/m_format.c
89
menu->fcols = (short)cols;
lib/libmenu/m_format.c
92
total_rows = (menu->nitems - 1) / cols + 1;
lib/libmenu/m_format.c
93
total_cols = (menu->opt & O_ROWMAJOR) ?
lib/libmenu/m_format.c
94
minimum(menu->nitems, cols) :
lib/libmenu/m_format.c
95
(menu->nitems - 1) / total_rows + 1;
lib/libmenu/m_format.c
97
menu->rows = (short)total_rows;
lib/libmenu/m_format.c
98
menu->cols = (short)total_cols;
lib/libmenu/m_format.c
99
menu->arows = (short)minimum(total_rows, rows);
lib/libmenu/m_global.c
113
ComputeMaximum_NameDesc_Lengths(MENU *menu)
lib/libmenu/m_global.c
119
assert(menu && menu->items);
lib/libmenu/m_global.c
120
for (items = menu->items; *items; items++)
lib/libmenu/m_global.c
132
menu->namelen = (short)MaximumNameLength;
lib/libmenu/m_global.c
133
menu->desclen = (short)MaximumDescriptionLength;
lib/libmenu/m_global.c
134
T(("ComputeMaximum_NameDesc_Lengths %d,%d", menu->namelen, menu->desclen));
lib/libmenu/m_global.c
147
ResetConnectionInfo(MENU *menu, ITEM **items)
lib/libmenu/m_global.c
151
assert(menu && items);
lib/libmenu/m_global.c
157
if (menu->pattern)
lib/libmenu/m_global.c
158
free(menu->pattern);
lib/libmenu/m_global.c
159
menu->pattern = (char *)0;
lib/libmenu/m_global.c
160
menu->pindex = 0;
lib/libmenu/m_global.c
161
menu->items = (ITEM **)0;
lib/libmenu/m_global.c
162
menu->nitems = 0;
lib/libmenu/m_global.c
177
_nc_Connect_Items(MENU *menu, ITEM **items)
lib/libmenu/m_global.c
181
if (menu && items)
lib/libmenu/m_global.c
198
if (menu->opt & O_ONEVALUE)
lib/libmenu/m_global.c
203
(*item)->imenu = menu;
lib/libmenu/m_global.c
212
menu->items = items;
lib/libmenu/m_global.c
213
menu->nitems = (short)ItemCount;
lib/libmenu/m_global.c
214
ComputeMaximum_NameDesc_Lengths(menu);
lib/libmenu/m_global.c
215
if ((menu->pattern = typeMalloc(char, (unsigned)(1 + menu->namelen))))
lib/libmenu/m_global.c
217
Reset_Pattern(menu);
lib/libmenu/m_global.c
218
set_menu_format(menu, menu->frows, menu->fcols);
lib/libmenu/m_global.c
219
menu->curitem = *items;
lib/libmenu/m_global.c
220
menu->toprow = 0;
lib/libmenu/m_global.c
227
ResetConnectionInfo(menu, items);
lib/libmenu/m_global.c
240
_nc_Disconnect_Items(MENU *menu)
lib/libmenu/m_global.c
242
if (menu && menu->items)
lib/libmenu/m_global.c
243
ResetConnectionInfo(menu, menu->items);
lib/libmenu/m_global.c
295
calculate_actual_width(MENU *menu, bool name)
lib/libmenu/m_global.c
299
assert(menu && menu->items);
lib/libmenu/m_global.c
301
if (menu->items != 0)
lib/libmenu/m_global.c
305
for (items = menu->items; *items; items++)
lib/libmenu/m_global.c
317
width = (name ? menu->namelen : menu->desclen);
lib/libmenu/m_global.c
323
name ? menu->namelen : menu->desclen));
lib/libmenu/m_global.c
327
#define calculate_actual_width(menu, name) (name ? menu->namelen : menu->desclen)
lib/libmenu/m_global.c
340
_nc_Calculate_Item_Length_and_Width(MENU *menu)
lib/libmenu/m_global.c
344
assert(menu);
lib/libmenu/m_global.c
346
menu->height = (short)(1 + menu->spc_rows * (menu->arows - 1));
lib/libmenu/m_global.c
348
l = calculate_actual_width(menu, TRUE);
lib/libmenu/m_global.c
349
l += menu->marklen;
lib/libmenu/m_global.c
351
if ((menu->opt & O_SHOWDESC) && (menu->desclen > 0))
lib/libmenu/m_global.c
353
l += calculate_actual_width(menu, FALSE);
lib/libmenu/m_global.c
354
l += menu->spc_desc;
lib/libmenu/m_global.c
357
menu->itemlen = (short)l;
lib/libmenu/m_global.c
358
l *= menu->cols;
lib/libmenu/m_global.c
359
l += (menu->cols - 1) * menu->spc_cols; /* for the padding between the columns */
lib/libmenu/m_global.c
360
menu->width = (short)l;
lib/libmenu/m_global.c
363
menu->cols,
lib/libmenu/m_global.c
364
menu->itemlen,
lib/libmenu/m_global.c
365
menu->width));
lib/libmenu/m_global.c
379
_nc_Link_Items(MENU *menu)
lib/libmenu/m_global.c
381
if (menu && menu->items && *(menu->items))
lib/libmenu/m_global.c
385
int Number_Of_Items = menu->nitems;
lib/libmenu/m_global.c
389
bool cycle = (menu->opt & O_NONCYCLIC) ? FALSE : TRUE;
lib/libmenu/m_global.c
391
ClrStatus(menu, _LINK_NEEDED);
lib/libmenu/m_global.c
393
if (menu->opt & O_ROWMAJOR)
lib/libmenu/m_global.c
395
int Number_Of_Columns = menu->cols;
lib/libmenu/m_global.c
399
item = menu->items[i];
lib/libmenu/m_global.c
406
menu->items[i - 1] :
lib/libmenu/m_global.c
407
(cycle ? menu->items[(Last_in_Row >= Number_Of_Items) ?
lib/libmenu/m_global.c
415
menu->items[i + 1] :
lib/libmenu/m_global.c
416
(cycle ? menu->items[row * Number_Of_Columns] :
lib/libmenu/m_global.c
420
Last_in_Column = (menu->rows - 1) * Number_Of_Columns + col;
lib/libmenu/m_global.c
422
item->up = (row) ? menu->items[i - Number_Of_Columns] :
lib/libmenu/m_global.c
423
(cycle ? menu->items[(Last_in_Column >= Number_Of_Items) ?
lib/libmenu/m_global.c
430
menu->items[i + Number_Of_Columns] :
lib/libmenu/m_global.c
431
(cycle ? menu->items[(row + 1) < menu->rows ?
lib/libmenu/m_global.c
445
int Number_Of_Rows = menu->rows;
lib/libmenu/m_global.c
450
item = menu->items[i = (col * Number_Of_Rows + row)];
lib/libmenu/m_global.c
452
Last_in_Column = (menu->cols - 1) * Number_Of_Rows + row;
lib/libmenu/m_global.c
455
menu->items[i - Number_Of_Rows] :
lib/libmenu/m_global.c
457
menu->items[Last_in_Column - Number_Of_Rows] :
lib/libmenu/m_global.c
458
menu->items[Last_in_Column] :
lib/libmenu/m_global.c
463
menu->items[i + Number_Of_Rows] :
lib/libmenu/m_global.c
464
(cycle ? menu->items[row] : (ITEM *)0);
lib/libmenu/m_global.c
469
menu->items[i - 1] :
lib/libmenu/m_global.c
471
menu->items[(Last_in_Row >= Number_Of_Items) ?
lib/libmenu/m_global.c
478
(menu->items[((i + 1) < Number_Of_Items) ?
lib/libmenu/m_global.c
482
menu->items[col * Number_Of_Rows] :
lib/libmenu/m_global.c
507
_nc_Show_Menu(const MENU *menu)
lib/libmenu/m_global.c
509
assert(menu);
lib/libmenu/m_global.c
510
if ((menu->status & _POSTED) && !(menu->status & _IN_DRIVER))
lib/libmenu/m_global.c
516
assert(menu->sub);
lib/libmenu/m_global.c
517
mvderwin(menu->sub, menu->spc_rows * menu->toprow, 0);
lib/libmenu/m_global.c
518
win = Get_Menu_Window(menu);
lib/libmenu/m_global.c
523
if (menu->height < maxy)
lib/libmenu/m_global.c
524
maxy = menu->height;
lib/libmenu/m_global.c
525
if (menu->width < maxx)
lib/libmenu/m_global.c
526
maxx = menu->width;
lib/libmenu/m_global.c
528
copywin(menu->sub, win, 0, 0, 0, 0, maxy - 1, maxx - 1, 0);
lib/libmenu/m_global.c
529
pos_menu_cursor(menu);
lib/libmenu/m_global.c
548
MENU *menu,
lib/libmenu/m_global.c
552
assert(menu);
lib/libmenu/m_global.c
553
if (menu->status & _POSTED)
lib/libmenu/m_global.c
559
if (new_current_item != menu->curitem)
lib/libmenu/m_global.c
561
Call_Hook(menu, itemterm);
lib/libmenu/m_global.c
564
if (new_toprow != menu->toprow)
lib/libmenu/m_global.c
566
Call_Hook(menu, menuterm);
lib/libmenu/m_global.c
570
cur_item = menu->curitem;
lib/libmenu/m_global.c
572
menu->toprow = (short)(((menu->rows - menu->frows) >= 0)
lib/libmenu/m_global.c
573
? min(menu->rows - menu->frows, new_toprow)
lib/libmenu/m_global.c
575
menu->curitem = new_current_item;
lib/libmenu/m_global.c
579
Call_Hook(menu, menuinit);
lib/libmenu/m_global.c
584
Move_To_Current_Item(menu, cur_item);
lib/libmenu/m_global.c
585
Call_Hook(menu, iteminit);
lib/libmenu/m_global.c
589
_nc_Show_Menu(menu);
lib/libmenu/m_global.c
592
pos_menu_cursor(menu);
lib/libmenu/m_global.c
596
menu->toprow = (short)(((menu->rows - menu->frows) >= 0)
lib/libmenu/m_global.c
597
? min(menu->rows - menu->frows, new_toprow)
lib/libmenu/m_global.c
599
menu->curitem = new_current_item;
lib/libmenu/m_hook.c
107
GEN_HOOK_GET_FUNCTION(menu, term)
lib/libmenu/m_hook.c
47
MENU_EXPORT(int) NCURSES_API set_ ## typ ## _ ## name (MENU *menu, Menu_Hook func )\
lib/libmenu/m_hook.c
50
T((T_CALLED("set_" #typ "_" #name "(%p,%s)"), (void *) menu, TR_FUNC_ARG(0, func)));\
lib/libmenu/m_hook.c
51
(Normalize_Menu(menu) -> typ ## name = func );\
lib/libmenu/m_hook.c
57
MENU_EXPORT(Menu_Hook) NCURSES_API typ ## _ ## name ( const MENU *menu )\
lib/libmenu/m_hook.c
59
T((T_CALLED(#typ "_" #name "(%p)"), (const void *) menu));\
lib/libmenu/m_hook.c
60
returnMenuHook(Normalize_Menu(menu) -> typ ## name);\
lib/libmenu/m_hook.c
72
GEN_HOOK_SET_FUNCTION(menu, init)
lib/libmenu/m_hook.c
84
GEN_HOOK_GET_FUNCTION(menu, init)
lib/libmenu/m_hook.c
95
GEN_HOOK_SET_FUNCTION(menu, term)
lib/libmenu/m_item_cur.c
54
set_current_item(MENU *menu, ITEM *item)
lib/libmenu/m_item_cur.c
56
T((T_CALLED("set_current_item(%p,%p)"), (void *)menu, (void *)item));
lib/libmenu/m_item_cur.c
58
if (menu && item && (item->imenu == menu))
lib/libmenu/m_item_cur.c
60
if (menu->status & _IN_DRIVER)
lib/libmenu/m_item_cur.c
63
assert(menu->curitem);
lib/libmenu/m_item_cur.c
64
if (item != menu->curitem)
lib/libmenu/m_item_cur.c
66
if (menu->status & _LINK_NEEDED)
lib/libmenu/m_item_cur.c
72
_nc_Link_Items(menu);
lib/libmenu/m_item_cur.c
74
assert(menu->pattern);
lib/libmenu/m_item_cur.c
75
Reset_Pattern(menu);
lib/libmenu/m_item_cur.c
77
Adjust_Current_Item(menu, menu->toprow, item);
lib/libmenu/m_item_cur.c
95
current_item(const MENU *menu)
lib/libmenu/m_item_cur.c
97
T((T_CALLED("current_item(%p)"), (const void *)menu));
lib/libmenu/m_item_cur.c
98
returnItem((menu && menu->items) ? menu->curitem : (ITEM *)0);
lib/libmenu/m_item_new.c
201
set_menu_mark(MENU *menu, const char *mark)
lib/libmenu/m_item_new.c
205
T((T_CALLED("set_menu_mark(%p,%s)"), (void *)menu, _nc_visbuf(mark)));
lib/libmenu/m_item_new.c
212
if (menu)
lib/libmenu/m_item_new.c
214
char *old_mark = menu->mark;
lib/libmenu/m_item_new.c
215
unsigned short old_status = menu->status;
lib/libmenu/m_item_new.c
217
if (menu->status & _POSTED)
lib/libmenu/m_item_new.c
221
if (menu->marklen != l)
lib/libmenu/m_item_new.c
224
menu->marklen = l;
lib/libmenu/m_item_new.c
227
menu->mark = strdup(mark);
lib/libmenu/m_item_new.c
228
if (menu->mark)
lib/libmenu/m_item_new.c
230
if (menu != &_nc_Default_Menu)
lib/libmenu/m_item_new.c
231
SetStatus(menu, _MARK_ALLOCATED);
lib/libmenu/m_item_new.c
235
menu->mark = old_mark;
lib/libmenu/m_item_new.c
236
menu->marklen = (short)((old_mark != 0) ? strlen(old_mark) : 0);
lib/libmenu/m_item_new.c
241
menu->mark = (char *)0;
lib/libmenu/m_item_new.c
246
if (menu->status & _POSTED)
lib/libmenu/m_item_new.c
248
_nc_Draw_Menu(menu);
lib/libmenu/m_item_new.c
249
_nc_Show_Menu(menu);
lib/libmenu/m_item_new.c
254
_nc_Calculate_Item_Length_and_Width(menu);
lib/libmenu/m_item_new.c
273
menu_mark(const MENU *menu)
lib/libmenu/m_item_new.c
275
T((T_CALLED("menu_mark(%p)"), (const void *)menu));
lib/libmenu/m_item_new.c
276
returnPtr(Normalize_Menu(menu)->mark);
lib/libmenu/m_item_opt.c
70
MENU *menu = item->imenu;
lib/libmenu/m_item_opt.c
77
if (menu && (menu->status & _POSTED))
lib/libmenu/m_item_opt.c
79
Move_And_Post_Item(menu, item);
lib/libmenu/m_item_opt.c
80
_nc_Show_Menu(menu);
lib/libmenu/m_item_top.c
100
T((T_CALLED("top_row(%p)"), (const void *)menu));
lib/libmenu/m_item_top.c
101
if (menu && menu->items && *(menu->items))
lib/libmenu/m_item_top.c
103
assert((menu->toprow >= 0) && (menu->toprow < menu->rows));
lib/libmenu/m_item_top.c
104
returnCode(menu->toprow);
lib/libmenu/m_item_top.c
56
set_top_row(MENU *menu, int row)
lib/libmenu/m_item_top.c
58
T((T_CALLED("set_top_row(%p,%d)"), (void *)menu, row));
lib/libmenu/m_item_top.c
60
if (menu)
lib/libmenu/m_item_top.c
62
if (menu->status & _IN_DRIVER)
lib/libmenu/m_item_top.c
64
if (menu->items == (ITEM **)0)
lib/libmenu/m_item_top.c
67
if ((row < 0) || (row > (menu->rows - menu->arows)))
lib/libmenu/m_item_top.c
73
if (row != menu->toprow)
lib/libmenu/m_item_top.c
77
if (menu->status & _LINK_NEEDED)
lib/libmenu/m_item_top.c
78
_nc_Link_Items(menu);
lib/libmenu/m_item_top.c
80
item = menu->items[(menu->opt & O_ROWMAJOR) ? (row * menu->cols) : row];
lib/libmenu/m_item_top.c
81
assert(menu->pattern);
lib/libmenu/m_item_top.c
82
Reset_Pattern(menu);
lib/libmenu/m_item_top.c
83
_nc_New_TopRow_and_CurrentItem(menu, row, item);
lib/libmenu/m_item_top.c
98
top_row(const MENU *menu)
lib/libmenu/m_item_val.c
64
MENU *menu = item->imenu;
lib/libmenu/m_item_val.c
67
(menu && (menu->opt & O_ONEVALUE)))
lib/libmenu/m_item_val.c
73
if (menu)
lib/libmenu/m_item_val.c
75
if (menu->status & _POSTED)
lib/libmenu/m_item_val.c
77
Move_And_Post_Item(menu, item);
lib/libmenu/m_item_val.c
78
_nc_Show_Menu(menu);
lib/libmenu/m_item_vis.c
58
MENU *menu;
lib/libmenu/m_item_vis.c
62
(menu = item->imenu) &&
lib/libmenu/m_item_vis.c
63
(menu->status & _POSTED) &&
lib/libmenu/m_item_vis.c
64
((menu->toprow + menu->arows) > (item->y)) &&
lib/libmenu/m_item_vis.c
65
(item->y >= menu->toprow))
lib/libmenu/m_items.c
107
item_count(const MENU *menu)
lib/libmenu/m_items.c
109
T((T_CALLED("item_count(%p)"), (const void *)menu));
lib/libmenu/m_items.c
110
returnCode(menu ? menu->nitems : -1);
lib/libmenu/m_items.c
59
set_menu_items(MENU *menu, ITEM **items)
lib/libmenu/m_items.c
61
T((T_CALLED("set_menu_items(%p,%p)"), (void *)menu, (void *)items));
lib/libmenu/m_items.c
63
if (!menu || (items && !(*items)))
lib/libmenu/m_items.c
66
if (menu->status & _POSTED)
lib/libmenu/m_items.c
69
if (menu->items)
lib/libmenu/m_items.c
70
_nc_Disconnect_Items(menu);
lib/libmenu/m_items.c
74
if (!_nc_Connect_Items(menu, items))
lib/libmenu/m_items.c
78
menu->items = items;
lib/libmenu/m_items.c
91
menu_items(const MENU *menu)
lib/libmenu/m_items.c
93
T((T_CALLED("menu_items(%p)"), (const void *)menu));
lib/libmenu/m_items.c
94
returnItemPtr(menu ? menu->items : (ITEM **)0);
lib/libmenu/m_new.c
127
free_menu(MENU *menu)
lib/libmenu/m_new.c
129
T((T_CALLED("free_menu(%p)"), (void *)menu));
lib/libmenu/m_new.c
130
if (!menu)
lib/libmenu/m_new.c
133
if (menu->status & _POSTED)
lib/libmenu/m_new.c
136
if (menu->items)
lib/libmenu/m_new.c
137
_nc_Disconnect_Items(menu);
lib/libmenu/m_new.c
139
if ((menu->status & _MARK_ALLOCATED) && menu->mark)
lib/libmenu/m_new.c
140
free(menu->mark);
lib/libmenu/m_new.c
142
free(menu);
lib/libmenu/m_new.c
60
MENU *menu = typeCalloc(MENU, 1);
lib/libmenu/m_new.c
63
if (menu)
lib/libmenu/m_new.c
65
T((T_CREATE("menu %p"), (void *)menu));
lib/libmenu/m_new.c
66
*menu = _nc_Default_Menu;
lib/libmenu/m_new.c
67
menu->status = 0;
lib/libmenu/m_new.c
68
menu->rows = menu->frows;
lib/libmenu/m_new.c
69
menu->cols = menu->fcols;
lib/libmenu/m_new.c
74
menu->userwin = SP_PARM->_stdscr;
lib/libmenu/m_new.c
75
menu->usersub = SP_PARM->_stdscr;
lib/libmenu/m_new.c
79
if (!_nc_Connect_Items(menu, items))
lib/libmenu/m_new.c
82
free(menu);
lib/libmenu/m_new.c
83
menu = (MENU *)0;
lib/libmenu/m_new.c
90
if (!menu)
lib/libmenu/m_new.c
93
returnMenu(menu);
lib/libmenu/m_opts.c
119
menu_opts_off(MENU *menu, Menu_Options opts)
lib/libmenu/m_opts.c
121
MENU *cmenu = menu; /* use a copy because set_menu_opts must detect
lib/libmenu/m_opts.c
125
T((T_CALLED("menu_opts_off(%p,%d)"), (void *)menu, opts));
lib/libmenu/m_opts.c
134
returnCode(set_menu_opts(menu, opts));
lib/libmenu/m_opts.c
152
menu_opts_on(MENU *menu, Menu_Options opts)
lib/libmenu/m_opts.c
154
MENU *cmenu = menu; /* use a copy because set_menu_opts must detect
lib/libmenu/m_opts.c
158
T((T_CALLED("menu_opts_on(%p,%d)"), (void *)menu, opts));
lib/libmenu/m_opts.c
167
returnCode(set_menu_opts(menu, opts));
lib/libmenu/m_opts.c
180
menu_opts(const MENU *menu)
lib/libmenu/m_opts.c
182
T((T_CALLED("menu_opts(%p)"), (const void *)menu));
lib/libmenu/m_opts.c
183
returnMenuOpts(ALL_MENU_OPTS & Normalize_Menu(menu)->opt);
lib/libmenu/m_opts.c
59
set_menu_opts(MENU *menu, Menu_Options opts)
lib/libmenu/m_opts.c
61
T((T_CALLED("set_menu_opts(%p,%d)"), (void *)menu, opts));
lib/libmenu/m_opts.c
68
if (menu)
lib/libmenu/m_opts.c
70
if (menu->status & _POSTED)
lib/libmenu/m_opts.c
73
if ((opts & O_ROWMAJOR) != (menu->opt & O_ROWMAJOR))
lib/libmenu/m_opts.c
76
if (menu->items && menu->items[0])
lib/libmenu/m_opts.c
78
menu->toprow = 0;
lib/libmenu/m_opts.c
79
menu->curitem = menu->items[0];
lib/libmenu/m_opts.c
80
assert(menu->curitem);
lib/libmenu/m_opts.c
81
set_menu_format(menu, menu->frows, menu->fcols);
lib/libmenu/m_opts.c
85
menu->opt = opts;
lib/libmenu/m_opts.c
91
if (((item = menu->items) != (ITEM **)0))
lib/libmenu/m_opts.c
97
_nc_Calculate_Item_Length_and_Width(menu);
lib/libmenu/m_pad.c
46
#define Refresh_Menu(menu) \
lib/libmenu/m_pad.c
47
if ( (menu) && ((menu)->status & _POSTED) )\
lib/libmenu/m_pad.c
49
_nc_Draw_Menu( menu );\
lib/libmenu/m_pad.c
50
_nc_Show_Menu( menu ); \
lib/libmenu/m_pad.c
65
set_menu_pad(MENU *menu, int pad)
lib/libmenu/m_pad.c
67
bool do_refresh = (menu != (MENU *)0);
lib/libmenu/m_pad.c
69
T((T_CALLED("set_menu_pad(%p,%d)"), (void *)menu, pad));
lib/libmenu/m_pad.c
74
Normalize_Menu(menu);
lib/libmenu/m_pad.c
75
menu->pad = (unsigned char)pad;
lib/libmenu/m_pad.c
78
Refresh_Menu(menu);
lib/libmenu/m_pad.c
92
menu_pad(const MENU *menu)
lib/libmenu/m_pad.c
94
T((T_CALLED("menu_pad(%p)"), (const void *)menu));
lib/libmenu/m_pad.c
95
returnCode(Normalize_Menu(menu)->pad);
lib/libmenu/m_pattern.c
103
if (menu->status & _LINK_NEEDED)
lib/libmenu/m_pattern.c
104
_nc_Link_Items(menu);
lib/libmenu/m_pattern.c
106
matchpos = menu->toprow;
lib/libmenu/m_pattern.c
107
matchitem = menu->curitem;
lib/libmenu/m_pattern.c
113
(_nc_Match_Next_Character_In_Item_Name(menu, *p, &matchitem) != E_OK))
lib/libmenu/m_pattern.c
115
Reset_Pattern(menu);
lib/libmenu/m_pattern.c
116
pos_menu_cursor(menu);
lib/libmenu/m_pattern.c
123
Adjust_Current_Item(menu, matchpos, matchitem);
lib/libmenu/m_pattern.c
57
menu_pattern(const MENU *menu)
lib/libmenu/m_pattern.c
61
T((T_CALLED("menu_pattern(%p)"), (const void *)menu));
lib/libmenu/m_pattern.c
62
returnPtr(menu ? (menu->pattern ? menu->pattern : empty) : 0);
lib/libmenu/m_pattern.c
79
set_menu_pattern(MENU *menu, const char *p)
lib/libmenu/m_pattern.c
84
T((T_CALLED("set_menu_pattern(%p,%s)"), (void *)menu, _nc_visbuf(p)));
lib/libmenu/m_pattern.c
86
if (!menu || !p)
lib/libmenu/m_pattern.c
89
if (!(menu->items))
lib/libmenu/m_pattern.c
92
if (menu->status & _IN_DRIVER)
lib/libmenu/m_pattern.c
95
Reset_Pattern(menu);
lib/libmenu/m_pattern.c
99
pos_menu_cursor(menu);
lib/libmenu/m_post.c
106
wattron(menu->win, (int)menu->grey);
lib/libmenu/m_post.c
111
if (item->value || item == menu->curitem)
lib/libmenu/m_post.c
113
wattron(menu->win, (int)menu->fore);
lib/libmenu/m_post.c
118
wattron(menu->win, (int)menu->back);
lib/libmenu/m_post.c
123
waddnstr(menu->win, item->name.str, item->name.length);
lib/libmenu/m_post.c
125
for (ch = ' ', i = menu->namelen - name_len; i > 0; i--)
lib/libmenu/m_post.c
127
waddch(menu->win, ch);
lib/libmenu/m_post.c
129
count += menu->namelen;
lib/libmenu/m_post.c
132
if ((menu->opt & O_SHOWDESC) && menu->desclen > 0)
lib/libmenu/m_post.c
134
int m = menu->spc_desc / 2;
lib/libmenu/m_post.c
138
for (ch = ' ', i = 0; i < menu->spc_desc; i++)
lib/libmenu/m_post.c
142
waddch(menu->win, menu->pad);
lib/libmenu/m_post.c
143
getyx(menu->win, cy, cx);
lib/libmenu/m_post.c
146
waddch(menu->win, ch);
lib/libmenu/m_post.c
149
waddnstr(menu->win, item->description.str, item->description.length);
lib/libmenu/m_post.c
151
for (ch = ' ', i = menu->desclen - desc_len; i > 0; i--)
lib/libmenu/m_post.c
153
waddch(menu->win, ch);
lib/libmenu/m_post.c
155
count += menu->desclen + menu->spc_desc;
lib/libmenu/m_post.c
157
if (menu->spc_rows > 1)
lib/libmenu/m_post.c
162
getyx(menu->win, ncy, ncx);
lib/libmenu/m_post.c
164
wattroff(menu->win, (int)menu->grey);
lib/libmenu/m_post.c
166
wattroff(menu->win, (int)menu->fore);
lib/libmenu/m_post.c
167
wattron(menu->win, (int)menu->back);
lib/libmenu/m_post.c
168
for (j = 1; j < menu->spc_rows; j++)
lib/libmenu/m_post.c
170
if ((item_y + j) < getmaxy(menu->win))
lib/libmenu/m_post.c
172
wmove(menu->win, item_y + j, item_x);
lib/libmenu/m_post.c
174
waddch(menu->win, ' ');
lib/libmenu/m_post.c
176
if ((cy + j) < getmaxy(menu->win))
lib/libmenu/m_post.c
177
(void)mvwaddch(menu->win, cy + j, cx - 1, menu->pad);
lib/libmenu/m_post.c
179
wmove(menu->win, ncy, ncx);
lib/libmenu/m_post.c
181
wattroff(menu->win, (int)menu->back);
lib/libmenu/m_post.c
187
wattroff(menu->win, (int)menu->fore);
lib/libmenu/m_post.c
189
wattroff(menu->win, (int)menu->back);
lib/libmenu/m_post.c
191
wattroff(menu->win, (int)menu->grey);
lib/libmenu/m_post.c
203
_nc_Draw_Menu(const MENU *menu)
lib/libmenu/m_post.c
205
ITEM *item = menu->items[0];
lib/libmenu/m_post.c
210
assert(item && menu->win);
lib/libmenu/m_post.c
212
s_bkgd = getbkgd(menu->win);
lib/libmenu/m_post.c
213
wbkgdset(menu->win, menu->back);
lib/libmenu/m_post.c
214
werase(menu->win);
lib/libmenu/m_post.c
215
wbkgdset(menu->win, s_bkgd);
lib/libmenu/m_post.c
217
lastvert = (menu->opt & O_NONCYCLIC) ? (ITEM *)0 : item;
lib/libmenu/m_post.c
227
wmove(menu->win, y, 0);
lib/libmenu/m_post.c
230
lasthor = (menu->opt & O_NONCYCLIC) ? (ITEM *)0 : hitem;
lib/libmenu/m_post.c
234
_nc_Post_Item(menu, hitem);
lib/libmenu/m_post.c
236
wattron(menu->win, (int)menu->back);
lib/libmenu/m_post.c
242
getyx(menu->win, cy, cx);
lib/libmenu/m_post.c
243
for (j = 0; j < menu->spc_rows; j++)
lib/libmenu/m_post.c
245
wmove(menu->win, cy + j, cx);
lib/libmenu/m_post.c
246
for (i = 0; i < menu->spc_cols; i++)
lib/libmenu/m_post.c
248
waddch(menu->win, ch);
lib/libmenu/m_post.c
251
wmove(menu->win, cy, cx + menu->spc_cols);
lib/libmenu/m_post.c
255
wattroff(menu->win, (int)menu->back);
lib/libmenu/m_post.c
258
y += menu->spc_rows;
lib/libmenu/m_post.c
279
post_menu(MENU *menu)
lib/libmenu/m_post.c
281
T((T_CALLED("post_menu(%p)"), (void *)menu));
lib/libmenu/m_post.c
283
if (!menu)
lib/libmenu/m_post.c
286
if (menu->status & _IN_DRIVER)
lib/libmenu/m_post.c
289
if (menu->status & _POSTED)
lib/libmenu/m_post.c
292
if (menu->items && *(menu->items))
lib/libmenu/m_post.c
294
int h = 1 + menu->spc_rows * (menu->rows - 1);
lib/libmenu/m_post.c
296
WINDOW *win = Get_Menu_Window(menu);
lib/libmenu/m_post.c
299
if ((menu->win = newpad(h, menu->width)))
lib/libmenu/m_post.c
303
if (y >= menu->height)
lib/libmenu/m_post.c
304
y = menu->height;
lib/libmenu/m_post.c
305
if (!(menu->sub = subpad(menu->win, y, menu->width, 0, 0)))
lib/libmenu/m_post.c
311
if (menu->status & _LINK_NEEDED)
lib/libmenu/m_post.c
312
_nc_Link_Items(menu);
lib/libmenu/m_post.c
317
SetStatus(menu, _POSTED);
lib/libmenu/m_post.c
319
if (!(menu->opt & O_ONEVALUE))
lib/libmenu/m_post.c
323
for (items = menu->items; *items; items++)
lib/libmenu/m_post.c
329
_nc_Draw_Menu(menu);
lib/libmenu/m_post.c
331
Call_Hook(menu, menuinit);
lib/libmenu/m_post.c
332
Call_Hook(menu, iteminit);
lib/libmenu/m_post.c
334
_nc_Show_Menu(menu);
lib/libmenu/m_post.c
351
unpost_menu(MENU *menu)
lib/libmenu/m_post.c
355
T((T_CALLED("unpost_menu(%p)"), (void *)menu));
lib/libmenu/m_post.c
357
if (!menu)
lib/libmenu/m_post.c
360
if (menu->status & _IN_DRIVER)
lib/libmenu/m_post.c
363
if (!(menu->status & _POSTED))
lib/libmenu/m_post.c
366
Call_Hook(menu, itemterm);
lib/libmenu/m_post.c
367
Call_Hook(menu, menuterm);
lib/libmenu/m_post.c
369
win = Get_Menu_Window(menu);
lib/libmenu/m_post.c
373
assert(menu->sub);
lib/libmenu/m_post.c
374
delwin(menu->sub);
lib/libmenu/m_post.c
375
menu->sub = (WINDOW *)0;
lib/libmenu/m_post.c
377
assert(menu->win);
lib/libmenu/m_post.c
378
delwin(menu->win);
lib/libmenu/m_post.c
379
menu->win = (WINDOW *)0;
lib/libmenu/m_post.c
381
ClrStatus(menu, _POSTED);
lib/libmenu/m_post.c
55
_nc_Post_Item(const MENU *menu, const ITEM *item)
lib/libmenu/m_post.c
64
assert(menu->win);
lib/libmenu/m_post.c
66
getyx(menu->win, item_y, item_x);
lib/libmenu/m_post.c
72
wattron(menu->win, (int)menu->back);
lib/libmenu/m_post.c
73
if (item->value || (item == menu->curitem))
lib/libmenu/m_post.c
75
if (menu->marklen)
lib/libmenu/m_post.c
82
if (!(menu->opt & O_ONEVALUE) && item->value && item != menu->curitem)
lib/libmenu/m_post.c
84
wattron(menu->win, (int)menu->fore);
lib/libmenu/m_post.c
87
waddstr(menu->win, menu->mark);
lib/libmenu/m_post.c
90
wattron(menu->win, (int)menu->fore);
lib/libmenu/m_post.c
96
for (ch = ' ', i = menu->marklen; i > 0; i--)
lib/libmenu/m_post.c
97
waddch(menu->win, ch);
lib/libmenu/m_post.c
98
wattroff(menu->win, (int)menu->back);
lib/libmenu/m_post.c
99
count += menu->marklen;
lib/libmenu/m_scale.c
57
scale_menu(const MENU *menu, int *rows, int *cols)
lib/libmenu/m_scale.c
60
(const void *)menu,
lib/libmenu/m_scale.c
64
if (!menu)
lib/libmenu/m_scale.c
67
if (menu->items && *(menu->items))
lib/libmenu/m_scale.c
70
*rows = menu->height;
lib/libmenu/m_scale.c
72
*cols = menu->width;
lib/libmenu/m_spacing.c
103
m = Normalize_Menu(menu);
lib/libmenu/m_spacing.c
58
set_menu_spacing(MENU *menu, int s_desc, int s_row, int s_col)
lib/libmenu/m_spacing.c
63
(void *)menu, s_desc, s_row, s_col));
lib/libmenu/m_spacing.c
65
m = Normalize_Menu(menu);
lib/libmenu/m_spacing.c
93
menu_spacing(const MENU *menu, int *s_desc, int *s_row, int *s_col)
lib/libmenu/m_spacing.c
98
(const void *)menu,
lib/libmenu/m_sub.c
55
set_menu_sub(MENU *menu, WINDOW *win)
lib/libmenu/m_sub.c
57
T((T_CALLED("set_menu_sub(%p,%p)"), (void *)menu, (void *)win));
lib/libmenu/m_sub.c
59
if (menu)
lib/libmenu/m_sub.c
61
if (menu->status & _POSTED)
lib/libmenu/m_sub.c
71
SCREEN *sp = _nc_screen_of(menu->usersub);
lib/libmenu/m_sub.c
73
menu->usersub = win ? win : sp->_stdscr;
lib/libmenu/m_sub.c
74
_nc_Calculate_Item_Length_and_Width(menu);
lib/libmenu/m_sub.c
77
menu->usersub = win;
lib/libmenu/m_sub.c
95
menu_sub(const MENU *menu)
lib/libmenu/m_sub.c
97
const MENU *m = Normalize_Menu(menu);
lib/libmenu/m_sub.c
99
T((T_CALLED("menu_sub(%p)"), (const void *)menu));
lib/libmenu/m_userptr.c
55
set_menu_userptr(MENU *menu, void *userptr)
lib/libmenu/m_userptr.c
57
T((T_CALLED("set_menu_userptr(%p,%p)"), (void *)menu, (void *)userptr));
lib/libmenu/m_userptr.c
58
Normalize_Menu(menu)->userptr = userptr;
lib/libmenu/m_userptr.c
73
menu_userptr(const MENU *menu)
lib/libmenu/m_userptr.c
75
T((T_CALLED("menu_userptr(%p)"), (const void *)menu));
lib/libmenu/m_userptr.c
76
returnVoidPtr(Normalize_Menu(menu)->userptr);
lib/libmenu/m_win.c
55
set_menu_win(MENU *menu, WINDOW *win)
lib/libmenu/m_win.c
57
T((T_CALLED("set_menu_win(%p,%p)"), (void *)menu, (void *)win));
lib/libmenu/m_win.c
59
if (menu)
lib/libmenu/m_win.c
61
if (menu->status & _POSTED)
lib/libmenu/m_win.c
71
SCREEN *sp = _nc_screen_of(menu->userwin);
lib/libmenu/m_win.c
73
menu->userwin = win ? win : sp->_stdscr;
lib/libmenu/m_win.c
74
_nc_Calculate_Item_Length_and_Width(menu);
lib/libmenu/m_win.c
77
menu->userwin = win;
lib/libmenu/m_win.c
95
menu_win(const MENU *menu)
lib/libmenu/m_win.c
97
const MENU *m = Normalize_Menu(menu);
lib/libmenu/m_win.c
99
T((T_CALLED("menu_win(%p)"), (const void *)menu));
lib/libmenu/menu.h
242
extern MENU_EXPORT(int) set_current_item(MENU *menu, ITEM *item);
lib/libmenu/menu.priv.h
100
Move_And_Post_Item(menu,item);\
lib/libmenu/menu.priv.h
101
Move_And_Post_Item(menu,(menu)->curitem);\
lib/libmenu/menu.priv.h
108
#define Adjust_Current_Item(menu,row,item) \
lib/libmenu/menu.priv.h
111
if ( (item)->y >= (row + (menu)->arows) ) \
lib/libmenu/menu.priv.h
112
row = (short) (( (item)->y < ((menu)->rows - row) ) \
lib/libmenu/menu.priv.h
114
: (menu)->rows - (menu)->arows); \
lib/libmenu/menu.priv.h
115
_nc_New_TopRow_and_CurrentItem(menu,row,item); }
lib/libmenu/menu.priv.h
118
#define Reset_Pattern(menu) \
lib/libmenu/menu.priv.h
119
{ (menu)->pindex = 0; \
lib/libmenu/menu.priv.h
120
(menu)->pattern[0] = '\0'; }
lib/libmenu/menu.priv.h
135
extern MENU_EXPORT(int) _nc_menu_cursor_pos (const MENU* menu, const ITEM* item,
lib/libmenu/menu.priv.h
143
#define returnMenu(code) TRACE_RETURN1(code,menu)
lib/libmenu/menu.priv.h
64
#define Normalize_Menu( menu ) ((menu)=(menu)?(menu):&_nc_Default_Menu)
lib/libmenu/menu.priv.h
66
#define Get_Menu_Screen( menu ) (menu->userwin ? \
lib/libmenu/menu.priv.h
67
_nc_screen_of(menu->userwin) : CURRENT_SCREEN)
lib/libmenu/menu.priv.h
70
#define Get_Menu_UserWin(menu) ((menu)->userwin ? \
lib/libmenu/menu.priv.h
71
(menu)->userwin : CURRENT_SCREEN->_stdscr)
lib/libmenu/menu.priv.h
74
#define Get_Menu_Window( menu ) \
lib/libmenu/menu.priv.h
75
((menu)->usersub ? (menu)->usersub : Get_Menu_UserWin(menu))
lib/libmenu/menu.priv.h
93
#define Move_And_Post_Item(menu,item) \
lib/libmenu/menu.priv.h
94
{wmove((menu)->win,(menu)->spc_rows*(item)->y,((menu)->itemlen+(menu)->spc_cols)*(item)->x);\
lib/libmenu/menu.priv.h
95
_nc_Post_Item((menu),(item));}
lib/libmenu/menu.priv.h
97
#define Move_To_Current_Item(menu,item) \
lib/libmenu/menu.priv.h
98
if ( (item) != (menu)->curitem)\
usr.bin/tmux/cmd-display-menu.c
291
struct menu *menu = NULL;
usr.bin/tmux/cmd-display-menu.c
325
menu = menu_create(title);
usr.bin/tmux/cmd-display-menu.c
331
menu_add_item(menu, NULL, item, tc, target);
usr.bin/tmux/cmd-display-menu.c
345
menu_add_item(menu, &menu_item, item, tc, target);
usr.bin/tmux/cmd-display-menu.c
347
if (menu == NULL) {
usr.bin/tmux/cmd-display-menu.c
351
if (menu->count == 0)
usr.bin/tmux/cmd-display-menu.c
353
if (!cmd_display_menu_get_pos(tc, item, args, &px, &py, menu->width + 4,
usr.bin/tmux/cmd-display-menu.c
354
menu->count + 2))
usr.bin/tmux/cmd-display-menu.c
372
if (menu_display(menu, flags, starting_choice, item, px, py, tc, lines,
usr.bin/tmux/cmd-display-menu.c
378
menu_free(menu);
usr.bin/tmux/cmd-display-menu.c
383
menu_free(menu);
usr.bin/tmux/menu.c
144
if (width > menu->width)
usr.bin/tmux/menu.c
145
menu->width = width;
usr.bin/tmux/menu.c
148
struct menu *
usr.bin/tmux/menu.c
151
struct menu *menu;
usr.bin/tmux/menu.c
153
menu = xcalloc(1, sizeof *menu);
usr.bin/tmux/menu.c
154
menu->title = xstrdup(title);
usr.bin/tmux/menu.c
155
menu->width = format_width(title);
usr.bin/tmux/menu.c
157
return (menu);
usr.bin/tmux/menu.c
161
menu_free(struct menu *menu)
usr.bin/tmux/menu.c
165
if (menu == NULL)
usr.bin/tmux/menu.c
168
for (i = 0; i < menu->count; i++) {
usr.bin/tmux/menu.c
169
free((void *)menu->items[i].name);
usr.bin/tmux/menu.c
170
free((void *)menu->items[i].command);
usr.bin/tmux/menu.c
172
free(menu->items);
usr.bin/tmux/menu.c
174
free((void *)menu->title);
usr.bin/tmux/menu.c
175
free(menu);
usr.bin/tmux/menu.c
198
struct menu *menu = md->menu;
usr.bin/tmux/menu.c
200
server_client_overlay_range(md->px, md->py, menu->width + 4,
usr.bin/tmux/menu.c
201
menu->count + 2, px, py, nx, &md->r);
usr.bin/tmux/menu.c
266
struct menu *menu = md->menu;
usr.bin/tmux/menu.c
276
screen_write_box(&ctx, menu->width + 4, menu->count + 2,
usr.bin/tmux/menu.c
277
md->border_lines, &md->border_style_gc, menu->title);
usr.bin/tmux/menu.c
280
screen_write_menu(&ctx, menu, md->choice, md->border_lines,
usr.bin/tmux/menu.c
285
tty_draw_line(tty, s, 0, i, menu->width + 4, px, py + i,
usr.bin/tmux/menu.c
299
md->cb(md->menu, UINT_MAX, KEYC_NONE, md->data);
usr.bin/tmux/menu.c
304
menu_free(md->menu);
usr.bin/tmux/menu.c
315
struct menu *menu = md->menu;
usr.bin/tmux/menu.c
318
int count = menu->count, old = md->choice;
usr.bin/tmux/menu.c
332
m->x > md->px + 4 + menu->width ||
usr.bin/tmux/menu.c
363
name = menu->items[i].name;
usr.bin/tmux/menu.c
366
if ((event->key & ~KEYC_MASK_FLAGS) == menu->items[i].key) {
usr.bin/tmux/menu.c
382
name = menu->items[md->choice].name;
usr.bin/tmux/menu.c
405
name = menu->items[md->choice].name;
usr.bin/tmux/menu.c
417
name = menu->items[md->choice].name;
usr.bin/tmux/menu.c
430
name = menu->items[md->choice].name;
usr.bin/tmux/menu.c
435
name = menu->items[md->choice].name;
usr.bin/tmux/menu.c
445
name = menu->items[md->choice].name;
usr.bin/tmux/menu.c
452
name = menu->items[md->choice].name;
usr.bin/tmux/menu.c
455
name = menu->items[md->choice].name;
usr.bin/tmux/menu.c
46
struct menu *menu;
usr.bin/tmux/menu.c
462
name = menu->items[md->choice].name;
usr.bin/tmux/menu.c
465
name = menu->items[md->choice].name;
usr.bin/tmux/menu.c
484
item = &menu->items[md->choice];
usr.bin/tmux/menu.c
491
md->cb(md->menu, md->choice, item->key, md->data);
usr.bin/tmux/menu.c
524
w = md->menu->width + 4;
usr.bin/tmux/menu.c
525
h = md->menu->count + 2;
usr.bin/tmux/menu.c
54
menu_add_items(struct menu *menu, const struct menu_item *items,
usr.bin/tmux/menu.c
545
menu_prepare(struct menu *menu, int flags, int starting_choice,
usr.bin/tmux/menu.c
556
if (c->tty.sx < menu->width + 4 || c->tty.sy < menu->count + 2)
usr.bin/tmux/menu.c
558
if (px + menu->width + 4 > c->tty.sx)
usr.bin/tmux/menu.c
559
px = c->tty.sx - menu->width - 4;
usr.bin/tmux/menu.c
560
if (py + menu->count + 2 > c->tty.sy)
usr.bin/tmux/menu.c
561
py = c->tty.sy - menu->count - 2;
usr.bin/tmux/menu.c
580
screen_init(&md->s, menu->width + 4, menu->count + 2, 0);
usr.bin/tmux/menu.c
588
md->menu = menu;
usr.bin/tmux/menu.c
592
if (starting_choice >= (int)menu->count) {
usr.bin/tmux/menu.c
593
starting_choice = menu->count - 1;
usr.bin/tmux/menu.c
596
name = menu->items[choice - 1].name;
usr.bin/tmux/menu.c
60
menu_add_item(menu, loop, qitem, c, fs);
usr.bin/tmux/menu.c
602
choice = menu->count;
usr.bin/tmux/menu.c
609
name = menu->items[choice].name;
usr.bin/tmux/menu.c
614
if (++choice == (int)menu->count)
usr.bin/tmux/menu.c
628
menu_display(struct menu *menu, int flags, int starting_choice,
usr.bin/tmux/menu.c
636
md = menu_prepare(menu, flags, starting_choice, item, px, py, c, lines,
usr.bin/tmux/menu.c
64
menu_add_item(struct menu *menu, const struct menu_item *item,
usr.bin/tmux/menu.c
75
if (line && menu->count == 0)
usr.bin/tmux/menu.c
77
if (line && menu->items[menu->count - 1].name == NULL)
usr.bin/tmux/menu.c
80
menu->items = xreallocarray(menu->items, menu->count + 1,
usr.bin/tmux/menu.c
81
sizeof *menu->items);
usr.bin/tmux/menu.c
82
new_item = &menu->items[menu->count++];
usr.bin/tmux/menu.c
94
menu->count--;
usr.bin/tmux/mode-tree.c
1094
mode_tree_menu_callback(__unused struct menu *menu, __unused u_int idx,
usr.bin/tmux/mode-tree.c
1118
struct menu *menu;
usr.bin/tmux/mode-tree.c
1131
items = mtd->menu;
usr.bin/tmux/mode-tree.c
1137
menu = menu_create(title);
usr.bin/tmux/mode-tree.c
1138
menu_add_items(menu, items, NULL, c, NULL);
usr.bin/tmux/mode-tree.c
1147
if (x >= (menu->width + 4) / 2)
usr.bin/tmux/mode-tree.c
1148
x -= (menu->width + 4) / 2;
usr.bin/tmux/mode-tree.c
1151
if (menu_display(menu, 0, 0, NULL, x, y, c, BOX_LINES_DEFAULT, NULL,
usr.bin/tmux/mode-tree.c
1155
menu_free(menu);
usr.bin/tmux/mode-tree.c
488
mode_tree_help_cb helpcb, void *modedata, const struct menu_item *menu,
usr.bin/tmux/mode-tree.c
49
const struct menu_item *menu;
usr.bin/tmux/mode-tree.c
498
mtd->menu = menu;
usr.bin/tmux/popup.c
451
popup_menu_done(__unused struct menu *menu, __unused u_int choice,
usr.bin/tmux/popup.c
461
pd->menu = NULL;
usr.bin/tmux/popup.c
54
struct menu *menu;
usr.bin/tmux/popup.c
567
pd->menu = NULL;
usr.bin/tmux/popup.c
586
goto menu;
usr.bin/tmux/popup.c
602
goto menu;
usr.bin/tmux/popup.c
642
menu:
usr.bin/tmux/popup.c
643
pd->menu = menu_create("");
usr.bin/tmux/popup.c
645
menu_add_items(pd->menu, popup_internal_menu_items, NULL, c,
usr.bin/tmux/popup.c
648
menu_add_items(pd->menu, popup_menu_items, NULL, c, NULL);
usr.bin/tmux/popup.c
649
if (m->x >= (pd->menu->width + 4) / 2)
usr.bin/tmux/popup.c
650
x = m->x - (pd->menu->width + 4) / 2;
usr.bin/tmux/popup.c
653
pd->md = menu_prepare(pd->menu, 0, 0, NULL, x, m->y, c,
usr.bin/tmux/screen-write.c
709
screen_write_menu(struct screen_write_ctx *ctx, struct menu *menu, int choice,
usr.bin/tmux/screen-write.c
716
u_int cx, cy, i, j, width = menu->width;
usr.bin/tmux/screen-write.c
724
screen_write_box(ctx, menu->width + 4, menu->count + 2, lines,
usr.bin/tmux/screen-write.c
725
border_gc, menu->title);
usr.bin/tmux/screen-write.c
727
for (i = 0; i < menu->count; i++) {
usr.bin/tmux/screen-write.c
728
name = menu->items[i].name;
usr.bin/tmux/status.c
1868
status_prompt_menu_callback(__unused struct menu *menu, u_int idx, key_code key,
usr.bin/tmux/status.c
1902
struct menu *menu;
usr.bin/tmux/status.c
1926
menu = menu_create("");
usr.bin/tmux/status.c
1931
menu_add_item(menu, &item, NULL, c, NULL);
usr.bin/tmux/status.c
1946
if (menu_display(menu, MENU_NOMOUSE|MENU_TAB, 0, NULL, offset, py, c,
usr.bin/tmux/status.c
1949
menu_free(menu);
usr.bin/tmux/status.c
1961
struct menu *menu;
usr.bin/tmux/status.c
1981
menu = menu_create("");
usr.bin/tmux/status.c
2004
menu_add_item(menu, &item, NULL, c, NULL);
usr.bin/tmux/status.c
2011
menu_free(menu);
usr.bin/tmux/status.c
2016
menu_free(menu);
usr.bin/tmux/status.c
2044
if (menu_display(menu, MENU_NOMOUSE|MENU_TAB, 0, NULL, offset, py, c,
usr.bin/tmux/status.c
2047
menu_free(menu);
usr.bin/tmux/tmux.h
1104
typedef void (*menu_choice_cb)(struct menu *, u_int, key_code, void *);
usr.bin/tmux/tmux.h
3669
struct menu *menu_create(const char *);