Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

frm_page.c File Reference

#include "form.priv.h"

Go to the source code of this file.

Functions

 set_form_page (FORM *form, int page)
 form_page (const FORM *form)


Function Documentation

form_page const FORM form  ) 
 

Definition at line 99 of file frm_page.c.

References Normalize_Form, returnCode, T, and T_CALLED.

Referenced by NCursesForm::page().

00100 {
00101   T((T_CALLED("form_page(%p)"), form));
00102 
00103   returnCode(Normalize_Form(form)->curpage);
00104 }

set_form_page FORM form,
int  page
 

Definition at line 50 of file frm_page.c.

References _IN_DRIVER, _nc_First_Active_Field(), _nc_Internal_Validation(), _nc_Refresh_Current_Field(), _nc_Set_Form_Page(), _POSTED, Call_Hook, E_BAD_ARGUMENT, E_BAD_STATE, E_INVALID_FIELD, E_OK, err(), RETURN, T, and T_CALLED.

Referenced by NCursesForm::set_page().

00051 {
00052   int err = E_OK;
00053 
00054   T((T_CALLED("set_form_page(%p,%d)"), form, page));
00055 
00056   if (!form || (page < 0) || (page >= form->maxpage))
00057     RETURN(E_BAD_ARGUMENT);
00058 
00059   if (!(form->status & _POSTED))
00060     {
00061       form->curpage = page;
00062       form->current = _nc_First_Active_Field(form);
00063     }
00064   else
00065     {
00066       if (form->status & _IN_DRIVER)
00067         err = E_BAD_STATE;
00068       else
00069         {
00070           if (form->curpage != page)
00071             {
00072               if (!_nc_Internal_Validation(form))
00073                 err = E_INVALID_FIELD;
00074               else
00075                 {
00076                   Call_Hook(form, fieldterm);
00077                   Call_Hook(form, formterm);
00078                   err = _nc_Set_Form_Page(form, page, (FIELD *)0);
00079                   Call_Hook(form, forminit);
00080                   Call_Hook(form, fieldinit);
00081                   _nc_Refresh_Current_Field(form);
00082                 }
00083             }
00084         }
00085     }
00086   RETURN(err);
00087 }


© sourcejam.com 2005-2008