| 4178 | //----------------------------------------------------------------------------- |
| 4179 | |
| 4180 | void GuiTreeViewCtrl::inspectorSearch(Item * item, Item * parent, SimSet * parentSet, SimSet * newParentSet) |
| 4181 | { |
| 4182 | if (!parentSet||!newParentSet) |
| 4183 | return; |
| 4184 | |
| 4185 | if (item == parent->mNext) |
| 4186 | return; |
| 4187 | |
| 4188 | if (item) |
| 4189 | { |
| 4190 | if (item->isInspectorData()) |
| 4191 | { |
| 4192 | // remove the object from the parentSet and add it to the newParentSet |
| 4193 | SimObject* simObj = item->getObject(); |
| 4194 | |
| 4195 | if (parentSet->size()) |
| 4196 | { |
| 4197 | SimObject *lastObject = parentSet->last(); |
| 4198 | parentSet->removeObject(simObj); |
| 4199 | parentSet->reOrder(lastObject); |
| 4200 | } |
| 4201 | else |
| 4202 | parentSet->removeObject(simObj); |
| 4203 | |
| 4204 | newParentSet->addObject(simObj); |
| 4205 | |
| 4206 | if (item->mNext) |
| 4207 | { |
| 4208 | inspectorSearch(item->mNext, parent, parentSet, newParentSet); |
| 4209 | return; |
| 4210 | } |
| 4211 | else |
| 4212 | { |
| 4213 | // end of children so backing up |
| 4214 | if (item->mParent == parent) |
| 4215 | return; |
| 4216 | else |
| 4217 | { |
| 4218 | inspectorSearch(item->mParent->mNext, parent, parentSet, newParentSet); |
| 4219 | return; |
| 4220 | } |
| 4221 | } |
| 4222 | } |
| 4223 | |
| 4224 | if (item->mChild) |
| 4225 | { |
| 4226 | inspectorSearch(item->mChild, parent, parentSet, newParentSet); |
| 4227 | return; |
| 4228 | } |
| 4229 | |
| 4230 | if (item->mNext) |
| 4231 | { |
| 4232 | inspectorSearch(item->mNext, parent, parentSet, newParentSet); |
| 4233 | return; |
| 4234 | } |
| 4235 | } |
| 4236 | } |
| 4237 |
nothing calls this directly
no test coverage detected