| 1150 | } |
| 1151 | |
| 1152 | void CClassView::ReplaceNode( CNodeClass* pClass, UINT Index, CNodeBase* pNewNode ) |
| 1153 | { |
| 1154 | if (!pClass || Index == MAX_NODES) |
| 1155 | return; |
| 1156 | |
| 1157 | CNodeBase* pOldNode = pClass->GetNode( Index ); |
| 1158 | pNewNode->SetName( pOldNode->GetName( ) ); |
| 1159 | pNewNode->SetComment( pOldNode->GetComment( ) ); |
| 1160 | |
| 1161 | // This looks wrong |
| 1162 | //if ( pOldNode->offset < 0x140000000 ) |
| 1163 | //{ |
| 1164 | // pNewNode->offset = 0x140000000; |
| 1165 | // pNewNode->strOffset = "0x140000000"; |
| 1166 | //} else { |
| 1167 | // pNewNode->offset = pOldNode->offset; |
| 1168 | //} |
| 1169 | |
| 1170 | pNewNode->SetParent( pClass ); |
| 1171 | pNewNode->Unselect( ); |
| 1172 | |
| 1173 | //m_pSelected = pNewNode; |
| 1174 | pClass->SetNode( Index, pNewNode ); |
| 1175 | |
| 1176 | DWORD sOld = pOldNode->GetMemorySize( ); |
| 1177 | DWORD sNew = pNewNode->GetMemorySize( ); |
| 1178 | |
| 1179 | if (sOld != sNew) |
| 1180 | { |
| 1181 | if (sNew < sOld) |
| 1182 | { |
| 1183 | FillNodes( pClass, Index + 1, sOld - sNew ); |
| 1184 | } |
| 1185 | else |
| 1186 | { |
| 1187 | RemoveNodes( pClass, Index + 1, sNew - sOld ); |
| 1188 | } |
| 1189 | } |
| 1190 | |
| 1191 | delete pOldNode; |
| 1192 | |
| 1193 | g_ReClassApp.CalcAllOffsets( ); |
| 1194 | } |
| 1195 | |
| 1196 | void CClassView::RemoveNodes( CNodeClass* pClass, UINT Index, DWORD Length ) |
| 1197 | { |
nothing calls this directly
no test coverage detected