private static CommandBarButtonItem CreateCommandBarButton(object view, MemberInfo member, string title, UIView buttonView, UIBarButtonItemStyle style, UIBarButtonSystemItem? buttonType, BarButtonLocation location) { ICommandInterceptor commandInterceptor = null; CommandBarButtonItem button = null; ReflectiveCommand command = null; var methodInfo = member as MethodInfo; if(methodInfo != null) { command = GetCommandForMember(view, member); var cellViewTemplates = member.GetCustomAttributes<CellViewTemplate>(); if (cellViewTemplates.Length > 0) { var interceptorTemplate = cellViewTemplates .FirstOrDefault((template) => template.CellViewType != null && template.CellViewType.GetInterfaces() .Any((type)=> type == typeof(ICommandInterceptor))) as CellViewTemplate; if (interceptorTemplate != null) { commandInterceptor = Activator.CreateInstance(interceptorTemplate.CellViewType) as ICommandInterceptor; } } } if (!string.IsNullOrEmpty(title)) { button = new CommandBarButtonItem(title, style); } else if (buttonView != null) { button = new CommandBarButtonItem(buttonView); } else { if (!buttonType.HasValue) buttonType = UIBarButtonSystemItem.Done; button = new CommandBarButtonItem(buttonType.Value); button.Style = style; } command.CommandButton = button; button.Enabled = true; button.Location = location; button.Command = command; button.CommandInterceptor = commandInterceptor; var orderAttribute = member.GetCustomAttribute<OrderAttribute>(); if (orderAttribute != null) button.Order = orderAttribute.Order; else button.Order = 0; return button; }
private static CommandBarButtonItem CreateCommandBarButton(object view, MemberInfo member, string title, UIView buttonView, UIBarButtonItemStyle style, UIBarButtonSystemItem?buttonType, BarButtonLocation location) { ICommandInterceptor commandInterceptor = null; CommandBarButtonItem button = null; ReflectiveCommand command = null; var methodInfo = member as MethodInfo; if (methodInfo != null) { command = GetCommandForMember(view, member); var cellViewTemplates = member.GetCustomAttributes <CellViewTemplate>(); if (cellViewTemplates.Length > 0) { var interceptorTemplate = cellViewTemplates .FirstOrDefault((template) => template.CellViewType != null && template.CellViewType.GetInterfaces() .Any((type) => type == typeof(ICommandInterceptor))) as CellViewTemplate; if (interceptorTemplate != null) { commandInterceptor = Activator.CreateInstance(interceptorTemplate.CellViewType) as ICommandInterceptor; } } } if (!string.IsNullOrEmpty(title)) { button = new CommandBarButtonItem(title, style); } else if (buttonView != null) { button = new CommandBarButtonItem(buttonView); } else { if (!buttonType.HasValue) { buttonType = UIBarButtonSystemItem.Done; } button = new CommandBarButtonItem(buttonType.Value); button.Style = style; } command.CommandButton = button; button.Enabled = true; button.Location = location; button.Command = command; button.CommandInterceptor = commandInterceptor; var orderAttribute = member.GetCustomAttribute <OrderAttribute>(); if (orderAttribute != null) { button.Order = orderAttribute.Order; } else { button.Order = 0; } return(button); }
private CommandBarButtonItem CreateCommandBarButton(object view, MemberInfo member, string title, UIBarButtonItemStyle style, UIBarButtonSystemItem buttonType, BarButtonLocation location ) { CommandBarButtonItem button = null; ICommand command = null; var methodInfo = member as MethodInfo; if(methodInfo != null) command = new ReflectiveCommand(view, member as MethodInfo, null); if(!string.IsNullOrEmpty(title)) { button = new CommandBarButtonItem(title, style, delegate {command.Execute(null); }); } else { button = new CommandBarButtonItem(buttonType, delegate {command.Execute(null); }); button.Style = style; } button.Enabled = true; button.Location = location; var orderAttribute = member.GetCustomAttribute<OrderAttribute>(); if (orderAttribute != null) button.Order = orderAttribute.Order; else button.Order = 0; return button; }
private CommandBarButtonItem CreateCommandBarButton(object view, MemberInfo member, string title, UIView buttonView, UIBarButtonItemStyle style, UIBarButtonSystemItem buttonType, BarButtonLocation location) { CommandBarButtonItem button = null; ICommand command = null; var methodInfo = member as MethodInfo; if (methodInfo != null) { command = new ReflectiveCommand(view, member as MethodInfo, null); } if (!string.IsNullOrEmpty(title)) { button = new CommandBarButtonItem(title, style, delegate { command.Execute(null); }); } else if (buttonView != null) { button = new CommandBarButtonItem(buttonView); } else { button = new CommandBarButtonItem(buttonType, delegate { command.Execute(null); }); button.Style = style; } button.Enabled = true; button.Location = location; var orderAttribute = member.GetCustomAttribute <OrderAttribute>(); if (orderAttribute != null) { button.Order = orderAttribute.Order; } else { button.Order = 0; } return(button); }
private static CommandBarButtonItem CreateCommandBarButton(object view, MemberInfo member, string title, UIView buttonView, UIBarButtonItemStyle style, UIBarButtonSystemItem? buttonType, BarButtonLocation location) { CommandBarButtonItem button = null; ReflectiveCommand command = null; var methodInfo = member as MethodInfo; if(methodInfo != null) command = GetCommandForMember(view, member); if (!string.IsNullOrEmpty(title)) { button = new CommandBarButtonItem(title, style, (sender, e) => command.Execute(null)); } else if (buttonView != null) { button = new CommandBarButtonItem(buttonView); } else { if (!buttonType.HasValue) buttonType = UIBarButtonSystemItem.Done; button = new CommandBarButtonItem(buttonType.Value, (sender, e) => command.Execute(null)); button.Style = style; } command.CommandButton = button; button.Enabled = true; button.Location = location; button.Command = command; var orderAttribute = member.GetCustomAttribute<OrderAttribute>(); if (orderAttribute != null) button.Order = orderAttribute.Order; else button.Order = 0; return button; }
private static CommandBarButtonItem CreateCommandBarButton(object view, MemberInfo member, string title, UIView buttonView, UIBarButtonItemStyle style, UIBarButtonSystemItem?buttonType, BarButtonLocation location) { CommandBarButtonItem button = null; ReflectiveCommand command = null; var methodInfo = member as MethodInfo; if (methodInfo != null) { command = GetCommandForMember(view, member); } if (!string.IsNullOrEmpty(title)) { button = new CommandBarButtonItem(title, style, (sender, e) => command.Execute(null)); } else if (buttonView != null) { button = new CommandBarButtonItem(buttonView); } else { if (!buttonType.HasValue) { buttonType = UIBarButtonSystemItem.Done; } button = new CommandBarButtonItem(buttonType.Value, (sender, e) => command.Execute(null)); button.Style = style; } command.CommandButton = button; button.Enabled = true; button.Location = location; button.Command = command; var orderAttribute = member.GetCustomAttribute <OrderAttribute>(); if (orderAttribute != null) { button.Order = orderAttribute.Order; } else { button.Order = 0; } return(button); }