コード例 #1
0
        public void Handler()
        {
            var project = GetProject (CurrentNode);
            var designer = new ClassDesigner (project);

            foreach (var node in CurrentNodes) {
                if (node.DataItem is Project) {
                    designer.AddFromProject ((Project) node.DataItem);
                } else if (node.DataItem is ProjectFolder) {
                    var folder = (ProjectFolder) node.DataItem;
                    designer.AddFromDirectory (folder.Path);
                } else if (node.DataItem is ProjectFile) {
                    var file = (ProjectFile) node.DataItem;
                    designer.AddFromFile (file.FilePath);
                } else if (node.DataItem is NamespaceData) {
                    var nsdata = (NamespaceData) node.DataItem;
                    designer.AddFromNamespace (nsdata.FullName);
                } else if (node.DataItem is ClassData) {
                    var cls = (ClassData) node.DataItem;
                    designer.AddFromType (cls.Class);
                }
            }

            designer.AutoLayout ();
            designer.AutoName ();
            designer.Save ();
            project.AddFile (designer.ContentName);
            IdeApp.ProjectOperations.Save (project);
            IdeApp.Workbench.OpenDocument (designer, true);
            designer.Control.GrabFocus ();
        }
コード例 #2
0
        protected override void Run()
        {
            object item = IdeApp.ProjectOperations.CurrentSelectedItem;
            Project project;

            if (item is ProjectFile)
                project = ((ProjectFile)item).Project;
            else if (item is Project)
                project = (Project) item;
            else if (item is ProjectFolder)
                project = ((ProjectFolder) item).Project;
            else
                project = IdeApp.ProjectOperations.CurrentSelectedProject;

            var designer = new ClassDesigner (project);
            designer.AddFromProject (project);

            IdeApp.Workbench.OpenDocument(designer, true);
            var dom = ProjectDomService.GetProjectDom (project);
            designer.Control.GrabFocus ();

            foreach (IType type in dom.Types) {
                    System.Console.WriteLine("-----------");
                    System.Console.WriteLine(type.FullName);
                    System.Console.WriteLine(type.Namespace);
                    System.Console.WriteLine(type.HasParts);
                    System.Console.WriteLine(type.ClassType.ToString());
                    System.Console.WriteLine(type.FieldCount);
                    System.Console.WriteLine("-----------");
            }

            return;
        }