Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        private void SaveLastSelection()
        {
            ResourceTreeNodeExt node = tv.SelectedNode as ResourceTreeNodeExt;

            if (node != null)
            {
                builder.LastSelectedId = node.ID;
            }
            else
            {
                builder.LastSelectedId = 0;
            }
        }
Ejemplo n.º 5
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);
            }
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
                    }
                }
            }
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
 public new int CompareTo(ResourceTreeNodeExt other)
 {
     return(this.Text.CompareTo(other.Text));
 }