Esempio n. 1
0
        public static IEnumerable <string> GetCurrentProjectDiagrams(ITree tree)
        {
            var selected = tree.GetSelectedItem() as ITreeItem;

            if (selected == null)
            {
                return(null);
            }

            switch (TreeEditor.GetTreeItemType(selected.GetUid()))
            {
            case TreeItemType.Diagram:
            {
                var models = new List <string>();
                ModelEditor.GenerateProject(selected.GetParent() as ITreeItem, models, false);
                return(models);
            }

            case TreeItemType.Project:
            {
                var models = new List <string>();
                ModelEditor.GenerateProject(selected, models, false);
                return(models);
            }

            case TreeItemType.Solution:
            {
                var solution = tree.GetItems().FirstOrDefault();
                if (solution == null)
                {
                    return(null);
                }

                var project = solution.GetItems().FirstOrDefault();
                if (project != null)
                {
                    return(null);
                }

                var models = new List <string>();
                ModelEditor.GenerateProject(project, models, false);
                return(models);
            }

            default:
                return(null);
            }
        }