public static void AddInstances(ResourceMaps.LongMap map, ResourceTreeNodeExt tn, bool group, bool type) { List <ResourceTreeNodeExt> nodelist = new List <ResourceTreeNodeExt>(); foreach (ulong inst in map.Keys) { ResourceViewManager.ResourceNameList list = map[inst]; ResourceTreeNodeExt node = new ResourceTreeNodeExt(inst, list, "0x" + Helper.HexString(inst)); if (group) { ResourceTreeNodeExt groupnode = new ResourceTreeNodeExt(inst, list, "Groups"); AddSubNodesForGroups(groupnode, list); node.Nodes.Add(groupnode); } if (type) { ResourceTreeNodeExt typenode = new ResourceTreeNodeExt(inst, list, "Types"); ResourceTreeNodesByGroup.AddSubNodesForTypes(typenode, list); node.Nodes.Add(typenode); } nodelist.Add(node); } nodelist.Sort(); foreach (ResourceTreeNodeExt node in nodelist) { tn.Nodes.Add(node); } }
public static void AddGroups(ResourceMaps.IntMap map, ResourceTreeNodeExt tn, bool type, bool inst) { List <ResourceTreeNodeExt> nodelist = new List <ResourceTreeNodeExt>(); foreach (uint group in map.Keys) { ResourceViewManager.ResourceNameList list = map[group]; ResourceTreeNodeExt node = new ResourceTreeNodeExt(group, list, "0x" + Helper.HexString(group)); if (type) { ResourceTreeNodeExt typenode = new ResourceTreeNodeExt(group, list, "Types"); AddSubNodesForTypes(typenode, list); node.Nodes.Add(typenode); } if (inst) { ResourceTreeNodeExt instnode = new ResourceTreeNodeExt(group, list, "Instances"); AddSubNodesForInstances(instnode, list); node.Nodes.Add(instnode); } nodelist.Add(node); } nodelist.Sort(); foreach (ResourceTreeNodeExt node in nodelist) { tn.Nodes.Add(node); } }
public override ResourceTreeNodeExt BuildNodes(ResourceMaps maps) { ResourceTreeNodeExt tn = new ResourceTreeNodeExt(0, maps.Everything, SimPe.Localization.GetString("AllRes")); AddInstances(maps.ByInstance, tn, true, true); tn.ImageIndex = 0; return(tn); }
private void SaveLastSelection() { ResourceTreeNodeExt node = tv.SelectedNode as ResourceTreeNodeExt; if (node != null) { builder.LastSelectedId = node.ID; } else { builder.LastSelectedId = 0; } }
public static void AddType(ResourceMaps.IntMap map, ResourceTreeNodeExt tn) { List <ResourceTreeNodeExt> nodelist = new List <ResourceTreeNodeExt>(); foreach (uint type in map.Keys) { ResourceViewManager.ResourceNameList list = map[type]; ResourceTreeNodeExt node = new ResourceTreeTypeNodeExt(list, type); nodelist.Add(node); } nodelist.Sort(); foreach (ResourceTreeNodeExt node in nodelist) { tn.Nodes.Add(node); } }
static void AddSubNodesForGroups(ResourceTreeNodeExt node, ResourceViewManager.ResourceNameList resources) { ResourceMaps.IntMap map = new ResourceMaps.IntMap(); foreach (NamedPackedFileDescriptor pfd in resources) { ResourceViewManager.ResourceNameList list; if (!map.ContainsKey(pfd.Descriptor.Group)) { list = new ResourceViewManager.ResourceNameList(); map.Add(pfd.Descriptor.Group, list); } else { list = map[pfd.Descriptor.Group]; } list.Add(pfd); } ResourceTreeNodesByGroup.AddGroups(map, node, false, false); }
public static void AddSubNodesForInstances(ResourceTreeNodeExt node, ResourceViewManager.ResourceNameList resources) { ResourceMaps.LongMap map = new ResourceMaps.LongMap(); foreach (NamedPackedFileDescriptor pfd in resources) { ResourceViewManager.ResourceNameList list; if (!map.ContainsKey(pfd.Descriptor.LongInstance)) { list = new ResourceViewManager.ResourceNameList(); map.Add(pfd.Descriptor.LongInstance, list); } else { list = map[pfd.Descriptor.LongInstance]; } list.Add(pfd); } ResourceTreeNodesByInstance.AddInstances(map, node, false, false); }
public static void AddSubNodesForTypes(ResourceTreeNodeExt node, ResourceViewManager.ResourceNameList resources) { ResourceMaps.IntMap map = new ResourceMaps.IntMap(); foreach (NamedPackedFileDescriptor pfd in resources) { ResourceViewManager.ResourceNameList list; if (!map.ContainsKey(pfd.Descriptor.Type)) { list = new ResourceViewManager.ResourceNameList(); map.Add(pfd.Descriptor.Type, list); } else { list = map[pfd.Descriptor.Type]; } list.Add(pfd); } ResourceTreeNodesByType.AddType(map, node); }
private void tv_AfterSelect(object sender, TreeViewEventArgs e) { if (!allowselectevent) { return; } if (e.Node == null) { return; } ResourceTreeNodeExt node = e.Node as ResourceTreeNodeExt; if (node != null) { if (this.manager != null) { if (manager.ListView != null) { manager.ListView.SetResources(node.Resources); } } } }
protected bool SelectID(TreeNode node, ulong id) { ResourceTreeNodeExt rn = node as ResourceTreeNodeExt; if (rn != null) { if (rn.ID == id) { tv.SelectedNode = rn; rn.EnsureVisible(); return(true); } } foreach (TreeNode sub in node.Nodes) { if (SelectID(sub, id)) { return(true); } } return(false); }
public new int CompareTo(ResourceTreeNodeExt other) { return(this.Text.CompareTo(other.Text)); }