Пример #1
0
bool TiXmlNode::RemoveChild( TiXmlNode* removeThis )
{
    if (DisconnectChild(removeThis) == 0) {
        assert(!"couldn't disconnect node");
        return false;
    }

    // We own the node now.
	delete removeThis;
	return true;
}
Пример #2
0
// ============================================================================
// ============================================================================
IVistaNode* VistaGroupNode::DisconnectChild(const std::string &strName)
{
	int           nChildindex = -1;

	//search for child with name <name>
	for ( unsigned int i=0; i<m_vecChildren.size(); i++ )
		if(m_vecChildren[i]->GetName() == strName)
		{
			nChildindex = i;
		}

	return DisconnectChild(nChildindex);
}
Пример #3
0
// ============================================================================
// ============================================================================
int VistaGroupNode::DisconnectChild(IVistaNode* pChild)
{
	int nChildNum = -1;

	if(pChild)
	{
		//go through children to determine childnumber
		int i=0;
		for(VistaNodeVector::const_iterator cit = m_vecChildren.begin();
			cit != m_vecChildren.end(); ++cit, ++i)
			{
				if(*cit == pChild)
				{
					nChildNum = i;
					break;
				}
			}
		DisconnectChild(nChildNum);
	}
	return nChildNum;
}