Return TypeFunction nameArguments
voidhdsField::Generate(hzChain&,hzHttpEvent*,unsigned int&,)

Declared in file: hzDissemino.h
Defined in file : hdsGenerate.cpp

Function Logic:

0:START 1:pE&&m_Source 2:hdsApp::PcEntConv rc hzAtom::IsSet 3:atom.IsSet() 4:hzAtom::Str value 5:m_Fldspec.htype 6:HTMLTYPE_HIDDEN 7:hzChain::Printf

Function body:

void hdsField::Generate (hzChain& C, hzHttpEvent* pE, unsigned int& nLine)
{
   _hzfunc("hdsField::Generate") ;
   hzAtom          atom ;
   hdbEnum*        pSlct ;
   const char*     pDictStr ;
   hzString        value ;
   hzString        S ;
   uint32_t        rows ;
   uint32_t        n ;
   hzEcode         rc ;
   if (pE && m_Source)
   {
       rc = m_pApp->PcEntConv(atom, m_Source, pE) ;
       if (atom.IsSet())
           value = atom.Str() ;
   }
   switch  (m_Fldspec.htype)
   {
   case HTMLTYPE_HIDDEN:
       C.Printf("<input type="hidden" name="%s" value="%s"/>"      , *m_Varname, *value) ;
       break ;
   case HTMLTYPE_SELECT:
       pSlct = (hdbEnum*) m_Fldspec.m_pType ;
       if (m_flagVE & VE_MULTIPLE)
           C.Printf("<select name="%s" multiple>"  , *m_Varname) ;
       else
           C.Printf("<select name="%s">"  , *m_Varname) ;
       for (n = 0; n < pSlct->Count() ; n++)
       {
           S = pSlct->GetStr(n) ;
           if (value == pDictStr)
               C.Printf("<option selected>%s</option>", *S) ;
           else
               C.Printf("<option>%s</option>", *S) ;
       }
       C << "</select>" ;
       break ;
   case HTMLTYPE_RADIO:
       pSlct = (hdbEnum*) m_Fldspec.m_pType ;
       rows = (pSlct->Count() / m_Fldspec.nCols) + 1;
       C << "<table>\n" ;
       C << "\t<tr>\n" ;
       C << "\t\t<td>\n" ;
       for (n = 0; n < pSlct->Count() ; n++)
       {
           S = pSlct->GetStr(n) ;
           if (n && (n % rows) == 0)
           {
               C.Printf("<input type="radio" name="%s" value="%d">%s\n"      , *m_Varname, n, *S) ;
               C << "\t\t<td>\n\t\t</td>\n" ;
               continue ;
           }
           C.Printf("<input type="radio" name="%s" value="%d">%s<br>\n"      , *m_Varname, n, *S) ;
       }
       C << "\t\t</td>\n" ;
       C << "\t</tr>\n" ;
       C << "</table>\n" ;
       break ;
   case HTMLTYPE_CHECKBOX: if (value)
                               C.Printf("<input type="checkbox" name="%s" checked>"    , *m_Varname) ;
                           else
                               C.Printf("<input type="checkbox" name="%s">"    , *m_Varname) ;
                           break ;
   case HTMLTYPE_FILE:     C.Printf("<input type="file" name="%s" value="%s">"      , *m_Varname, *value) ;
                           break ;
   case HTMLTYPE_TEXT:
   case HTMLTYPE_TEXTAREA:
       if (m_Fldspec.nRows <&eq; 1)
       {
           if (m_flagVE & VE_UNIQUE)
               C.Printf("<input type="text" name="%s" size="%d" maxlength="%d" onchange="ckUnique_%s()""          ,
                   *m_Varname, m_Fldspec.nCols, m_Fldspec.nSize, *m_Varname) ;
           else
               C.Printf("<input type="text" name="%s" size="%d" maxlength="%d""        , *m_Varname, m_Fldspec.nCols, m_Fldspec.nSize) ;
           if (m_CSS)
               C.Printf(" class="%s""  , *m_CSS) ;
           if (value)
               C.Printf(" value="%s""  , *value) ;
           if (m_flagVE & VE_DISABLED)
               C << " disabled" ;
           C << "/>" ;
       }
       else
       {
           C.Printf("<textarea name="%s" rows="%d" cols="%d" maxlength="%d""        , *m_Varname, m_Fldspec.nRows, m_Fldspec.nCols, m_Fldspec.nSize) ;
           if (m_CSS)
               C.Printf(" class="%s""  , *m_CSS) ;
           C.AddByte(CHAR_MORE) ;
           if (value)
               C << value ;
           C << "</textarea>" ;
       }
       break ;
   case HTMLTYPE_PASSWORD:
       C.Printf("<input type="password" name="%s" size="%d" maxlength="%d""        , *m_Varname, m_Fldspec.nCols, m_Fldspec.nSize) ;
       if (m_CSS)
           C.Printf(" class="%s""  , *m_CSS) ;
       if (value)
           C.Printf(" value="%s""  , *value) ;
       C << "/>" ;
       break ;
   default:
       C.Printf("Sorry: HTML Unknown type. FldDesc=%s Name=%s Type=%s htype=%d Rows=%d Cols=%d Size=%d",
           *m_Fldspec.m_Refname, *m_Varname, m_Fldspec.m_pType->txtType(), m_Fldspec.htype, m_Fldspec.nRows, m_Fldspec.nCols, m_Fldspec.nSize) ;
       break ;
   }
}