Return TypeFunction nameArguments
hzEcodehdsNavtree::AddHead(const hzString&,const hzString&,const hzString&,bool,)

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

Function Logic:

0:START 1:!refname 2:Return hzerr(E_ARGUMENT,%s: No item refname supplied,*m_Groupname) 3:!title 4:Return hzerr(E_ARGUMENT,%s: No item title supplied,*m_Groupname) 5:m_ItemsByName.Exists(refname) 6:hzexit 7:parent 8:!m_ItemsByName.Exists(parent) 9:Return hzerr(E_CORRUPT,%s: Heading %s (%s): Stated parent (%s) does not exist,*m_Groupname,*refname,*title,*parent) 10:parItem 11:item 12:bSlct 13:item 14:item 15:!parent 16:item 17:item 18:hzMapM::Insert hzMapS::Insert 19:Return E_OK

Function body:

hzEcode hdsNavtree::AddHead (const hzString& parent, const hzString& refname, const hzString& title, bool bSlct)
{
   _hzfunc("hdsNavtree::AddHead(1)") ;
   _navitem    item ;
   _navitem    parItem ;
   if (!refname)   return hzerr(E_ARGUMENT, "%s: No item refname supplied", *m_Groupname) ;
   if (!title)     return hzerr(E_ARGUMENT, "%s: No item title supplied", *m_Groupname) ;
   if (m_ItemsByName.Exists(refname))
       hzexit(E_DUPLICATE, "%s: Heading %s (%s) already exists", *m_Groupname, *refname, *title) ;
   if (parent)
   {
       if (!m_ItemsByName.Exists(parent))
           return hzerr(E_CORRUPT, "%s: Heading %s (%s): Stated parent (%s) does not exist", *m_Groupname, *refname, *title, *parent) ;
       parItem = m_ItemsByName[parent] ;
   }
   item.m_Title = title ;
   if (bSlct)
       item.m_bFlags |= HZ_TREEITEM_OPEN ;
   item.m_bFlags |= HZ_TREEITEM_LINK ;
   if (!parent)
       item.m_nLevel = 0;
   else
       item.m_nLevel = parItem.m_nLevel + 1;
   m_ItemsByParent.Insert(parent, refname) ;
   m_ItemsByName.Insert(refname, item) ;
   return E_OK ;
}