public void Edit(SnippetInstance selectedInstance) { settingUp = true; Clear(); if (selectedInstance.parent != null) selectMe = selectedInstance.parent.Snippet; ParentPaneNode top = new ParentPaneNode(selectedInstance.Snippet); Recurse(top); Nodes.Add(top); SelectedNode = selectMeWhenReady; settingUp = false; }
void Recurse(ParentPaneNode child) { foreach (Snippet parent in child.snippet.Parents) { if (parent != Universe.Instance.ModelGateway.TopLevelSnippet) { ParentPaneNode node = new ParentPaneNode(parent); if (parent == selectMe) selectMeWhenReady = node; child.Nodes.Add(node); Recurse(node); } } }