internal static void FilterDependencyProperties(IServiceProvider serviceProvider, Activity activity) { IExtenderListService service = serviceProvider.GetService(typeof(IExtenderListService)) as IExtenderListService; if (service != null) { Dictionary <string, DependencyProperty> dictionary = new Dictionary <string, DependencyProperty>(); foreach (DependencyProperty property in activity.MetaDependencyProperties) { dictionary.Add(property.Name, property); } List <string> list = new List <string>(); foreach (IExtenderProvider provider in service.GetExtenderProviders()) { if (!provider.CanExtend(activity)) { ProvidePropertyAttribute[] customAttributes = provider.GetType().GetCustomAttributes(typeof(ProvidePropertyAttribute), true) as ProvidePropertyAttribute[]; foreach (ProvidePropertyAttribute attribute in customAttributes) { list.Add(attribute.PropertyName); } } } foreach (string str in list) { if (dictionary.ContainsKey(str)) { activity.RemoveProperty(dictionary[str]); } } } }
private void EnsureDesignerExtender() { bool flag = true; IExtenderListService service = base.GetService(typeof(IExtenderListService)) as IExtenderListService; if (service != null) { foreach (IExtenderProvider provider in service.GetExtenderProviders()) { if (provider.GetType() == typeof(FreeFormDesignerPropertyExtender)) { flag = false; break; } } } if (flag) { IExtenderProviderService service2 = base.GetService(typeof(IExtenderProviderService)) as IExtenderProviderService; if (service2 != null) { service2.AddExtenderProvider(new FreeFormDesignerPropertyExtender()); TypeDescriptor.Refresh(base.Activity); } } }
/// <summary> /// Add an extender provider for the Weekday property /// </summary> /// <param name="activity"></param> protected override void Initialize(Activity activity) { base.Initialize(activity); IExtenderListService iels = base.GetService(typeof(IExtenderListService)) as IExtenderListService; if (null != iels) { bool extenderExists = false; foreach (IExtenderProvider provider in iels.GetExtenderProviders()) { if (provider.GetType() == typeof(WeekdayExtenderProvider)) { extenderExists = true; break; } } if (!extenderExists) { IExtenderProviderService ieps = base.GetService(typeof(IExtenderProviderService)) as IExtenderProviderService; if (null != ieps) { ieps.AddExtenderProvider(new WeekdayExtenderProvider()); } } } }
protected override void Initialize(Activity activity) { base.Initialize(activity); IExtenderListService extenderListService = (IExtenderListService)GetService(typeof(IExtenderListService)); if (extenderListService != null) { bool foundCAGExtender = false; foreach (IExtenderProvider extenderProvider in extenderListService.GetExtenderProviders()) { if (extenderProvider.GetType() == typeof(ConditionPropertyProviderExtender)) { foundCAGExtender = true; } } if (!foundCAGExtender) { IExtenderProviderService extenderProviderService = (IExtenderProviderService)GetService(typeof(IExtenderProviderService)); if (extenderProviderService != null) { extenderProviderService.AddExtenderProvider(new ConditionPropertyProviderExtender()); } } } }
protected override void Initialize(Activity activity) { base.Initialize(activity); IExtenderListService service = (IExtenderListService)base.GetService(typeof(IExtenderListService)); if (service != null) { bool flag = false; foreach (IExtenderProvider provider in service.GetExtenderProviders()) { if (provider.GetType() == typeof(ConditionPropertyProviderExtender)) { flag = true; } } if (!flag) { IExtenderProviderService service2 = (IExtenderProviderService)base.GetService(typeof(IExtenderProviderService)); if (service2 != null) { service2.AddExtenderProvider(new ConditionPropertyProviderExtender()); } } } }
internal static void FilterDependencyProperties(IServiceProvider serviceProvider, Activity activity) { IExtenderListService extenderListService = serviceProvider.GetService(typeof(IExtenderListService)) as IExtenderListService; if (extenderListService != null) { Dictionary <string, DependencyProperty> dependencyProperyies = new Dictionary <string, DependencyProperty>(); foreach (DependencyProperty property in activity.MetaDependencyProperties) { dependencyProperyies.Add(property.Name, property); } List <string> disallowedProperties = new List <string>(); foreach (IExtenderProvider extenderProvider in extenderListService.GetExtenderProviders()) { if (!extenderProvider.CanExtend(activity)) { ProvidePropertyAttribute[] propertyAttributes = extenderProvider.GetType().GetCustomAttributes(typeof(ProvidePropertyAttribute), true) as ProvidePropertyAttribute[]; foreach (ProvidePropertyAttribute propertyAttribute in propertyAttributes) { disallowedProperties.Add(propertyAttribute.PropertyName); } } } foreach (string propertyName in disallowedProperties) { if (dependencyProperyies.ContainsKey(propertyName)) { activity.RemoveProperty(dependencyProperyies[propertyName]); } } } }
public void ExtenderProviderService_GetExtenderProviders_Invoke_ReturnsEmpty() { var surface = new DesignSurface(); object service = surface.GetService(typeof(IExtenderListService)); IExtenderListService listService = Assert.IsAssignableFrom <IExtenderListService>(service); Assert.Empty(listService.GetExtenderProviders()); }
public void ExtenderProviderService_RemoveExtenderProvider_InvokeWithoutProviders_Nop() { var surface = new DesignSurface(); object service = surface.GetService(typeof(IExtenderListService)); IExtenderListService listService = Assert.IsAssignableFrom <IExtenderListService>(service); IExtenderProviderService providerService = Assert.IsAssignableFrom <IExtenderProviderService>(service); var mockExtenderProvider = new Mock <IExtenderProvider>(MockBehavior.Strict); providerService.RemoveExtenderProvider(mockExtenderProvider.Object); Assert.Empty(listService.GetExtenderProviders()); }
public void ExtenderProviderService_RemoveExtenderProvider_InvokeWithProviders_Success() { var surface = new DesignSurface(); object service = surface.GetService(typeof(IExtenderListService)); IExtenderListService listService = Assert.IsAssignableFrom <IExtenderListService>(service); IExtenderProviderService providerService = Assert.IsAssignableFrom <IExtenderProviderService>(service); var mockExtenderProvider1 = new Mock <IExtenderProvider>(MockBehavior.Strict); var mockExtenderProvider2 = new Mock <IExtenderProvider>(MockBehavior.Strict); providerService.AddExtenderProvider(mockExtenderProvider1.Object); providerService.AddExtenderProvider(mockExtenderProvider2.Object); providerService.RemoveExtenderProvider(mockExtenderProvider1.Object); Assert.Equal(new IExtenderProvider[] { mockExtenderProvider2.Object }, listService.GetExtenderProviders()); // Remove again. providerService.RemoveExtenderProvider(mockExtenderProvider1.Object); Assert.Equal(new IExtenderProvider[] { mockExtenderProvider2.Object }, listService.GetExtenderProviders()); // Remove other. providerService.RemoveExtenderProvider(mockExtenderProvider2.Object); Assert.Empty(listService.GetExtenderProviders()); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { IWindowsFormsEditorService wfes = (IWindowsFormsEditorService)provider.GetService( typeof(IWindowsFormsEditorService)); if (wfes == null || context == null) { return(null); } ImageList imageList = null; Component component = (Component)context.Instance; IExtenderListService extenderListService = (IExtenderListService)component.Site.GetService(typeof(IExtenderListService)); if (extenderListService != null) { IExtenderProvider[] extenders = extenderListService.GetExtenderProviders(); for (int i = 0; i < extenders.Length; i++) { if (extenders[i].GetType().FullName == "MenuExtender.MenuExtender") { MenuExtender menuExtender = (MenuExtender)extenders[i]; imageList = menuExtender.ImageList; } } } ImageSelector imageSelector = new ImageSelector(imageList, (int)value, wfes); wfes.DropDownControl(imageSelector); int imageIndex = -1; if (imageSelector.SelectedItems.Count != 0) { try { imageIndex = (int)Convert.ToInt32(imageSelector.SelectedItems[0].Text); } catch { imageIndex = -1; } } return(imageIndex); }
public override void PaintValue(PaintValueEventArgs pe) { int imageIndex = -1; if (pe.Value != null) { try { imageIndex = (int)Convert.ToUInt16(pe.Value.ToString()); } catch { imageIndex = -1; } } if (pe.Context.Instance == null || imageIndex < 0) { return; } ImageList imageList = null; Component component = (Component)pe.Context.Instance; IExtenderListService extenderListService = (IExtenderListService)component.Site.GetService(typeof(IExtenderListService)); if (extenderListService != null) { IExtenderProvider[] extenders = extenderListService.GetExtenderProviders(); for (int i = 0; i < extenders.Length; i++) { if (extenders[i].GetType().FullName == "MenuItemRenderer.MenuItemRenderer") { MenuItemRender menuExtender = (MenuItemRender)extenders[i]; imageList = menuExtender.ImageList; } } } if (imageList == null || imageList.Images.Empty || imageIndex >= imageList.Images.Count) { return; } pe.Graphics.DrawImage(imageList.Images[imageIndex], pe.Bounds); }
private static bool SetGenerateMemberProperty( IExtenderListService service, IComponent component, bool value) { IExtenderProvider provider = null; IExtenderProvider[] providers = service.GetExtenderProviders(); foreach (IExtenderProvider item in providers) { if (item.GetType().FullName == "System.ComponentModel.Design.Serialization.CodeDomDesignerLoader+ModifiersExtenderProvider") { provider = item; break; } } if (provider == null) return false; MethodInfo methodInfo = provider.GetType().GetMethod( "SetGenerateMember", BindingFlags.Public | BindingFlags.Instance); if (methodInfo != null) { methodInfo.Invoke( provider, new object[] { component, value }); return true; } return false; }
private void x391093a02bb10339() { IExtenderListService service = (IExtenderListService)this.GetService(typeof(IExtenderListService)); if (false) { int num; if ((uint)num >= 0U) { return; } } else { goto label_15; } label_2: MethodInfo method; if (method == null) { if (true) { return; } goto label_15; } else { goto label_9; } label_8: if (true) { goto label_2; } label_9: IExtenderProvider extenderProvider; method.Invoke((object)extenderProvider, new object[2] { (object)this.Component, (object)false }); int index; if ((uint)index >= 0U) { return; } goto label_8; label_15: IExtenderProvider[] extenderProviders = service.GetExtenderProviders(); index = 0; if ((uint)index > uint.MaxValue) { return; } for (; index < extenderProviders.Length; ++index) { extenderProvider = extenderProviders[index]; while (extenderProvider.GetType().FullName == "System.ComponentModel.Design.Serialization.CodeDomDesignerLoader+ModifiersExtenderProvider") { method = extenderProvider.GetType().GetMethod("SetGenerateMember", BindingFlags.Instance | BindingFlags.Public); if ((uint)index + (uint)index >= 0U) { goto label_8; } } } }