public ExtensionEntry(Type extensionType, ExtensionServer server, Type overriddenExtensionType, int order) { this.ExtensionType = extensionType; this.Server = server; this.OverriddenExtensionTypes.Add(overriddenExtensionType); this.Order = order; }
/// <summary> /// Registers extensions from the specified assembly. /// </summary> public void RegisterAssembly(Assembly assembly) { if (assembly == null) { throw new ArgumentNullException("assembly"); } // object[] assemblyAttributes = assembly.GetCustomAttributes(typeof(IsWpfDesignerAssemblyAttribute), false); // if (assemblyAttributes.Length == 0) // return; if (!_registeredAssemblies.Add(assembly)) { // the assembly already is registered, don't try to register it again. return; } // IsWpfDesignerAssemblyAttribute isWpfDesignerAssembly = (IsWpfDesignerAssemblyAttribute)assemblyAttributes[0]; // foreach (Type type in isWpfDesignerAssembly.UsePrivateReflection ? assembly.GetTypes() : assembly.GetExportedTypes()) { foreach (Type type in assembly.GetTypes()) { object[] extensionForAttributes = type.GetCustomAttributes(typeof(ExtensionForAttribute), false); if (extensionForAttributes.Length == 0) { continue; } foreach (ExtensionForAttribute designerFor in extensionForAttributes) { ExtensionServer server = GetServerForExtension(type); AddExtensionEntry(designerFor.DesignedItemType, new ExtensionEntry(type, server, designerFor.OverrideExtension)); } } }
public ExtensionEntry(Type extensionType, ExtensionServer server, List <Type> overriddenExtensionTypes, int order) { this.ExtensionType = extensionType; this.Server = server; this.OverriddenExtensionTypes = overriddenExtensionTypes; this.Order = order; }
public ExtensionEntry(Type extensionType, ExtensionServer server, List<Type> overriddenExtensionTypes, int order) { this.ExtensionType = extensionType; this.Server = server; this.OverriddenExtensionTypes = overriddenExtensionTypes; this.Order = order; }
public ExtensionEntry(Type extensionType, ExtensionServer server, Type overriddenExtensionType, int Order) { this.ExtensionType = extensionType; this.Server = server; this.OverriddenExtensionType = overriddenExtensionType; this.Order = Order; }
/// <summary> /// Re-applies extensions from the ExtensionServer to the specified design items. /// </summary> void ReapplyExtensions(IEnumerable<DesignItem> items, ExtensionServer server) { foreach (DesignItem item in items) { if (item != null) { item.ReapplyExtensionServer(this, server); } } }
/// <summary/> protected override void OnInitialized() { base.OnInitialized(); _a = Context.Services.ExtensionManager.GetExtensionServer(new ExtensionServerAttribute(typeof(A))); _b = Context.Services.ExtensionManager.GetExtensionServer(new ExtensionServerAttribute(typeof(B))); _a.ShouldApplyExtensionsInvalidated += OnShouldApplyExtensionsInvalidated; _b.ShouldApplyExtensionsInvalidated += OnShouldApplyExtensionsInvalidated; }
/// <summary> /// Re-applies extensions from the ExtensionServer to the specified design items. /// </summary> void ReapplyExtensions(IEnumerable <DesignItem> items, ExtensionServer server) { foreach (DesignItem item in items) { if (item != null) { item.ReapplyExtensionServer(this, server); } } }
internal IEnumerable <Extension> CreateExtensions(ExtensionServer server, DesignItem item) { Debug.Assert(server != null); Debug.Assert(item != null); foreach (ExtensionEntry entry in GetExtensionEntries(item)) { if (entry.Server == server) { yield return(server.CreateExtension(entry.ExtensionType, item)); } } }
internal IEnumerable <Extension> CreateExtensions(ExtensionServer server, DesignItem item, Type extensionType = null) { Debug.Assert(server != null); Debug.Assert(item != null); foreach (ExtensionEntry entry in GetExtensionEntries(item)) { if (entry.Server == server && (extensionType == null || entry.ExtensionType == extensionType)) { var disabledExtensions = Extension.GetDisabledExtensions(item.View); if (string.IsNullOrEmpty(disabledExtensions) || !disabledExtensions.Split(';').Contains(entry.ExtensionType.Name)) { yield return(server.CreateExtension(entry.ExtensionType, item)); } } } }
internal IEnumerable<Extension> CreateExtensions(ExtensionServer server, DesignItem item) { Debug.Assert(server != null); Debug.Assert(item != null); foreach (ExtensionEntry entry in GetExtensionEntries(item)) { if (entry.Server == server) { var disabledExtensions = Extension.GetDisabledExtensions(item.View); if (disabledExtensions == null || !disabledExtensions.Split(';').Contains(entry.ExtensionType.Name)) yield return server.CreateExtension(entry.ExtensionType, item); } } }
public ExtensionEntry(Type extensionType, ExtensionServer server, Type overriddenExtensionType) { this.ExtensionType = extensionType; this.Server = server; this.OverriddenExtensionType = overriddenExtensionType; }
internal IEnumerable<Extension> CreateExtensions(ExtensionServer server, DesignItem item) { Debug.Assert(server != null); Debug.Assert(item != null); foreach (ExtensionEntry entry in GetExtensionEntries(item)) { if (entry.Server == server) { yield return server.CreateExtension(entry.ExtensionType, item); } } }