/// <summary> /// Gets the primary display binding for the specified file name. /// </summary> public static IDisplayBinding GetBindingPerFileName(string filename) { WorkbenchSingleton.AssertMainThread(); DisplayBindingDescriptor codon = GetDefaultCodonPerFileName(filename); return(codon == null ? null : codon.Binding); }
static bool IsPrimaryBindingValidForFileName(DisplayBindingDescriptor binding, string filename) { if (!binding.IsSecondary && binding.CanOpenFile(filename)) { if (binding.Binding != null && binding.Binding.CanCreateContentForFile(filename)) { return(true); } } return(false); }
static DisplayBindingDescriptor AddExternalProcessDisplayBindingInternal(ExternalProcessDisplayBinding binding) { externalProcessDisplayBindings.Add(binding); DisplayBindingDescriptor descriptor = new DisplayBindingDescriptor(binding) { Id = binding.Id, Title = binding.Title }; bindings.Add(descriptor); return(descriptor); }
public static DisplayBindingDescriptor AddExternalProcessDisplayBinding(ExternalProcessDisplayBinding binding) { WorkbenchSingleton.AssertMainThread(); if (binding == null) { throw new ArgumentNullException("binding"); } DisplayBindingDescriptor descriptor = AddExternalProcessDisplayBindingInternal(binding); SaveExternalProcessDisplayBindings(); return(descriptor); }
public static void SetDefaultCodon(string extension, DisplayBindingDescriptor bindingDescriptor) { WorkbenchSingleton.AssertMainThread(); if (bindingDescriptor == null) { throw new ArgumentNullException("bindingDescriptor"); } if (extension == null) { throw new ArgumentNullException("extension"); } if (!extension.StartsWith(".", StringComparison.Ordinal)) { throw new ArgumentException("extension must start with '.'"); } displayBindingServiceProperties.Set("Default" + extension.ToLowerInvariant(), bindingDescriptor.Id); }