diff -r 3321d3e205b6 -r b01126ce0bec idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp Tue Sep 14 20:58:58 2010 +0300 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp Wed Sep 15 12:00:00 2010 +0300 @@ -426,6 +426,46 @@ } // ----------------------------------------------------------------------------- +// CXnRootData::ViewData() +// ----------------------------------------------------------------------------- +// +CXnViewData* CXnRootData::ViewData( CXnNode& aNode ) const + { + CXnNode* tmp( &aNode ); + CXnNode* viewNode( NULL ); + while( tmp ) + { + if ( tmp->ViewNodeImpl() ) + { + viewNode = tmp; + break; + } + else + { + tmp = tmp->Parent(); + } + } + if( !viewNode ) + { + return NULL; + } + + CXnViewData* viewData( NULL ); + for ( TInt i = 0; i < iPluginsData.Count(); i++ ) + { + CXnViewData* tmpViewdata( static_cast< CXnViewData* >( iPluginsData[i] ) ); + if( tmpViewdata->ViewNode() == viewNode ) + { + viewData = tmpViewdata; + break; + } + } + + return viewData; + } + + +// ----------------------------------------------------------------------------- // CXnRootData::DestroyViewData() // Sets view data to be destroyed // -----------------------------------------------------------------------------