예제 #1
0
        private void RegisterObject(ExportsTreeNode node, bool registerCategories)
        {
            if (node.ExportType == null && registerCategories)
            {
                RegisteredObjects.AddExportCategory(node.Name, node.ToString(), node.ImageIndex);
            }
            else if (node.ExportType != null && !registerCategories)
            {
                RegisteredObjects.AddExport(node.ExportType, node.ToString(), node.ImageIndex);
            }
            List <ObjectInfo> list = new List <ObjectInfo>();

            RegisteredObjects.Objects.EnumItems(list);
            node.Tag = list[list.Count - 1];
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        public void RegisterExports()
        {
            Queue <ExportsTreeNode> queue = new Queue <ExportsTreeNode>(menuNodes);

            while (queue.Count != 0)
            {
                ExportsTreeNode node = queue.Dequeue();
                if (node.ExportType != null)
                {
                    RegisteredObjects.AddExport(node.ExportType, node.ToString(), node.ImageIndex);
                }
                List <ObjectInfo> list = new List <ObjectInfo>();
                RegisteredObjects.Objects.EnumItems(list);
                node.Tag = list[list.Count - 1];
                foreach (ExportsTreeNode nextNode in node.Nodes)
                {
                    queue.Enqueue(nextNode);
                }
            }
        }