#include "form.priv.h"Go to the source code of this file.
|
|
Definition at line 162 of file frm_driver.c. Referenced by FE_New_Line(), IFN_Next_Word(), and IFN_Previous_Word(). |
|
|
Definition at line 157 of file frm_driver.c. |
|
|
Definition at line 152 of file frm_driver.c. Referenced by FE_Delete_Word(), IFN_Beginning_Of_Line(), IFN_End_Of_Line(), and Wrapping_Not_Necessary_Or_Wrapping_Ok(). |
|
|
Definition at line 147 of file frm_driver.c. |
|
|
Definition at line 134 of file frm_driver.c. Referenced by field_buffer(), Field_Grown(), and set_field_buffer(). |
|
|
Definition at line 142 of file frm_driver.c. Referenced by FE_Delete_Previous(), Insert_String(), and Is_There_Room_For_A_Line(). |
|
|
Definition at line 138 of file frm_driver.c. |
|
|
Definition at line 234 of file frm_driver.c. Referenced by _nc_Synchronize_Attributes(). |
|
|
Value: Definition at line 335 of file frm_driver.c. Referenced by FE_Delete_Character(), FE_Delete_Previous(), and Wrapping_Not_Necessary_Or_Wrapping_Ok(). |
|
|
Definition at line 1058 of file frm_driver.c. Referenced by _nc_Set_Form_Page(), _nc_Synchronize_Attributes(), _nc_Synchronize_Options(), and Synchronize_Field(). |
|
|
Definition at line 1059 of file frm_driver.c. Referenced by _nc_Synchronize_Options(). |
|
|
Value: ((field->form) &&\ (field->form->status & _POSTED) &&\ (field->opts & O_VISIBLE) &&\ (field->page == field->form->curpage)) Definition at line 194 of file frm_driver.c. Referenced by _nc_Synchronize_Attributes(), _nc_Synchronize_Options(), and Synchronize_Field(). |
|
|
Definition at line 202 of file frm_driver.c. Referenced by Data_Entry(), FE_Delete_Previous(), and Field_Editing(). |
|
|
Definition at line 97 of file frm_driver.c. Referenced by Data_Entry(). |
|
|
Definition at line 95 of file frm_driver.c. |
|
|
Definition at line 99 of file frm_driver.c. |
|
|
Definition at line 186 of file frm_driver.c. Referenced by Data_Entry(), FE_Insert_Character(), FE_Insert_Line(), FE_New_Line(), Field_Grown(), Insert_String(), set_field_buffer(), and Wrapping_Not_Necessary_Or_Wrapping_Ok(). |
|
|
Value: (!((field)->opts & O_PUBLIC) || \ Is_Scroll_Field(field)) Definition at line 174 of file frm_driver.c. Referenced by _nc_Position_Form_Cursor(), and _nc_Set_Current_Field(). |
|
|
Definition at line 3979 of file frm_driver.c. |
|
|
Definition at line 3977 of file frm_driver.c. |
|
|
Definition at line 3976 of file frm_driver.c. |
|
|
Definition at line 3972 of file frm_driver.c. |
|
|
Definition at line 3978 of file frm_driver.c. |
|
|
Definition at line 3975 of file frm_driver.c. |
|
|
Definition at line 3973 of file frm_driver.c. |
|
|
Definition at line 3980 of file frm_driver.c. Referenced by form_driver(). |
|
|
Definition at line 3971 of file frm_driver.c. |
|
|
Definition at line 3982 of file frm_driver.c. Referenced by form_driver(). |
|
|
Definition at line 3974 of file frm_driver.c. |
|
|
Value: Definition at line 167 of file frm_driver.c. Referenced by _nc_Refresh_Current_Field(). |
|
|
Value: (((field)->just != NO_JUSTIFICATION) && \ (Single_Line_Field(field)) && \ (((field)->dcols == (field)->cols) && \ ((field)->opts & O_STATIC)) ) Definition at line 179 of file frm_driver.c. Referenced by _nc_Set_Current_Field(), _nc_Synchronize_Attributes(), Display_Or_Erase_Field(), and Synchronize_Field(). |
|
|
Definition at line 3981 of file frm_driver.c. Referenced by form_driver(). |
|
|
Definition at line 206 of file frm_driver.c. |
|
|
Definition at line 205 of file frm_driver.c. Referenced by Field_Grown(). |
|
|
Definition at line 107 of file frm_driver.c. Referenced by Buffer_To_Window(), FE_Delete_Previous(), FE_Delete_Word(), FE_New_Line(), Perform_Justification(), and Undo_Justification(). |
|
|
Definition at line 109 of file frm_driver.c. Referenced by Window_To_Buffer(). |
|
|
Definition at line 108 of file frm_driver.c. Referenced by Insert_String(). |
|
|
Definition at line 110 of file frm_driver.c. Referenced by IFN_Left_Character(), IFN_Next_Character(), IFN_Previous_Character(), and IFN_Right_Character(). |
|
|
Definition at line 131 of file frm_driver.c. |
|
|
Value: Definition at line 189 of file frm_driver.c. Referenced by _nc_Set_Current_Field(), _nc_Synchronize_Attributes(), Display_Or_Erase_Field(), and Field_Grown(). |
|
|
Definition at line 2243 of file frm_driver.c. Referenced by Wrapping_Not_Necessary_Or_Wrapping_Ok(). |
|
|
Definition at line 430 of file frm_driver.c. |
|
|
Definition at line 3144 of file frm_driver.c. References field, Field_Is_Not_Selectable, Next_Field_On_Page(), and O_VISIBLE. Referenced by form_driver(), and set_form_page(). 03145 { 03146 FIELD **last_on_page = &form->field[form->page[form->curpage].pmax]; 03147 FIELD *proposed = Next_Field_On_Page(*last_on_page); 03148 03149 if (proposed == *last_on_page) 03150 { 03151 /* there might be the special situation, where there is no 03152 active and visible field on the current page. We then select 03153 the first visible field on this readonly page 03154 */ 03155 if (Field_Is_Not_Selectable(proposed)) 03156 { 03157 FIELD **field = &form->field[proposed->index]; 03158 FIELD **first = &form->field[form->page[form->curpage].pmin]; 03159 03160 do 03161 { 03162 field = (field == last_on_page) ? first : field + 1; 03163 if (((*field)->opts & O_VISIBLE)) 03164 break; 03165 } 03166 while (proposed != (*field)); 03167 03168 proposed = *field; 03169 03170 if ((proposed == *last_on_page) && !(proposed->opts & O_VISIBLE)) 03171 { 03172 /* This means, there is also no visible field on the page. 03173 So we propose the first one and hope the very best... 03174 Some very clever user has designed a readonly and invisible 03175 page on this form. 03176 */ 03177 proposed = *first; 03178 } 03179 } 03180 } 03181 return (proposed); 03182 }
|
|
|
Definition at line 3050 of file frm_driver.c. References _CHANGED, _FCHECK_REQUIRED, fieldnode::arg, Check_Field(), field, O_PASSOK, fieldnode::opts, fieldnode::status, Synchronize_Buffer(), Synchronize_Linked_Fields(), and fieldnode::type. Referenced by FV_Validation(), Inter_Field_Navigation(), Page_Navigation(), set_current_field(), and set_form_page(). 03051 { 03052 FIELD *field; 03053 03054 field = form->current; 03055 03056 Synchronize_Buffer(form); 03057 if ((form->status & _FCHECK_REQUIRED) || 03058 (!(field->opts & O_PASSOK))) 03059 { 03060 if (!Check_Field(field->type, field, (TypeArgument *)(field->arg))) 03061 return FALSE; 03062 form->status &= ~_FCHECK_REQUIRED; 03063 field->status |= _CHANGED; 03064 Synchronize_Linked_Fields(field); 03065 } 03066 return TRUE; 03067 }
|
|
|
Definition at line 741 of file frm_driver.c. References E_BAD_ARGUMENT, E_OK, E_SYSTEM_ERROR, fieldnode::fcol, field, fieldnode::frow, Get_Form_Window, Has_Invisible_Parts, wcursyncup(), and wmove(). Referenced by _nc_Refresh_Current_Field(), and pos_form_cursor(). 00742 { 00743 FIELD *field; 00744 WINDOW *formwin; 00745 00746 if (!form) 00747 return (E_BAD_ARGUMENT); 00748 00749 if (!form->w || !form->current) 00750 return (E_SYSTEM_ERROR); 00751 00752 field = form->current; 00753 formwin = Get_Form_Window(form); 00754 00755 wmove(form->w, form->currow, form->curcol); 00756 if (Has_Invisible_Parts(field)) 00757 { 00758 /* in this case fieldwin isn't derived from formwin, so we have 00759 to move the cursor in formwin by hand... */ 00760 wmove(formwin, 00761 field->frow + form->currow - form->toprow, 00762 field->fcol + form->curcol - form->begincol); 00763 wcursyncup(formwin); 00764 } 00765 else 00766 wcursyncup(form->w); 00767 return (E_OK); 00768 }
|
|
|
Definition at line 782 of file frm_driver.c. References _nc_Position_Form_Cursor(), _NEWTOP, copywin(), E_BAD_ARGUMENT, E_SYSTEM_ERROR, field, Get_Form_Window, is_linetouched(), Is_Scroll_Field, O_PUBLIC, fieldnode::opts, RETURN, returnCode, Single_Line_Field, T, T_CALLED, and wsyncup(). Referenced by _nc_Set_Current_Field(), _nc_Synchronize_Attributes(), form_driver(), post_form(), set_current_field(), set_form_page(), and Synchronize_Field(). 00783 { 00784 WINDOW *formwin; 00785 FIELD *field; 00786 00787 T((T_CALLED("_nc_Refresh_Current_Field(%p)"), form)); 00788 00789 if (!form) 00790 RETURN(E_BAD_ARGUMENT); 00791 00792 if (!form->w || !form->current) 00793 RETURN(E_SYSTEM_ERROR); 00794 00795 field = form->current; 00796 formwin = Get_Form_Window(form); 00797 00798 if (field->opts & O_PUBLIC) 00799 { 00800 if (Is_Scroll_Field(field)) 00801 { 00802 /* Again, in this case the fieldwin isn't derived from formwin, 00803 so we have to perform a copy operation. */ 00804 if (Single_Line_Field(field)) 00805 { 00806 /* horizontal scrolling */ 00807 if (form->curcol < form->begincol) 00808 form->begincol = form->curcol; 00809 else 00810 { 00811 if (form->curcol >= (form->begincol + field->cols)) 00812 form->begincol = form->curcol - field->cols + 1; 00813 } 00814 copywin(form->w, 00815 formwin, 00816 0, 00817 form->begincol, 00818 field->frow, 00819 field->fcol, 00820 field->frow, 00821 field->cols + field->fcol - 1, 00822 0); 00823 } 00824 else 00825 { 00826 /* A multi-line, i.e. vertical scrolling field */ 00827 int row_after_bottom, first_modified_row, first_unmodified_row; 00828 00829 if (field->drows > field->rows) 00830 { 00831 row_after_bottom = form->toprow + field->rows; 00832 if (form->currow < form->toprow) 00833 { 00834 form->toprow = form->currow; 00835 field->status |= _NEWTOP; 00836 } 00837 if (form->currow >= row_after_bottom) 00838 { 00839 form->toprow = form->currow - field->rows + 1; 00840 field->status |= _NEWTOP; 00841 } 00842 if (field->status & _NEWTOP) 00843 { 00844 /* means we have to copy whole range */ 00845 first_modified_row = form->toprow; 00846 first_unmodified_row = first_modified_row + field->rows; 00847 field->status &= ~_NEWTOP; 00848 } 00849 else 00850 { 00851 /* we try to optimize : finding the range of touched 00852 lines */ 00853 first_modified_row = form->toprow; 00854 while (first_modified_row < row_after_bottom) 00855 { 00856 if (is_linetouched(form->w, first_modified_row)) 00857 break; 00858 first_modified_row++; 00859 } 00860 first_unmodified_row = first_modified_row; 00861 while (first_unmodified_row < row_after_bottom) 00862 { 00863 if (!is_linetouched(form->w, first_unmodified_row)) 00864 break; 00865 first_unmodified_row++; 00866 } 00867 } 00868 } 00869 else 00870 { 00871 first_modified_row = form->toprow; 00872 first_unmodified_row = first_modified_row + field->rows; 00873 } 00874 if (first_unmodified_row != first_modified_row) 00875 copywin(form->w, 00876 formwin, 00877 first_modified_row, 00878 0, 00879 field->frow + first_modified_row - form->toprow, 00880 field->fcol, 00881 field->frow + first_unmodified_row - form->toprow - 1, 00882 field->cols + field->fcol - 1, 00883 0); 00884 } 00885 wsyncup(formwin); 00886 } 00887 else 00888 { 00889 /* if the field-window is simply a derived window, i.e. contains no 00890 * invisible parts, the whole thing is trivial 00891 */ 00892 wsyncup(form->w); 00893 } 00894 } 00895 untouchwin(form->w); 00896 returnCode(_nc_Position_Form_Cursor(form)); 00897 }
|
|