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 (); }
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; }