Lines Matching refs:field
132 #define Position_Of_Row_In_Buffer(field,row) ((row)*(field)->dcols) argument
135 #define Address_Of_Nth_Buffer(field,N) \ argument
136 ((field)->buf + (N)*(1+Buffer_Length(field)))
139 #define Address_Of_Row_In_Nth_Buffer(field,N,row) \ argument
140 (Address_Of_Nth_Buffer(field,N) + Position_Of_Row_In_Buffer(field,row))
143 #define Address_Of_Row_In_Buffer(field,row) \ argument
144 Address_Of_Row_In_Nth_Buffer(field,0,row)
168 #define Is_Scroll_Field(field) \ argument
169 (((field)->drows > (field)->rows) || \
170 ((field)->dcols > (field)->cols))
175 #define Has_Invisible_Parts(field) \ argument
176 (!(Field_Has_Option(field, O_PUBLIC)) || \
177 Is_Scroll_Field(field))
180 #define Justification_Allowed(field) \ argument
181 (((field)->just != NO_JUSTIFICATION) && \
182 (Single_Line_Field(field)) && \
183 ((Field_Has_Option(field, O_STATIC) && \
184 ((field)->dcols == (field)->cols)) || \
185 Field_Has_Option(field, O_DYNAMIC_JUSTIFY)))
188 #define Growable(field) ((field)->status & _MAY_GROW) argument
191 #define Set_Field_Window_Attributes(field,win) \ argument
192 ( wbkgdset((win),(chtype)((chtype)((field)->pad) | (field)->back)), \
193 (void) wattrset((win), (int)(field)->fore) )
196 #define Field_Really_Appears(field) \ argument
197 ((field->form) &&\
198 (field->form->status & _POSTED) &&\
199 (Field_Has_Option(field, O_VISIBLE)) &&\
200 (field->page == field->form->curpage))
482 FIELD *field; in Adjust_Cursor_Position() local
485 field = form->current; in Adjust_Cursor_Position()
486 assert(pos >= field->buf && field->dcols > 0); in Adjust_Cursor_Position()
487 idx = (int)(pos - field->buf); in Adjust_Cursor_Position()
489 *((div_t *) & (form->currow)) = div(idx, field->dcols); in Adjust_Cursor_Position()
491 form->currow = idx / field->dcols; in Adjust_Cursor_Position()
492 form->curcol = idx - field->cols * form->currow; in Adjust_Cursor_Position()
494 if (field->drows < form->currow) in Adjust_Cursor_Position()
511 Buffer_To_Window(const FIELD *field, WINDOW *win) in Buffer_To_Window() argument
518 assert(win && field); in Buffer_To_Window()
524 for (row = 0, pBuffer = field->buf; in Buffer_To_Window()
554 _nc_get_fieldbuffer(FORM *form, FIELD *field, FIELD_CELL *buf) in _nc_get_fieldbuffer() argument
562 assert(form && field && buf); in _nc_get_fieldbuffer()
567 pad = field->pad; in _nc_get_fieldbuffer()
571 for (row = 0; (row < height) && (row < field->drows); row++) in _nc_get_fieldbuffer()
574 len += myINNSTR(win, p + len, field->dcols); in _nc_get_fieldbuffer()
609 Window_To_Buffer(FORM *form, FIELD *field) in Window_To_Buffer() argument
611 _nc_get_fieldbuffer(form, field, field->buf); in Window_To_Buffer()
652 Field_Grown(FIELD *field, int amount) in Field_Grown() argument
656 if (field && Growable(field)) in Field_Grown()
658 bool single_line_field = Single_Line_Field(field); in Field_Grown()
659 int old_buflen = Buffer_Length(field); in Field_Grown()
661 int old_dcols = field->dcols; in Field_Grown()
662 int old_drows = field->drows; in Field_Grown()
663 FIELD_CELL *oldbuf = field->buf; in Field_Grown()
667 FORM *form = field->form; in Field_Grown()
670 (form->current == field)); in Field_Grown()
677 growth = field->cols * amount; in Field_Grown()
678 if (field->maxgrow) in Field_Grown()
679 growth = Minimum(field->maxgrow - field->dcols, growth); in Field_Grown()
680 field->dcols += growth; in Field_Grown()
681 if (field->dcols == field->maxgrow) in Field_Grown()
682 ClrStatus(field, _MAY_GROW); in Field_Grown()
686 growth = (field->rows + field->nrow) * amount; in Field_Grown()
687 if (field->maxgrow) in Field_Grown()
688 growth = Minimum(field->maxgrow - field->drows, growth); in Field_Grown()
689 field->drows += growth; in Field_Grown()
690 if (field->drows == field->maxgrow) in Field_Grown()
691 ClrStatus(field, _MAY_GROW); in Field_Grown()
694 new_buflen = Buffer_Length(field); in Field_Grown()
695 newbuf = (FIELD_CELL *)malloc(Total_Buffer_Size(field)); in Field_Grown()
699 field->dcols = old_dcols; in Field_Grown()
700 field->drows = old_drows; in Field_Grown()
701 if ((single_line_field && (field->dcols != field->maxgrow)) || in Field_Grown()
702 (!single_line_field && (field->drows != field->maxgrow))) in Field_Grown()
703 SetStatus(field, _MAY_GROW); in Field_Grown()
715 field->buf = newbuf; in Field_Grown()
716 for (i = 0; i <= field->nbuf; i++) in Field_Grown()
718 FIELD_CELL *new_bp = Address_Of_Nth_Buffer(field, i); in Field_Grown()
729 if (wresize(field->working, 1, Buffer_Length(field) + 1) == ERR) in Field_Grown()
735 WINDOW *new_window = newpad(field->drows, field->dcols); in Field_Grown()
743 Set_Field_Window_Attributes(field, form->w); in Field_Grown()
745 Buffer_To_Window(field, form->w); in Field_Grown()
757 if (field != field->link) in Field_Grown()
761 for (linked_field = field->link; in Field_Grown()
762 linked_field != field; in Field_Grown()
765 linked_field->buf = field->buf; in Field_Grown()
766 linked_field->drows = field->drows; in Field_Grown()
767 linked_field->dcols = field->dcols; in Field_Grown()
774 field->dcols = old_dcols; in Field_Grown()
775 field->drows = old_drows; in Field_Grown()
776 field->buf = oldbuf; in Field_Grown()
778 (field->dcols != field->maxgrow)) || in Field_Grown()
780 (field->drows != field->maxgrow))) in Field_Grown()
781 SetStatus(field, _MAY_GROW); in Field_Grown()
802 Field_encloses(FIELD *field, int ry, int rx) in Field_encloses() argument
804 T((T_CALLED("Field_encloses(%p)"), (void *)field)); in Field_encloses()
805 if (field != 0 in Field_encloses()
806 && field->frow <= ry in Field_encloses()
807 && (field->frow + field->rows) > ry in Field_encloses()
808 && field->fcol <= rx in Field_encloses()
809 && (field->fcol + field->cols) > rx) in Field_encloses()
833 FIELD *field; in _nc_Position_Form_Cursor() local
842 field = form->current; in _nc_Position_Form_Cursor()
846 if (Has_Invisible_Parts(field)) in _nc_Position_Form_Cursor()
851 field->frow + form->currow - form->toprow, in _nc_Position_Form_Cursor()
852 field->fcol + form->curcol - form->begincol); in _nc_Position_Form_Cursor()
876 FIELD *field; in _nc_Refresh_Current_Field() local
887 field = form->current; in _nc_Refresh_Current_Field()
890 is_public = Field_Has_Option(field, O_PUBLIC); in _nc_Refresh_Current_Field()
892 if (Is_Scroll_Field(field)) in _nc_Refresh_Current_Field()
896 if (Single_Line_Field(field)) in _nc_Refresh_Current_Field()
903 if (form->curcol >= (form->begincol + field->cols)) in _nc_Refresh_Current_Field()
904 form->begincol = form->curcol - field->cols in _nc_Refresh_Current_Field()
912 field->frow, in _nc_Refresh_Current_Field()
913 field->fcol, in _nc_Refresh_Current_Field()
914 field->frow, in _nc_Refresh_Current_Field()
915 field->cols + field->fcol - 1, in _nc_Refresh_Current_Field()
923 if (field->drows > field->rows) in _nc_Refresh_Current_Field()
925 int row_after_bottom = form->toprow + field->rows; in _nc_Refresh_Current_Field()
930 SetStatus(field, _NEWTOP); in _nc_Refresh_Current_Field()
934 form->toprow = form->currow - field->rows + 1; in _nc_Refresh_Current_Field()
935 SetStatus(field, _NEWTOP); in _nc_Refresh_Current_Field()
937 if (field->status & _NEWTOP) in _nc_Refresh_Current_Field()
941 first_unmodified_row = first_modified_row + field->rows; in _nc_Refresh_Current_Field()
942 ClrStatus(field, _NEWTOP); in _nc_Refresh_Current_Field()
967 first_unmodified_row = first_modified_row + field->rows; in _nc_Refresh_Current_Field()
974 field->frow + first_modified_row - form->toprow, in _nc_Refresh_Current_Field()
975 field->fcol, in _nc_Refresh_Current_Field()
976 field->frow + first_unmodified_row - form->toprow - 1, in _nc_Refresh_Current_Field()
977 field->cols + field->fcol - 1, in _nc_Refresh_Current_Field()
1006 Perform_Justification(FIELD *field, WINDOW *win) in Perform_Justification() argument
1011 bp = (Field_Has_Option(field, O_NO_LEFT_STRIP) in Perform_Justification()
1012 ? field->buf in Perform_Justification()
1013 : Get_Start_Of_Data(field->buf, Buffer_Length(field))); in Perform_Justification()
1014 len = (int)(After_End_Of_Data(field->buf, Buffer_Length(field)) - bp); in Perform_Justification()
1020 assert(win && (field->drows == 1)); in Perform_Justification()
1022 if (field->cols - len >= 0) in Perform_Justification()
1023 switch (field->just) in Perform_Justification()
1028 col = (field->cols - len) / 2; in Perform_Justification()
1031 col = field->cols - len; in Perform_Justification()
1054 Undo_Justification(FIELD *field, WINDOW *win) in Undo_Justification() argument
1062 bp = (Field_Has_Option(field, O_NO_LEFT_STRIP) in Undo_Justification()
1063 ? field->buf in Undo_Justification()
1064 : Get_Start_Of_Data(field->buf, Buffer_Length(field))); in Undo_Justification()
1065 len = (int)(After_End_Of_Data(field->buf, Buffer_Length(field)) - bp); in Undo_Justification()
1092 FIELD *field, in Check_Char() argument
1103 Check_Char(form, field, typ->left, ch, argp->left) || in Check_Char()
1104 Check_Char(form, field, typ->right, ch, argp->right)); in Check_Char()
1112 return typ->charcheck.gccheck(ch, form, field, (void *)argp); in Check_Char()
1139 Display_Or_Erase_Field(FIELD *field, bool bEraseFlag) in Display_Or_Erase_Field() argument
1144 if (!field) in Display_Or_Erase_Field()
1147 fwin = Get_Form_Window(field->form); in Display_Or_Erase_Field()
1149 field->rows, field->cols, field->frow, field->fcol); in Display_Or_Erase_Field()
1155 if (Field_Has_Option(field, O_VISIBLE)) in Display_Or_Erase_Field()
1157 Set_Field_Window_Attributes(field, win); in Display_Or_Erase_Field()
1168 if (Field_Has_Option(field, O_PUBLIC)) in Display_Or_Erase_Field()
1170 if (Justification_Allowed(field)) in Display_Or_Erase_Field()
1171 Perform_Justification(field, win); in Display_Or_Erase_Field()
1173 Buffer_To_Window(field, win); in Display_Or_Erase_Field()
1175 ClrStatus(field, _NEWTOP); in Display_Or_Erase_Field()
1183 #define Display_Field(field) Display_Or_Erase_Field(field,FALSE) argument
1184 #define Erase_Field(field) Display_Or_Erase_Field(field,TRUE) argument
1198 Synchronize_Field(FIELD *field) in Synchronize_Field() argument
1203 if (!field) in Synchronize_Field()
1206 if (((form = field->form) != (FORM *)0) in Synchronize_Field()
1207 && Field_Really_Appears(field)) in Synchronize_Field()
1209 if (field == form->current) in Synchronize_Field()
1214 if ((Field_Has_Option(field, O_PUBLIC)) && Justification_Allowed(field)) in Synchronize_Field()
1215 Undo_Justification(field, form->w); in Synchronize_Field()
1217 Buffer_To_Window(field, form->w); in Synchronize_Field()
1219 SetStatus(field, _NEWTOP); in Synchronize_Field()
1223 res = Display_Field(field); in Synchronize_Field()
1225 SetStatus(field, _CHANGED); in Synchronize_Field()
1242 Synchronize_Linked_Fields(FIELD *field) in Synchronize_Linked_Fields() argument
1247 if (!field) in Synchronize_Linked_Fields()
1250 if (!field->link) in Synchronize_Linked_Fields()
1253 for (linked_field = field->link; in Synchronize_Linked_Fields()
1254 (linked_field != field) && (linked_field != 0); in Synchronize_Linked_Fields()
1279 _nc_Synchronize_Attributes(FIELD *field) in _nc_Synchronize_Attributes() argument
1284 T((T_CALLED("_nc_Synchronize_Attributes(%p)"), (void *)field)); in _nc_Synchronize_Attributes()
1286 if (!field) in _nc_Synchronize_Attributes()
1289 CHECKPOS(field->form); in _nc_Synchronize_Attributes()
1290 if (((form = field->form) != (FORM *)0) in _nc_Synchronize_Attributes()
1291 && Field_Really_Appears(field)) in _nc_Synchronize_Attributes()
1293 if (form->current == field) in _nc_Synchronize_Attributes()
1296 Set_Field_Window_Attributes(field, form->w); in _nc_Synchronize_Attributes()
1300 if (Field_Has_Option(field, O_PUBLIC)) in _nc_Synchronize_Attributes()
1302 if (Justification_Allowed(field)) in _nc_Synchronize_Attributes()
1303 Undo_Justification(field, form->w); in _nc_Synchronize_Attributes()
1305 Buffer_To_Window(field, form->w); in _nc_Synchronize_Attributes()
1313 field->frow, field->fcol, in _nc_Synchronize_Attributes()
1314 field->frow + field->rows - 1, in _nc_Synchronize_Attributes()
1315 field->fcol + field->cols - 1, 0); in _nc_Synchronize_Attributes()
1317 Buffer_To_Window(field, form->w); in _nc_Synchronize_Attributes()
1318 SetStatus(field, _NEWTOP); /* fake refresh to paint all */ in _nc_Synchronize_Attributes()
1324 res = Display_Field(field); in _nc_Synchronize_Attributes()
1346 _nc_Synchronize_Options(FIELD *field, Field_Options newopts) in _nc_Synchronize_Options() argument
1353 T((T_CALLED("_nc_Synchronize_Options(%p,%#x)"), (void *)field, newopts)); in _nc_Synchronize_Options()
1355 if (!field) in _nc_Synchronize_Options()
1358 oldopts = field->opts; in _nc_Synchronize_Options()
1360 field->opts = newopts; in _nc_Synchronize_Options()
1361 form = field->form; in _nc_Synchronize_Options()
1367 if (form->current == field) in _nc_Synchronize_Options()
1369 field->opts = oldopts; in _nc_Synchronize_Options()
1372 if (form->curpage == field->page) in _nc_Synchronize_Options()
1377 res = Display_Field(field); in _nc_Synchronize_Options()
1379 res = Erase_Field(field); in _nc_Synchronize_Options()
1385 res = Display_Field(field); in _nc_Synchronize_Options()
1393 bool single_line_field = Single_Line_Field(field); in _nc_Synchronize_Options()
1399 ClrStatus(field, _MAY_GROW); in _nc_Synchronize_Options()
1403 (field->cols == field->dcols) && in _nc_Synchronize_Options()
1404 (field->just != NO_JUSTIFICATION) && in _nc_Synchronize_Options()
1405 Field_Really_Appears(field)) in _nc_Synchronize_Options()
1407 res2 = Display_Field(field); in _nc_Synchronize_Options()
1413 if ((field->maxgrow == 0) || in _nc_Synchronize_Options()
1414 (single_line_field && (field->dcols < field->maxgrow)) || in _nc_Synchronize_Options()
1415 (!single_line_field && (field->drows < field->maxgrow))) in _nc_Synchronize_Options()
1417 SetStatus(field, _MAY_GROW); in _nc_Synchronize_Options()
1421 (field->just != NO_JUSTIFICATION) && in _nc_Synchronize_Options()
1422 Field_Really_Appears(field)) in _nc_Synchronize_Options()
1424 res2 = Display_Field(field); in _nc_Synchronize_Options()
1441 FIELD *field = form->current; in _nc_Unset_Current_Field() local
1444 if (Field_Has_Option(field, O_PUBLIC)) in _nc_Unset_Current_Field()
1446 if (field->drows > field->rows) in _nc_Unset_Current_Field()
1449 ClrStatus(field, _NEWTOP); in _nc_Unset_Current_Field()
1451 SetStatus(field, _NEWTOP); in _nc_Unset_Current_Field()
1455 if (Justification_Allowed(field)) in _nc_Unset_Current_Field()
1457 Window_To_Buffer(form, field); in _nc_Unset_Current_Field()
1459 Perform_Justification(field, form->w); in _nc_Unset_Current_Field()
1460 if (Field_Has_Option(field, O_DYNAMIC_JUSTIFY) && in _nc_Unset_Current_Field()
1467 field->frow, in _nc_Unset_Current_Field()
1468 field->fcol, in _nc_Unset_Current_Field()
1469 field->frow, in _nc_Unset_Current_Field()
1470 field->cols + field->fcol - 1, in _nc_Unset_Current_Field()
1501 FIELD *field; in _nc_Set_Current_Field() local
1512 if (!(form->field)) in _nc_Set_Current_Field()
1515 field = form->current; in _nc_Set_Current_Field()
1517 if ((field != newfield) || in _nc_Set_Current_Field()
1520 if (field && (form->w) && in _nc_Set_Current_Field()
1521 (Field_Has_Option(field, O_VISIBLE)) && in _nc_Set_Current_Field()
1522 (field->form->curpage == field->page)) in _nc_Set_Current_Field()
1525 field = newfield; in _nc_Set_Current_Field()
1527 if (Has_Invisible_Parts(field)) in _nc_Set_Current_Field()
1528 new_window = newpad(field->drows, field->dcols); in _nc_Set_Current_Field()
1531 field->rows, field->cols, field->frow, field->fcol); in _nc_Set_Current_Field()
1536 form->current = field; in _nc_Set_Current_Field()
1543 Set_Field_Window_Attributes(field, form->w); in _nc_Set_Current_Field()
1545 if (Has_Invisible_Parts(field)) in _nc_Set_Current_Field()
1548 Buffer_To_Window(field, form->w); in _nc_Set_Current_Field()
1552 if (Justification_Allowed(field)) in _nc_Set_Current_Field()
1555 Undo_Justification(field, form->w); in _nc_Set_Current_Field()
1584 FIELD *field = form->current; in IFN_Next_Character() local
1588 if ((form->curcol += step) == field->dcols) in IFN_Next_Character()
1590 if ((++(form->currow)) == field->drows) in IFN_Next_Character()
1593 if (!Single_Line_Field(field) && Field_Grown(field, 1)) in IFN_Next_Character()
1601 if (Single_Line_Field(field) && Field_Grown(field, 1)) in IFN_Next_Character()
1655 FIELD *field = form->current; in IFN_Next_Line() local
1658 if ((++(form->currow)) == field->drows) in IFN_Next_Line()
1661 if (!Single_Line_Field(field) && Field_Grown(field, 1)) in IFN_Next_Line()
1705 FIELD *field = form->current; in IFN_Next_Word() local
1718 s = Get_First_Whitespace_Character(bp, Buffer_Length(field) - in IFN_Next_Word()
1719 (int)(bp - field->buf)); in IFN_Next_Word()
1722 t = Get_Start_Of_Data(s, Buffer_Length(field) - in IFN_Next_Word()
1723 (int)(s - field->buf)); in IFN_Next_Word()
1747 FIELD *field = form->current; in IFN_Previous_Word() local
1758 s = After_End_Of_Data(field->buf, (int)(bp - field->buf)); in IFN_Previous_Word()
1770 t = After_Last_Whitespace_Character(field->buf, (int)(s - field->buf)); in IFN_Previous_Word()
1778 s = After_End_Of_Data(field->buf, (int)(t - field->buf)); in IFN_Previous_Word()
1779 t = After_Last_Whitespace_Character(field->buf, (int)(s - field->buf)); in IFN_Previous_Word()
1801 FIELD *field = form->current; in IFN_Beginning_Of_Field() local
1806 Get_Start_Of_Data(field->buf, Buffer_Length(field))); in IFN_Beginning_Of_Field()
1824 FIELD *field = form->current; in IFN_End_Of_Field() local
1829 pos = After_End_Of_Data(field->buf, Buffer_Length(field)); in IFN_End_Of_Field()
1830 if (pos == (field->buf + Buffer_Length(field))) in IFN_End_Of_Field()
1848 FIELD *field = form->current; in IFN_Beginning_Of_Line() local
1854 field->dcols)); in IFN_Beginning_Of_Line()
1872 FIELD *field = form->current; in IFN_End_Of_Line() local
1879 pos = After_End_Of_Data(bp, field->dcols); in IFN_End_Of_Line()
1880 if (pos == (bp + field->dcols)) in IFN_End_Of_Line()
1931 FIELD *field = form->current; in IFN_Right_Character() local
1933 if (Single_Line_Field(field) && Field_Grown(field, 1)) in IFN_Right_Character()
1977 FIELD *field = form->current; in IFN_Down_Character() local
1980 if ((++(form->currow)) == field->drows) in IFN_Down_Character()
1983 if (!Single_Line_Field(field) && Field_Grown(field, 1)) in IFN_Down_Character()
2012 FIELD *field = form->current; in VSC_Generic() local
2018 if ((rows_to_go + form->toprow) > (field->drows - field->rows)) in VSC_Generic()
2019 rows_to_go = (field->drows - field->rows - form->toprow); in VSC_Generic()
2192 FIELD *field = form->current; in HSC_Generic() local
2198 if ((cols_to_go + form->begincol) > (field->dcols - field->cols)) in HSC_Generic()
2199 cols_to_go = field->dcols - field->cols - form->begincol; in HSC_Generic()
2367 FIELD *field = form->current; in Is_There_Room_For_A_Line() local
2371 begin_of_last_line = Address_Of_Row_In_Buffer(field, (field->drows - 1)); in Is_There_Room_For_A_Line()
2372 s = After_End_Of_Data(begin_of_last_line, field->dcols); in Is_There_Room_For_A_Line()
2424 FIELD *field = form->current; in Insert_String() local
2425 FIELD_CELL *bp = Address_Of_Row_In_Buffer(field, row); in Insert_String()
2426 int datalen = (int)(After_End_Of_Data(bp, field->dcols) - bp); in Insert_String()
2427 int freelen = field->dcols - datalen; in Insert_String()
2443 if ((row == (field->drows - 1)) && Growable(field)) in Insert_String()
2445 if (!Field_Grown(field, 1)) in Insert_String()
2448 bp = Address_Of_Row_In_Buffer(field, row); in Insert_String()
2451 if (row < (field->drows - 1)) in Insert_String()
2458 + field->dcols in Insert_String()
2465 freelen = field->dcols - (datalen + freelen); /* for the next line */ in Insert_String()
2500 FIELD *field = form->current; in Wrapping_Not_Necessary_Or_Wrapping_Ok() local
2502 bool Last_Row = ((field->drows - 1) == form->currow); in Wrapping_Not_Necessary_Or_Wrapping_Ok()
2504 if ((Field_Has_Option(field, O_WRAP)) && /* wrapping wanted */ in Wrapping_Not_Necessary_Or_Wrapping_Ok()
2505 (!Single_Line_Field(field)) && /* must be multi-line */ in Wrapping_Not_Necessary_Or_Wrapping_Ok()
2507 (!Last_Row || Growable(field))) /* there are more lines */ in Wrapping_Not_Necessary_Or_Wrapping_Ok()
2518 if (!Field_Grown(field, 1)) in Wrapping_Not_Necessary_Or_Wrapping_Ok()
2522 Window_To_Buffer(form, field); in Wrapping_Not_Necessary_Or_Wrapping_Ok()
2523 split = After_Last_Whitespace_Character(bp, field->dcols); in Wrapping_Not_Necessary_Or_Wrapping_Ok()
2527 chars_to_be_wrapped = field->dcols - chars_to_remain_on_line; in Wrapping_Not_Necessary_Or_Wrapping_Ok()
2548 Window_To_Buffer(form, field); in Wrapping_Not_Necessary_Or_Wrapping_Ok()
2635 FIELD *field = form->current; in FE_New_Line() local
2637 bool Last_Row = ((field->drows - 1) == form->currow); in FE_New_Line()
2643 (!(Growable(field) && !Single_Line_Field(field)))) in FE_New_Line()
2658 if (Last_Row && !Field_Grown(field, 1)) in FE_New_Line()
2677 !(Growable(field) && !Single_Line_Field(field))) in FE_New_Line()
2687 if (!(May_Do_It || Growable(field))) in FE_New_Line()
2689 if (!May_Do_It && !Field_Grown(field, 1)) in FE_New_Line()
2693 t = After_End_Of_Data(bp, field->dcols - form->curcol); in FE_New_Line()
2719 FIELD *field = form->current; in FE_Insert_Character() local
2723 if (Check_Char(form, field, field->type, (int)C_BLANK, in FE_Insert_Character()
2724 (TypeArgument *)(field->arg))) in FE_Insert_Character()
2729 ((Single_Line_Field(field) && Growable(field)))) in FE_Insert_Character()
2731 if (!There_Is_Room && !Field_Grown(field, 1)) in FE_Insert_Character()
2755 FIELD *field = form->current; in FE_Insert_Line() local
2759 if (Check_Char(form, field, in FE_Insert_Line()
2760 field->type, (int)C_BLANK, (TypeArgument *)(field->arg))) in FE_Insert_Line()
2762 bool Maybe_Done = (form->currow != (field->drows - 1)) && in FE_Insert_Line()
2765 if (!Single_Line_Field(field) && in FE_Insert_Line()
2766 (Maybe_Done || Growable(field))) in FE_Insert_Line()
2768 if (!Maybe_Done && !Field_Grown(field, 1)) in FE_Insert_Line()
2813 FIELD *field = form->current; in FE_Delete_Previous() local
2828 prev_line = Address_Of_Row_In_Buffer(field, (form->currow - 1)); in FE_Delete_Previous()
2829 this_line = Address_Of_Row_In_Buffer(field, (form->currow)); in FE_Delete_Previous()
2831 prev_end = After_End_Of_Data(prev_line, field->dcols); in FE_Delete_Previous()
2832 this_end = After_End_Of_Data(this_line, field->dcols); in FE_Delete_Previous()
2834 (field->cols - (int)(prev_end - prev_line))) in FE_Delete_Previous()
2856 form->curcol = field->dcols - 1; in FE_Delete_Previous()
2901 FIELD *field = form->current; in FE_Delete_Word() local
2903 FIELD_CELL *ep = bp + field->dcols; in FE_Delete_Word()
3042 Next_Choice(FORM *form, FIELDTYPE *typ, FIELD *field, TypeArgument *argp) in Next_Choice() argument
3051 Next_Choice(form, typ->left, field, argp->left) || in Next_Choice()
3052 Next_Choice(form, typ->right, field, argp->right)); in Next_Choice()
3059 return typ->enum_next.gnext(form, field, (void *)argp); in Next_Choice()
3061 return typ->enum_next.onext(field, (void *)argp); in Next_Choice()
3064 return typ->next(field, (void *)argp); in Next_Choice()
3083 Previous_Choice(FORM *form, FIELDTYPE *typ, FIELD *field, TypeArgument *argp) in Previous_Choice() argument
3092 Previous_Choice(form, typ->left, field, argp->left) || in Previous_Choice()
3093 Previous_Choice(form, typ->right, field, argp->right)); in Previous_Choice()
3100 return typ->enum_prev.gprev(form, field, (void *)argp); in Previous_Choice()
3102 return typ->enum_prev.oprev(field, (void *)argp); in Previous_Choice()
3105 return typ->prev(field, (void *)argp); in Previous_Choice()
3129 FIELD *field = form->current; in CR_Next_Choice() local
3133 returnCode((Next_Choice(form, field->type, field, (TypeArgument *)(field->arg))) in CR_Next_Choice()
3150 FIELD *field = form->current; in CR_Previous_Choice() local
3154 returnCode((Previous_Choice(form, field->type, field, (TypeArgument *)(field->arg))) in CR_Previous_Choice()
3181 Check_Field(FORM *form, FIELDTYPE *typ, FIELD *field, TypeArgument *argp) in Check_Field() argument
3185 if (Field_Has_Option(field, O_NULLOK)) in Check_Field()
3187 FIELD_CELL *bp = field->buf; in Check_Field()
3202 Check_Field(form, typ->left, field, argp->left) || in Check_Field()
3203 Check_Field(form, typ->right, field, argp->right)); in Check_Field()
3211 return typ->fieldcheck.gfcheck(form, field, (void *)argp); in Check_Field()
3213 return typ->fieldcheck.ofcheck(field, (void *)argp); in Check_Field()
3217 return typ->fcheck(field, (void *)argp); in Check_Field()
3236 FIELD *field; in _nc_Internal_Validation() local
3238 field = form->current; in _nc_Internal_Validation()
3242 (!(Field_Has_Option(field, O_PASSOK)))) in _nc_Internal_Validation()
3244 if (!Check_Field(form, field->type, field, (TypeArgument *)(field->arg))) in _nc_Internal_Validation()
3247 SetStatus(field, _CHANGED); in _nc_Internal_Validation()
3248 Synchronize_Linked_Fields(field); in _nc_Internal_Validation()
3298 Next_Field_On_Page(FIELD *field) in Next_Field_On_Page() argument
3300 FORM *form = field->form; in Next_Field_On_Page()
3301 FIELD **field_on_page = &form->field[field->index]; in Next_Field_On_Page()
3302 FIELD **first_on_page = &form->field[form->page[form->curpage].pmin]; in Next_Field_On_Page()
3303 FIELD **last_on_page = &form->field[form->page[form->curpage].pmax]; in Next_Field_On_Page()
3312 while (field != (*field_on_page)); in Next_Field_On_Page()
3330 FIELD **last_on_page = &form->field[form->page[form->curpage].pmax]; in _nc_First_Active_Field()
3341 FIELD **field = &form->field[proposed->index]; in _nc_First_Active_Field() local
3342 FIELD **first = &form->field[form->page[form->curpage].pmin]; in _nc_First_Active_Field()
3346 field = (field == last_on_page) ? first : field + 1; in _nc_First_Active_Field()
3347 if (Field_Has_Option(*field, O_VISIBLE)) in _nc_First_Active_Field()
3350 while (proposed != (*field)); in _nc_First_Active_Field()
3352 proposed = *field; in _nc_First_Active_Field()
3381 Previous_Field_On_Page(FIELD *field) in Previous_Field_On_Page() argument
3383 FORM *form = field->form; in Previous_Field_On_Page()
3384 FIELD **field_on_page = &form->field[field->index]; in Previous_Field_On_Page()
3385 FIELD **first_on_page = &form->field[form->page[form->curpage].pmin]; in Previous_Field_On_Page()
3386 FIELD **last_on_page = &form->field[form->page[form->curpage].pmax]; in Previous_Field_On_Page()
3395 while (field != (*field_on_page)); in Previous_Field_On_Page()
3411 Sorted_Next_Field(FIELD *field) in Sorted_Next_Field() argument
3413 FIELD *field_on_page = field; in Sorted_Next_Field()
3421 while (field_on_page != field); in Sorted_Next_Field()
3437 Sorted_Previous_Field(FIELD *field) in Sorted_Previous_Field() argument
3439 FIELD *field_on_page = field; in Sorted_Previous_Field()
3447 while (field_on_page != field); in Sorted_Previous_Field()
3462 Left_Neighbor_Field(FIELD *field) in Left_Neighbor_Field() argument
3464 FIELD *field_on_page = field; in Left_Neighbor_Field()
3475 while (field_on_page->frow != field->frow); in Left_Neighbor_Field()
3490 Right_Neighbor_Field(FIELD *field) in Right_Neighbor_Field() argument
3492 FIELD *field_on_page = field; in Right_Neighbor_Field()
3499 while (field_on_page->frow != field->frow); in Right_Neighbor_Field()
3518 Upper_Neighbor_Field(FIELD *field) in Upper_Neighbor_Field() argument
3520 FIELD *field_on_page = field; in Upper_Neighbor_Field()
3521 int frow = field->frow; in Upper_Neighbor_Field()
3522 int fcol = field->fcol; in Upper_Neighbor_Field()
3568 Down_Neighbor_Field(FIELD *field) in Down_Neighbor_Field() argument
3570 FIELD *field_on_page = field; in Down_Neighbor_Field()
3571 int frow = field->frow; in Down_Neighbor_Field()
3572 int fcol = field->fcol; in Down_Neighbor_Field()
3688 Next_Field_On_Page(form->field[form->page[form->curpage].pmax]))); in FN_First_Field()
3706 Previous_Field_On_Page(form->field[form->page[form->curpage].pmin]))); in FN_Last_Field()
3760 Sorted_Next_Field(form->field[form->page[form->curpage].smax]))); in FN_Sorted_First_Field()
3778 Sorted_Previous_Field(form->field[form->page[form->curpage].smin]))); in FN_Sorted_Last_Field()
3882 _nc_Set_Form_Page(FORM *form, int page, FIELD *field) in _nc_Set_Form_Page() argument
3892 last_field = field_on_page = form->field[form->page[page].smin]; in _nc_Set_Form_Page()
3902 if (field) in _nc_Set_Form_Page()
3903 res = _nc_Set_Current_Field(form, field); in _nc_Set_Form_Page()
4071 FIELD *field = form->current; in Data_Entry_w() local
4075 if ((Field_Has_Option(field, O_EDIT)) in Data_Entry_w()
4077 && (Field_Has_Option(field, O_ACTIVE)) in Data_Entry_w()
4087 if ((Field_Has_Option(field, O_BLANK)) && in Data_Entry_w()
4103 ((Single_Line_Field(field) && Growable(field))))) in Data_Entry_w()
4106 if (!There_Is_Room && !Field_Grown(field, 1)) in Data_Entry_w()
4114 bool End_Of_Field = (((field->drows - 1) == form->currow) && in Data_Entry_w()
4115 ((field->dcols - 1) == form->curcol)); in Data_Entry_w()
4118 if (End_Of_Field && !Growable(field) && (Field_Has_Option(field, O_AUTOSKIP))) in Data_Entry_w()
4122 if (End_Of_Field && Growable(field) && !Field_Grown(field, 1)) in Data_Entry_w()
4158 FIELD *field = form->current; in Data_Entry() local
4162 if ((Field_Has_Option(field, O_EDIT)) in Data_Entry()
4164 && (Field_Has_Option(field, O_ACTIVE)) in Data_Entry()
4168 if ((Field_Has_Option(field, O_BLANK)) && in Data_Entry()
4184 ((Single_Line_Field(field) && Growable(field))))) in Data_Entry()
4187 if (!There_Is_Room && !Field_Grown(field, 1)) in Data_Entry()
4195 bool End_Of_Field = (((field->drows - 1) == form->currow) && in Data_Entry()
4196 ((field->dcols - 1) == form->curcol)); in Data_Entry()
4198 if (Field_Has_Option(field, O_EDGE_INSERT_STAY)) in Data_Entry()
4201 - field->cols in Data_Entry()
4205 if (End_Of_Field && !Growable(field) && (Field_Has_Option(field, O_AUTOSKIP))) in Data_Entry()
4209 if (End_Of_Field && Growable(field) && !Field_Grown(field, 1)) in Data_Entry()
4375 if (!(form->field) || !(form->current)) in form_driver()
4492 FIELD *field = form->field[i]; in form_driver() local
4494 if (Field_Is_Selectable(field) in form_driver()
4495 && Field_encloses(field, ry, rx) == E_OK) in form_driver()
4497 res = _nc_Set_Current_Field(form, field); in form_driver()
4579 if (!(form->field)) in form_driver_w()
4693 FIELD *field = form->field[i]; in form_driver_w() local
4695 if (Field_Is_Selectable(field) in form_driver_w()
4696 && Field_encloses(field, ry, rx) == E_OK) in form_driver_w()
4698 res = _nc_Set_Current_Field(form, field); in form_driver_w()
4750 set_field_buffer(FIELD *field, int buffer, const char *value) in set_field_buffer() argument
4761 T((T_CALLED("set_field_buffer(%p,%d,%s)"), (void *)field, buffer, _nc_visbuf(value))); in set_field_buffer()
4763 if (!field || !value || ((buffer < 0) || (buffer > field->nbuf))) in set_field_buffer()
4766 len = Buffer_Length(field); in set_field_buffer()
4768 if (Growable(field)) in set_field_buffer()
4777 if (!Field_Grown(field, in set_field_buffer()
4778 (int)(1 + (vlen - len) / ((field->rows + field->nrow) in set_field_buffer()
4779 * field->cols)))) in set_field_buffer()
4788 p = Address_Of_Nth_Buffer(field, buffer); in set_field_buffer()
4797 if (wresize(field->working, 1, Buffer_Length(field) + 1) == ERR) in set_field_buffer()
4800 delwin(field->working); in set_field_buffer()
4801 field->working = newpad(1, Buffer_Length(field) + 1); in set_field_buffer()
4803 len = Buffer_Length(field); in set_field_buffer()
4804 wclear(field->working); in set_field_buffer()
4805 (void)mvwaddstr(field->working, 0, 0, value); in set_field_buffer()
4813 for (i = 0; i < field->drows; ++i) in set_field_buffer()
4815 (void)mvwin_wchnstr(field->working, 0, (int)i * field->dcols, in set_field_buffer()
4816 widevalue + ((int)i * field->dcols), in set_field_buffer()
4817 field->dcols); in set_field_buffer()
4848 if (((syncres = Synchronize_Field(field)) != E_OK) && in set_field_buffer()
4851 if (((syncres = Synchronize_Linked_Fields(field)) != E_OK) && in set_field_buffer()
4867 field_buffer(const FIELD *field, int buffer) in field_buffer() argument
4871 T((T_CALLED("field_buffer(%p,%d)"), (const void *)field, buffer)); in field_buffer()
4873 if (field && (buffer >= 0) && (buffer <= field->nbuf)) in field_buffer()
4876 FIELD_CELL *data = Address_Of_Nth_Buffer(field, buffer); in field_buffer()
4878 int size = Buffer_Length(field); in field_buffer()
4897 if (field->expanded[buffer] != 0) in field_buffer()
4898 free(field->expanded[buffer]); in field_buffer()
4899 field->expanded[buffer] = typeMalloc(char, need + 1); in field_buffer()
4909 if ((result = field->expanded[buffer]) != 0) in field_buffer()
4911 wclear(field->working); in field_buffer()
4912 wmove(field->working, 0, 0); in field_buffer()
4916 wadd_wch(field->working, &data[n]); in field_buffer()
4918 wmove(field->working, 0, 0); in field_buffer()
4919 winnstr(field->working, result, (int)need); in field_buffer()
4922 result = Address_Of_Nth_Buffer(field, buffer); in field_buffer()