CCObject* CWidgetLayout::find(CCArray* pChidren, const char* id) { if( pChidren && pChidren->count() > 0 ) { unsigned int nCount = pChidren->count(); for(unsigned int i = 0; i < nCount; ++i) { CCObject* pObject = pChidren->objectAtIndex(i); CWidget* pWidget = dynamic_cast<CWidget*>(pObject); if( pWidget ) { if( strcmp(pWidget->getId(), id) == 0 ) { return pObject; } else { CCObject* pRet = find(dynamic_cast<CCNode*>(pObject)->getChildren(), id); if( pRet ) { return pRet; } } } } } return NULL; }
Node* CLayout::find(Vector<Node*> pChild, const char* id) { int nCount = pChild.size(); if( nCount> 0 ) { for(int i = 0; i < nCount; ++i) { Node* pObject = pChild.at(i); CWidget* pWidget = dynamic_cast<CWidget*>(pObject); if( pWidget ) { if( strcmp(pWidget->getId(), id) == 0 ) { return pObject; } else { Node* pRet = find(dynamic_cast<Node*>(pObject)->getChildren(), id); if( pRet ) { return pRet; } } } } } return NULL; }
Node* CWidgetWindow::find(Vector<Node*> &pChidren, const char* id) { if(pChidren.size() > 0 ) { unsigned int nCount = pChidren.size(); for(unsigned int i = 0; i < nCount; ++i) { Node* pObject = pChidren.at(i); CWidget* pWidget = dynamic_cast<CWidget*>(pObject); if( pWidget ) { if( strcmp(pWidget->getId(), id) == 0 ) { return pObject; } else { Node* pRet = find(dynamic_cast<Node*>(pObject)->getChildren(), id); if( pRet ) { return pRet; } } } } } return NULL; }