Lines Matching refs:item

43 is_readonly(DIALOG_FORMITEM * item)
45 return ((item->type & 2) != 0) || (item->text_flen <= 0);
49 is_hidden(DIALOG_FORMITEM * item)
51 return ((item->type & 1) != 0);
75 * Print form item
78 print_item(WINDOW *win, DIALOG_FORMITEM * item, int scrollamt, bool choice)
83 if (ok_move(win, scrollamt, item->name_y, item->name_x)) {
84 len = item->name_len;
85 len = MIN(len, getmaxx(win) - item->name_x);
88 item->name,
91 item->name_y - scrollamt,
92 item->name_x,
96 move_past(win, item->name_y - scrollamt, item->name_x + len);
100 if (item->text_len && ok_move(win, scrollamt, item->text_y, item->text_x)) {
103 len = item->text_len;
104 len = MIN(len, getmaxx(win) - item->text_x);
106 if (!is_readonly(item)) {
116 item->text,
119 item->text_y - scrollamt,
120 item->text_x,
122 is_hidden(item),
124 move_past(win, item->text_y - scrollamt, item->text_x + len);
135 print_form(WINDOW *win, DIALOG_FORMITEM * item, int total, int scrollamt, int choice)
141 count += print_item(win, item + n, scrollamt, n == choice);
151 set_choice(DIALOG_FORMITEM item[], int choice, int item_no, bool * noneditable)
157 if (!is_readonly(&item[choice])) {
161 if (!is_readonly(&(item[i]))) {
178 form_limit(DIALOG_FORMITEM item[])
182 for (n = 0; item[n].name != 0; ++n) {
183 if (limit < item[n].name_y)
184 limit = item[n].name_y;
185 if (limit < item[n].text_y)
186 limit = item[n].text_y;
192 is_first_field(DIALOG_FORMITEM item[], int choice)
196 if (item[choice].text_flen > 0) {
206 is_last_field(DIALOG_FORMITEM item[], int choice, int item_no)
210 if (item[choice].text_flen > 0) {
224 DIALOG_FORMITEM item[],
244 } while ((*choice != old_choice) && is_readonly(&(item[*choice])));
246 if (item[*choice].text_flen > 0) {
247 int lo = MIN(item[*choice].name_y, item[*choice].text_y);
248 int hi = MAX(item[*choice].name_y, item[*choice].text_y);
252 print_item(win, item + old_choice, *scrollamt, FALSE);
288 scroll_next(WINDOW *win, DIALOG_FORMITEM item[], int stepsize, int *choice, int *scrollamt)
293 int old_row = MIN(item[old_choice].text_y, item[old_choice].name_y);
306 if (target > form_limit(item)) {
312 for (n = 0; item[n].name != 0; ++n) {
313 if (item[n].text_flen > 0) {
314 int new_row = MIN(item[n].text_y, item[n].name_y);
323 print_item(win, item + old_choice, *scrollamt, FALSE);
342 real_length(DIALOG_FORMITEM * item)
344 return (item->text_flen > 0
345 ? item->text_flen
346 : (item->text_flen < 0
347 ? -item->text_flen
348 : item->text_len));
355 make_FORM_ELTs(DIALOG_FORMITEM * item,
365 int real_len = real_length(item + i);
371 if (item[i].text_ilen == 0)
372 item[i].text_ilen = real_len;
374 min_h = MAX(min_h, item[i].name_y + 1);
375 min_h = MAX(min_h, item[i].text_y + 1);
376 min_w = MAX(min_w, item[i].name_x + 1 + item[i].name_len);
377 min_w = MAX(min_w, item[i].text_x + 1 + real_len);
379 item[i].text_len = real_length(item + i);
385 if (item[i].text_flen > 0) {
386 int max_len = dlg_max_input(MAX(item[i].text_ilen + 1, MAX_LEN));
387 char *old_text = item[i].text;
389 item[i].text = dlg_malloc(char, (size_t) max_len + 1);
390 assert_ptr(item[i].text, "make_FORM_ELTs");
392 sprintf(item[i].text, "%.*s", item[i].text_ilen, old_text);
394 if (item[i].text_free) {
395 item[i].text_free = FALSE;
398 item[i].text_free = TRUE;