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 ; }