private TreeItem CreateProjectTreeItem(object arg) { var project = (ProjectConfig)arg; TreeItem node = new ConfigTreeItem <ProjectConfig>(project) { IsAssist = true, IsExpanded = true, SoruceTypeIcon = Application.Current.Resources["tree_Folder"] as BitmapImage }; var group = new ClassifyGroupConfig <EntityConfig>(project.Entities, p => p.Classify, (name, cfg) => cfg.Classify = name, project.Classifies); var eitem = new ConfigTreeItem <ProjectConfig>(project) { IsAssist = true, Header = "实体", HeaderField = null, CreateChildFunc = CreateEntityClassifiesTreeItem, SoruceItemsExpression = () => group.Classifies, SoruceTypeIcon = Application.Current.Resources["tree_Folder"] as BitmapImage }; node.Items.Add(eitem); //Model.CppModel.AddCppApiNode(node); AddCustomTypeNode(node, project); var citem = new ConfigTreeItem <ProjectConfig>(project) { IsAssist = true, Header = "API", Tag = "API", HeaderField = null, CreateChildFunc = CreateApiItemTreeItem, SoruceItemsExpression = () => project.ApiItems, SoruceTypeIcon = Application.Current.Resources["tree_Folder"] as BitmapImage }; node.Items.Add(citem); return(node); }
private TreeItem CreateProjectTreeItem(object arg) { var project = (ProjectConfig)arg; TreeItem item; if (project.Entities.Count > 15) { var group = new ClassifyGroupConfig <EntityConfig>(project.Entities, p => p.Classify, (name, cfg) => cfg.Classify = name, project.Classifies); if (SolutionConfig.Current.SolutionType == SolutionType.Cpp) { item = new ConfigTreeItem <ProjectConfig>(project) { IsExpanded = !project.ReadOnly, SoruceTypeIcon = Application.Current.Resources["tree_Folder"] as BitmapImage }; item.Items.Add(new ConfigTreeItem <ProjectConfig>(project) { IsAssist = true, IsExpanded = true, Header = "实体", HeaderField = null, CreateChildFunc = CreateEntityClassifiesTreeItem, SoruceItemsExpression = () => group.Classifies, SoruceTypeIcon = Application.Current.Resources["tree_Folder"] as BitmapImage }); } else { item = new ConfigTreeItem <ProjectConfig>(project) { IsAssist = true, IsExpanded = true, CreateChildFunc = CreateEntityClassifiesTreeItem, SoruceItemsExpression = () => group.Classifies, SoruceTypeIcon = Application.Current.Resources["tree_Folder"] as BitmapImage }; } } else { item = new ConfigTreeItem <ProjectConfig>(project) { CreateChildFunc = CreateEntityTreeItem, SoruceItemsExpression = () => project.Entities, SoruceTypeIcon = Application.Current.Resources["tree_Folder"] as BitmapImage }; } //if (SolutionConfig.Current.SolutionType != SolutionType.Cpp) // return item; //var citem = new ConfigTreeItem<ProjectConfig>(project) //{ // IsAssist = true, // Header = "API", // HeaderField = null, // CreateChildFunc = Model.CppModel.CreateApiItemTreeItem, // SoruceItemsExpression = () => project.ApiItems, // SoruceTypeIcon = Application.Current.Resources["tree_Folder"] as BitmapImage //}; //Model.CppModel.AddProjectTypedefCommand(citem, project); //item.Items.Add(citem); return(item); }