uiacceltk/hitchcock/ServerCore/Src/alfhierarchymodel.cpp
changeset 19 f5bac0badc7e
parent 14 83d2d132aa58
child 21 6ce30188c5bf
equal deleted inserted replaced
14:83d2d132aa58 19:f5bac0badc7e
   732     switch (nodeType)
   732     switch (nodeType)
   733         {
   733         {
   734         case MWsWindowTreeNode::EWinTreeNodeClient:
   734         case MWsWindowTreeNode::EWinTreeNodeClient:
   735             {
   735             {
   736             node = CAlfNodeWindow::NewL( this, iStream, iScreenNumber );
   736             node = CAlfNodeWindow::NewL( this, iStream, iScreenNumber );
       
   737             
       
   738             #ifdef __WINS__
       
   739             if (++iDebug_CheckNodeTableItegrityCounter > 100) // Do not check too often as is can be slow
       
   740                 {
       
   741                 Debug_CheckNodeTableItegrity(_L("CAlfHierarchyModel::DoNodeCreatedL"));
       
   742                 }            
       
   743             #endif
       
   744             
   737             break;
   745             break;
   738             }
   746             }
   739         case MWsWindowTreeNode::EWinTreeNodeRoot:
   747         case MWsWindowTreeNode::EWinTreeNodeRoot:
   740             {
   748             {
   741             node = CAlfNodeRoot::NewL( this ,iStream, iScreenNumber );
   749             node = CAlfNodeRoot::NewL( this ,iStream, iScreenNumber );
   795         }
   803         }
   796 #endif
   804 #endif
   797 
   805 
   798     AMT_INC_COUNTER_IF(node && (nodeType==MWsWindowTreeNode::EWinTreeNodeClient), iWindowNodeCount ); 
   806     AMT_INC_COUNTER_IF(node && (nodeType==MWsWindowTreeNode::EWinTreeNodeClient), iWindowNodeCount ); 
   799     AMT_INC_COUNTER_IF(node && (nodeType==MWsWindowTreeNode::EWinTreeNodeGroup),  iWindowGroupNodeCount ); 
   807     AMT_INC_COUNTER_IF(node && (nodeType==MWsWindowTreeNode::EWinTreeNodeGroup),  iWindowGroupNodeCount ); 
   800     AMT_INC_COUNTER_IF(node, iTotalNodeCount );         
   808     AMT_INC_COUNTER_IF(node, iTotalNodeCount );
       
   809     
       
   810     AMT_MAP_INC_VALUE_IF( node && nodeType == MWsWindowTreeNode::EWinTreeNodeClient,
       
   811                           iIntMap, node->iId, EAlfModuleTestTypeHierarchyModelCreateWindow );
       
   812     AMT_MAP_INC_VALUE_IF( node && nodeType == MWsWindowTreeNode::EWinTreeNodeGroup,
       
   813                           iIntMap, node->iId, EAlfModuleTestTypeHierarchyModelCreateWindowGroup );
   801     }
   814     }
   802 
   815 
   803 // ---------------------------------------------------------------------------
   816 // ---------------------------------------------------------------------------
   804 // DoNodeReleasedL
   817 // DoNodeReleasedL
   805 // ---------------------------------------------------------------------------
   818 // ---------------------------------------------------------------------------
   828         USER_INVARIANT();
   841         USER_INVARIANT();
   829         }
   842         }
   830 
   843 
   831     AMT_DEC_COUNTER_IF(node && (nodeType==MWsWindowTreeNode::EWinTreeNodeClient), iWindowNodeCount ); 
   844     AMT_DEC_COUNTER_IF(node && (nodeType==MWsWindowTreeNode::EWinTreeNodeClient), iWindowNodeCount ); 
   832     AMT_DEC_COUNTER_IF(node && (nodeType==MWsWindowTreeNode::EWinTreeNodeGroup),  iWindowGroupNodeCount ); 
   845     AMT_DEC_COUNTER_IF(node && (nodeType==MWsWindowTreeNode::EWinTreeNodeGroup),  iWindowGroupNodeCount ); 
   833     AMT_DEC_COUNTER_IF(node, iTotalNodeCount );     
   846     AMT_DEC_COUNTER_IF(node, iTotalNodeCount );
       
   847     
       
   848     AMT_MAP_INC_VALUE_IF( node && nodeType == MWsWindowTreeNode::EWinTreeNodeClient,
       
   849                           iIntMap, nodeId, EAlfModuleTestTypeHierarchyModelReleaseWindow );
       
   850     AMT_MAP_INC_VALUE_IF( node && nodeType == MWsWindowTreeNode::EWinTreeNodeGroup,
       
   851                           iIntMap, nodeId, EAlfModuleTestTypeHierarchyModelReleaseWindowGroup );
   834     }
   852     }
   835 
   853 
   836 // ---------------------------------------------------------------------------
   854 // ---------------------------------------------------------------------------
   837 // DoNodeActivatedL
   855 // DoNodeActivatedL
   838 // ---------------------------------------------------------------------------
   856 // ---------------------------------------------------------------------------
   849     else
   867     else
   850         {
   868         {
   851         USER_INVARIANT();
   869         USER_INVARIANT();
   852         }
   870         }
   853     
   871     
   854     AMT_INC_COUNTER_IF( node && (nodeType==MWsWindowTreeNode::EWinTreeNodeClient), iWindowNodeActivatedCount ); 
   872     AMT_INC_COUNTER_IF( node && (nodeType==MWsWindowTreeNode::EWinTreeNodeClient), iWindowNodeActivatedCount );
       
   873     
       
   874     AMT_MAP_SET_VALUE_IF( node && nodeType == MWsWindowTreeNode::EWinTreeNodeClient,
       
   875                           iBoolMap, nodeId, ETrue,
       
   876                           EAlfModuleTestTypeHierarchyModelActiveWindow );    
   855     }
   877     }
   856 
   878 
   857 // ---------------------------------------------------------------------------
   879 // ---------------------------------------------------------------------------
   858 // DoNodeExtentChangedL
   880 // DoNodeExtentChangedL
   859 // ---------------------------------------------------------------------------
   881 // ---------------------------------------------------------------------------
   882         }
   904         }
   883 #endif
   905 #endif
   884 
   906 
   885     AMT_INC_COUNTER_IF(node, iNodeExtentChangedCount );
   907     AMT_INC_COUNTER_IF(node, iNodeExtentChangedCount );
   886     AMT_SET_VALUE_IF(node, iLatestNodeExtentRect, rect );
   908     AMT_SET_VALUE_IF(node, iLatestNodeExtentRect, rect );
   887     AMT_MAP_SET_VALUE_IF( ( node && node->iWindow ),
   909     AMT_MAP_SET_VALUE_IF( node && node->iWindow,
   888                           iSizeMap, node->iWindow->WsInfo().iClientSideId.iWindowIdentifer, 
   910                           iSizeMap, node->iWindow->WsInfo().iClientSideId.iWindowIdentifer, 
   889                           rect.Size(), EAlfModuleTestTypeHierarchyModelChangeSize );
   911                           rect.Size(), EAlfModuleTestTypeHierarchyModelChangeWindowSize );
   890     AMT_MAP_SET_VALUE_IF( ( node && node->iWindow ),
   912     AMT_MAP_SET_VALUE_IF( node && node->iWindow,
   891                           iPositionMap, node->iWindow->WsInfo().iClientSideId.iWindowIdentifer, 
   913                           iPositionMap, node->iWindow->WsInfo().iClientSideId.iWindowIdentifer, 
   892                           rect.iTl, EAlfModuleTestTypeHierarchyModelChangePosition );
   914                           rect.iTl, EAlfModuleTestTypeHierarchyModelChangeWindowPosition );
   893     }
   915     }
   894 
   916 
   895 // ---------------------------------------------------------------------------
   917 // ---------------------------------------------------------------------------
   896 // DoNodeSiblingOrderChangedL
   918 // DoNodeSiblingOrderChangedL
   897 // ---------------------------------------------------------------------------
   919 // ---------------------------------------------------------------------------
   949         {
   971         {
   950         USER_INVARIANT();
   972         USER_INVARIANT();
   951         }
   973         }
   952 
   974 
   953     AMT_INC_COUNTER_IF(node, iTotalNodeFlagChangedCount );
   975     AMT_INC_COUNTER_IF(node, iTotalNodeFlagChangedCount );
   954     AMT_MAP_INC_VALUE_IF( ( node && node->iWindow ),
   976     AMT_MAP_SET_VALUE_IF( node && node->iWindow && MWsWindowTreeObserver::EVisible == flag,
   955                           iIntMap, node->iWindow->WsInfo().iClientSideId.iWindowIdentifer, 
   977                           iBoolMap, 
   956                           EAlfModuleTestTypeHierarchyModelChangeFlag );    
   978                           node->iWindow->WsInfo().iClientSideId.iWindowIdentifer,
       
   979                           newValue,
       
   980                           EAlfModuleTestTypeHierarchyModelChangeWindowVisibility ); 
   957     }
   981     }
   958 
   982 
   959 // ---------------------------------------------------------------------------
   983 // ---------------------------------------------------------------------------
   960 // DoNodeFadeAllChildrenL
   984 // DoNodeFadeAllChildrenL
   961 // ---------------------------------------------------------------------------
   985 // ---------------------------------------------------------------------------
  1150     else
  1174     else
  1151         {
  1175         {
  1152         USER_INVARIANT(); // attribute change for unexpected node type. new code needed!
  1176         USER_INVARIANT(); // attribute change for unexpected node type. new code needed!
  1153         }
  1177         }
  1154 
  1178 
  1155     AMT_INC_COUNTER_IF(node, iTotalNodeAttributeChangedCount );    
  1179     AMT_INC_COUNTER_IF(node, iTotalNodeAttributeChangedCount );
  1156     }
  1180     }
  1157     
  1181     
  1158 // ---------------------------------------------------------------------------
  1182 // ---------------------------------------------------------------------------
  1159 // DoNodeAttributeChangedL
  1183 // DoNodeAttributeChangedL
  1160 // ---------------------------------------------------------------------------
  1184 // ---------------------------------------------------------------------------
  1269             __ALFLOGSTRING1("CAlfHierarchyModel::PostBufferL endMarker: %d ", packetState);
  1293             __ALFLOGSTRING1("CAlfHierarchyModel::PostBufferL endMarker: %d ", packetState);
  1270             break;
  1294             break;
  1271             }
  1295             }
  1272         }
  1296         }
  1273     }
  1297     }
  1274     
  1298 
  1275 
  1299 
       
  1300 #ifdef __WINS__
       
  1301 // ---------------------------------------------------------------------------
       
  1302 //
       
  1303 // ---------------------------------------------------------------------------
       
  1304 //
       
  1305 void CAlfHierarchyModel::Debug_CheckNodeTableItegrity(const TDesC16& aContext)
       
  1306     {  
       
  1307     iDebug_CheckNodeTableItegrityCounter = 0;
       
  1308     
       
  1309     // Loop through the all items     
       
  1310     TInt count = 0;
       
  1311     THashMapIter <TUint32,CNodeHashStruct> ptrHashSetIter(iNodeHashArray);
       
  1312     for ( ; ; )        
       
  1313         {        
       
  1314         const CNodeHashStruct* resNext = ptrHashSetIter.NextValue();        
       
  1315         if (!resNext)            
       
  1316             {             
       
  1317             break;            
       
  1318             }  
       
  1319         count++;
       
  1320         if (resNext->iNode->Type() == MWsWindowTreeNode::EWinTreeNodeClient)
       
  1321             {
       
  1322             resNext->iNode->Debug_CheckSiblingOrder(aContext);
       
  1323             }
       
  1324         }
       
  1325     }
       
  1326 #endif
       
  1327 
       
  1328 
       
  1329