idlehomescreen/xmluirendering/uiengine/src/xnodtparser.cpp
branchRCL_3
changeset 9 f966699dea19
parent 5 c743ef5928ba
child 15 ff572dfe6d86
equal deleted inserted replaced
5:c743ef5928ba 9:f966699dea19
    49 #include "xnrootdata.h"
    49 #include "xnrootdata.h"
    50 #include "xnviewdata.h"
    50 #include "xnviewdata.h"
    51 
    51 
    52 #include "xnodtparser.h"
    52 #include "xnodtparser.h"
    53 
    53 
    54 _LIT8( KWidgetBgSkinId, "SKIN(268458534 9886)" );
    54 _LIT8( KWidgetBgSkinId, "SKIN(268458534 9916)" );
    55 
    55 
    56 // CONSTANTS
    56 // CONSTANTS
    57 _LIT8( KXMLUIMLNodeName, "xmluiml" );
    57 _LIT8( KXMLUIMLNodeName, "xmluiml" );
    58 _LIT8( KViewsNodeName, "views" );
    58 _LIT8( KViewsNodeName, "views" );
    59 _LIT8( KViewNodeName, "view" );
    59 _LIT8( KViewNodeName, "view" );
   768     
   768     
   769     CXnNode* widgetNode( aPluginData.Node()->LayoutNode() );
   769     CXnNode* widgetNode( aPluginData.Node()->LayoutNode() );
   770         
   770         
   771     CXnNode* owner( widgetNode->Parent() );
   771     CXnNode* owner( widgetNode->Parent() );
   772     
   772     
       
   773     CXnControlAdapter* widgetControl( widgetNode->Control() );
       
   774     
       
   775     RPointerArray< CXnControlAdapter >& 
       
   776         childAdapters( owner->Control()->ChildAdapters() );
       
   777     
       
   778     childAdapters.Remove( childAdapters.Find( widgetControl ) ); 
       
   779     
       
   780     childAdapters.Compress();
       
   781     
   773     RPointerArray< CXnNode >& children( owner->Children() );
   782     RPointerArray< CXnNode >& children( owner->Children() );
   774     
   783     
   775     TInt index( children.Find( widgetNode ) );
   784     TInt index( children.Find( widgetNode ) );
   776     
   785     
   777     // Destroy widget and all its child nodes
   786     // Destroy widget and all its child nodes
   782         delete widgetNode;
   791         delete widgetNode;
   783         widgetNode = NULL;
   792         widgetNode = NULL;
   784        
   793        
   785         CXnDomNode* owner( aPluginData.Owner() );
   794         CXnDomNode* owner( aPluginData.Owner() );
   786         owner->DeleteChild( aPluginData.Node() );
   795         owner->DeleteChild( aPluginData.Node() );
   787         }
   796         }       
   788     
       
   789     owner->Control()->RemoveChildAdapters();
       
   790     }
   797     }
   791 
   798 
   792 // -----------------------------------------------------------------------------
   799 // -----------------------------------------------------------------------------
   793 // CXnODTParser::CreateNodesL
   800 // CXnODTParser::CreateNodesL
   794 // Creates node tree
   801 // Creates node tree