123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #include "form.priv.h"
- MODULE_ID("$Id$")
- int set_form_page(FORM * form, int page)
- {
- int err = E_OK;
- if ( !form || (page<0) || (page>=form->maxpage) )
- RETURN(E_BAD_ARGUMENT);
- if (!(form->status & _POSTED))
- {
- form->curpage = page;
- form->current = _nc_First_Active_Field(form);
- }
- else
- {
- if (form->status & _IN_DRIVER)
- err = E_BAD_STATE;
- else
- {
- if (form->curpage != page)
- {
- if (!_nc_Internal_Validation(form))
- err = E_INVALID_FIELD;
- else
- {
- Call_Hook(form,fieldterm);
- Call_Hook(form,formterm);
- err = _nc_Set_Form_Page(form,page,(FIELD *)0);
- Call_Hook(form,forminit);
- Call_Hook(form,fieldinit);
- _nc_Refresh_Current_Field(form);
- }
- }
- }
- }
- RETURN(err);
- }
- int form_page(const FORM * form)
- {
- return Normalize_Form(form)->curpage;
- }
|