private GraphRender GetRender(IServiceProvider provider, EnvDTE.DTE dte, GraphPart part, string path, IEnumerable <string> nodeTypes, IEnumerable <string> linkTypes) { var serializer = new GraphSerializer(); serializer.GenerateDGML(path, part, nodeTypes, linkTypes); var window = dte.ItemOperations.OpenFile(path); var automation = window.Object as GraphControlAutomationObject; if (automation == null) { throw new ApplicationException("Missing graph control automation."); } try { File.Delete(path); } catch (Exception ex) { OutputWindowHelper.OutputString(provider, ex.Message); } var graph = automation.Graph; return(new GraphRender(graph)); }
protected override void Initialize() { base.Initialize(); var context = ((ITeamFoundationContextManager)GetService(typeof(ITeamFoundationContextManager))).CurrentContext; _model = new TimelineModel(new TimelineService(context, (message) => OutputWindowHelper.OutputString(this, message))); base.Content = new TimelineWrapper(_model, (message) => OutputWindowHelper.OutputString(this, message), (id) => { var dte = (EnvDTE.DTE)GetService(typeof(EnvDTE.DTE)); SourceControlHelper.ShowChangeset(dte, id); }); }