コード例 #1
0
ファイル: TreeModel.cs プロジェクト: alasai/AgebullDesigner
        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);
        }
コード例 #2
0
        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);
        }