private void AddEventHandlers(IFormInstance userForm) { var handlerMethods = ClassHelper.FindAnnotatedMethods <MenuEventHandlerAttribute>(userForm); foreach (var method in handlerMethods) { var attribute = method.GetAttribute <MenuEventHandlerAttribute>(); try { if (attribute.Before) { before.Add(attribute.MenuId, method.CreateBeforeEventDelegate <MenuEvent>(userForm)); } else { after.Add(attribute.MenuId, method.CreateAfterEventDelegate <MenuEvent>(userForm)); } } catch (ArgumentException e) { var exception = new EventHandlerAlreadyExistsException( $"A menu event handler for {attribute.MenuId} already exists. Duplicate method {method.Name}.", e); throw exception; } HandlerAdded(this, new HandlerAddedEventArgs(BoEventTypes.et_MENU_CLICK, userForm.FormType)); } }
/// <summary> /// Initializes a new instance of the <see cref="EventListener"/> class. /// </summary> /// <param name="form">The form.</param> /// <param name="subordinates">Other objects that contain.</param> public EventListener(B1Session session, IFormInstance form, params object[] subordinates) { var delegates = subordinates ?? new object[0]; listeners = new List <IEventListener>() { session.CreateFormMenuEventListener(form), session.CreateRightClickEventListener(form), session.CreateFormItemEventListener(form, delegates), session.CreateFormDataEventListener(form), session.CreateLayoutKeyEventListener(form) }; }
/// <summary> /// Initializes a new instance of the <see cref="EventListener" /> class. /// </summary> /// <param name="form">The form.</param> /// <param name="subordinates">Other objects that contain.</param> public EventListener(IFormInstance form, params object[] subordinates) { var eventsManager = B1EventsManager.Instance; var delegates = subordinates ?? new object[0]; listeners = new List <IEventListener> { eventsManager.CreateFormMenuEventListener(form), eventsManager.CreateRightClickEventListener(form), eventsManager.CreateFormItemEventListener(form, delegates), eventsManager.CreateFormDataEventListener(form), eventsManager.CreateLayoutKeyEventListener(form) }; }
private void AddEventHandlers(IFormInstance userForm) { var handlerMethods = ClassHelper.FindAnnotatedMethods <RightClickEventHandlerAttribute>(userForm); foreach (var method in handlerMethods) { var attribute = method.GetAttribute <RightClickEventHandlerAttribute>(); if (attribute.Before) { before.Add(attribute.ItemId, method.CreateBeforeEventDelegate <ContextMenuInfo>(userForm)); } else { after.Add(attribute.ItemId, method.CreateAfterEventDelegate <ContextMenuInfo>(userForm)); } HandlerAdded(this, new HandlerAddedEventArgs(BoEventTypes.et_RIGHT_CLICK, userForm.FormType)); } }
private void AddEventHandlers(IFormInstance userForm) { var handlerMethods = ClassHelper.FindAnnotatedMethods <LayoutKeyEventHandlerAttribute>(userForm); foreach (var method in handlerMethods) { var attribute = method.GetAttribute <LayoutKeyEventHandlerAttribute>(); if (attribute.Before) { before.Add(attribute, method.CreateBeforeEventDelegate <LayoutKeyInfo>(userForm)); } else { after.Add(attribute, method.CreateAfterEventDelegate <LayoutKeyInfo>(userForm)); } HandlerAdded(this, new HandlerAddedEventArgs(BoEventTypes.et_PRINT_LAYOUT_KEY, userForm.FormType)); } }
private void AddEventHandlers(IFormInstance userForm) { var handlerMethods = ClassHelper.FindAnnotatedMethods <FormDataEventHandlerAttribute>(userForm); foreach (var method in handlerMethods) { var attribute = method.GetAttribute <FormDataEventHandlerAttribute>(); if (attribute.Before) { before.Add(attribute, method.CreateBeforeEventDelegate <BusinessObjectInfo>(userForm)); } else { after.Add(attribute, method.CreateAfterEventDelegate <BusinessObjectInfo>(userForm)); } HandlerAdded(this, new HandlerAddedEventArgs(attribute.EventType, userForm.FormType)); } }
public RightClickEventListener(B1RightClickEventDispatcher dispatcher, IFormInstance form) { this.dispatcher = dispatcher; this.form = form; }
public FormItemEventHandler(B1ItemEventDispatcher dispatcher, IFormInstance form, params object[] subordinates) { this.dispatcher = dispatcher; this.form = form; this.subordinates = subordinates ?? new object[0]; }
public FormItemEventHandler(B1ItemEventDispatcher dispatcher, IFormInstance form) : this(dispatcher, form, null) { }
public LayoutKeyEventListener(B1LayoutKeyEventDispatcher dispatcher, IFormInstance form) { this.dispatcher = dispatcher; this.form = form; }
internal IEventListener CreateLayoutKeyEventListener(IFormInstance form) { return(new LayoutKeyEventListener(B1LayoutKeyEventDispatcher, form)); }
internal IEventListener CreateFormMenuEventListener(IFormInstance form) { return(new FormMenuEventListener(form, B1MenuEventDispatcher)); }
internal IEventListener CreateFormItemEventListener(IFormInstance form, params object[] subordinates) { return(new FormItemEventHandler(B1ItemEventDispatcher, form, subordinates)); }
internal IEventListener CreateFormDataEventListener(IFormInstance form) { return(new FormDataEventHandler(form, B1FormDataEventDispatcher)); }
/// <summary> /// Initializes a new instance of the <see cref="EventListener" /> class. /// </summary> /// <param name="form">The form.</param> public EventListener(IFormInstance form) : this(form, null) { }
public FormDataEventListener(IFormInstance form, B1FormDataEventDispatcher dispatcher) { this.form = form; this.dispatcher = dispatcher; }
internal IEventListener CreateRightClickEventListener(IFormInstance form) { return(new RightClickEventListener(B1RightClickEventDispatcher, form)); }
/// <summary> /// Initializes a new instance of the <see cref="EventListener"/> class. /// </summary> /// <param name="form">The form.</param> public EventListener(B1Session session, IFormInstance form) : this(session, form, null) { }