Document DoShow() { Document result = null; foreach (var view in Ide.IdeApp.Workbench.Documents) { if (view.GetContent <AssemblyBrowserViewContent> () != null) { view.Window.SelectWindow(); result = view; break; } } if (result == null) { var binding = DisplayBindingService.GetBindings <AssemblyBrowserDisplayBinding> ().FirstOrDefault(); var assemblyBrowserView = binding != null?binding.GetViewContent() : new AssemblyBrowserViewContent(); assemblyBrowserView.FillWidget(); result = Ide.IdeApp.Workbench.OpenDocument(assemblyBrowserView, true); } if (idString != null) { var view = result.GetContent <AssemblyBrowserViewContent> (); view.Widget.suspendNavigation = true; view.EnsureDefinitionsLoaded(definitions); view.Open(idString, expandNode: false); } return(result); }
protected override void Run() { foreach (var view in IdeApp.Workbench.Documents) { if (view.GetContent <AssemblyBrowserViewContent> () != null) { view.Window.SelectWindow(); return; } } var binding = DisplayBindingService.GetBindings <AssemblyBrowserDisplayBinding> ().FirstOrDefault(); var assemblyBrowserView = binding != null?binding.GetViewContent() : new AssemblyBrowserViewContent(); assemblyBrowserView.FillWidget(); IdeApp.Workbench.OpenDocument(assemblyBrowserView, true); }
protected override void Run() { foreach (var view in IdeApp.Workbench.Documents) { if (view.GetContent <AssemblyBrowserViewContent> () != null) { view.Window.SelectWindow(); return; } } var binding = DisplayBindingService.GetBindings <AssemblyBrowserDisplayBinding> ().FirstOrDefault(); var assemblyBrowserView = binding != null?binding.GetViewContent() : new AssemblyBrowserViewContent(); if (Ide.IdeApp.ProjectOperations.CurrentSelectedSolution == null) { foreach (var assembly in defaultAssemblies) { assemblyBrowserView.Widget.AddReferenceByAssemblyName(assembly, assembly == defaultAssemblies [0]); } } else { foreach (var project in Ide.IdeApp.ProjectOperations.CurrentSelectedSolution.GetAllProjects()) { assemblyBrowserView.Widget.AddProject(project, false); var netProject = project as DotNetProject; if (netProject == null) { continue; } foreach (string file in netProject.GetReferencedAssemblies(ConfigurationSelector.Default, false)) { if (!File.Exists(file)) { continue; } assemblyBrowserView.Widget.AddReferenceByFileName(file, false); } } } Ide.IdeApp.Workbench.OpenDocument(assemblyBrowserView, true); }
public IDisplayBinding GetDisplayBinding(FilePath fileName, string mimeType, Project ownerProject) { string mapping = null; var key = GetKey(fileName, mimeType); if (!mappings.TryGetValue(key, out mapping)) { return(null); } foreach (var displayBinding in DisplayBindingService.GetBindings <IDisplayBinding> ()) { if (displayBinding.GetType().FullName == mapping) { return(displayBinding); } } return(null); }
static IEnumerable <IDisplayBinding> GetDisplayBindings(FilePath filePath, string mimeType, Project ownerProject) { if (mimeType == null && !filePath.IsNullOrEmpty) { mimeType = DesktopService.GetMimeTypeForUri(filePath); } foreach (var b in DisplayBindingService.GetBindings <IDisplayBinding> ()) { bool canHandle = false; try { canHandle = b.CanHandle(filePath, mimeType, ownerProject); } catch (Exception ex) { LoggingService.LogError("Error while getting display bindings", ex); } if (canHandle) { yield return(b); } } }