| Return Type | Function name | Arguments |
|---|---|---|
| hzEcode | hdsApp::CreateDefaultForm | (const hzString&,) |
Declared in file: hzDissemino.h
Defined in file : hdsResource.cpp
Function Logic:
Function body:
hzEcode hdsApp::CreateDefaultForm (const hzString& cname)
{
_hzfunc("hdsApp::CreateDefaultForm") ;
const hdbClass* pClass ;
const hdbMember* pMbr ;
hdsFormdef* pFormdef ;
hdsFormhdl* pFormhdl ;
hdsFormref* pFormref ;
hdsField* pFld ;
hzString S ;
uint32_t mbrNo ;
hzEcode rc = E_OK ;
if (cname == "subscriber")
{
m_pLog->Log("Subscriber class is a special case. No default form is required\n") ;
return E_OK ;
}
pClass = m_ADP.GetPureClass(cname) ;
if (!pClass)
{ m_pLog->Out("No such class as %s\n", *cname) ; return E_NOTFOUND ; }
m_pLog->Log("Doing class %s with %d members\n", *cname, pClass->MbrCount()) ;
pFormdef = new hdsFormdef() ;
pFormdef->m_Formname = "dflt_form_" + cname ;
pFormdef->m_DfltAct = "/dflt_fhdl_" + cname ;
pFormdef->m_pClass = pClass ;
m_FormDefs.Insert(pFormdef->m_Formname, pFormdef) ;
for (mbrNo = 0; mbrNo < pClass->MbrCount() ; mbrNo++)
{
pMbr = pClass->GetMember(mbrNo) ;
pFld = new hdsField(this) ;
pFld->InitVE(this) ;
pFld->m_strPretext = pMbr->strName() ;
pFld->m_Line = mbrNo ;
pFld->m_Indent = 0;
pFormdef->m_vecFlds.Add(pFld) ;
}
pFormhdl = new hdsFormhdl() ;
pFormhdl->m_Refname = "dflt_fhdl_" + cname ;
pFormhdl->m_pFormdef = pFormdef ;
pFormhdl->m_flgFH |= VE_COOKIES ;
m_FormHdls.Insert(pFormhdl->m_Refname, pFormhdl) ;
m_FormUrl2Hdl.Insert(pFormdef->m_DfltAct, pFormhdl->m_Refname) ;
pFormref = new hdsFormref(this) ;
pFormref->m_Formname = pFormdef->m_Formname ;
m_FormUrl2Ref.Insert(pFormdef->m_DfltAct, pFormref) ;
m_FormRef2Url.Insert(pFormref, pFormdef->m_DfltAct) ;
return rc ;
}