//======================================================== // Name : DetachChild // Desc : no delete object, just detach in list // Param : // Return : //-------------------------------------------------------- // Coder Date Desc // bro 2002-10-29 //======================================================== LPXNode _tagXMLNode::DetachChild( LPXNode node ) { XNodes::iterator it = GetChildIterator( node ); if( it != childs.end()) { childs.erase( it ); return node; } return NULL; }
//======================================================== // Name : RemoveChild // Desc : detach node and delete object // Param : // Return : //-------------------------------------------------------- // Coder Date Desc // bro 2002-10-29 //======================================================== bool _tagXMLNode::RemoveChild( LPXNode node ) { XNodes::iterator it = GetChildIterator( node ); if( it != childs.end()) { delete *it; childs.erase( it ); return true; } return false; }
nuiWidgetPtr nuiContainer::GetPreviousSibling(nuiWidgetPtr pChild) const { CheckValid(); ConstIteratorPtr pIt = pChild ? GetChildIterator(pChild) : GetFirstChild(); if (!pIt->IsValid()) return NULL; if (pChild) GetPreviousChild(pIt); nuiWidgetPtr pW = NULL; if (pIt->IsValid()) pW = pIt->GetWidget(); delete pIt; return pW; }
nuiWidgetPtr nuiContainer::GetPreviousFocussableChild(nuiWidgetPtr pChild) const { CheckValid(); ConstIteratorPtr pIt = pChild ? GetChildIterator(pChild) : GetLastChild(); if (!pIt->IsValid()) return NULL; if (pChild) GetPreviousChild(pIt); while (pIt->IsValid() && !pIt->GetWidget()->GetWantKeyboardFocus() && pIt->GetWidget()) GetPreviousChild(pIt); if (pIt->IsValid()) { nuiWidgetPtr pW = pIt->GetWidget(); delete pIt; return pW; } delete pIt; return NULL; }