void InsertSubTree(HTREEITEM parent, HTREEITEM after, VARINFO *var, int index, int page) { while (var) { AddTypeInfoToName(watchinfo_list[page][index].dbg_info, var); var->hTreeItem = InsertItem(parent, after, var, page); var->watchindex = index; var->watchhead.col1Text = &var->screenname; var->watchhead.col2Text = &var->value; if (var->pointer && !var->subtype) { var->hTreeHolder = InsertItem(var->hTreeItem, TVI_LAST, var, page); TreeView_Expand(hwndTree[page], var->hTreeItem, TVE_COLLAPSE); } else InsertSubTree(var->hTreeItem, 0, var->subtype, index, page); after = var->hTreeItem; var = var->link; } }
static void InsertSubTree(HTREEITEM parent, HTREEITEM after, VARINFO *var, int index, WATCHDATA *ptr) { while (var) { AddTypeInfoToName(ptr->watchinfo_list[index].dbg_info, var); var->hTreeItem = InsertItem(parent, after, var, ptr); var->watchindex = index; var->watchhead.col1Text = &var->screenname[0]; var->watchhead.col2Text = &var->value[0]; if (var->pointer && !var->subtype && (!var->lref && !var->rref || var->type > eReservedTop)) { var->hTreeHolder = InsertItem(var->hTreeItem, TVI_LAST, var, ptr); TreeView_Expand(ptr->hwndWatchTree, var->hTreeItem, TVE_COLLAPSE); } else InsertSubTree(var->hTreeItem, 0, var->subtype, index, ptr); after = var->hTreeItem; var = var->link; } }