static int set_ListChanged(IntPtr L) { try { Newtonsoft.Json.Linq.JContainer obj = (Newtonsoft.Json.Linq.JContainer)ToLua.CheckObject(L, 1, typeof(Newtonsoft.Json.Linq.JContainer)); EventObject arg0 = null; if (LuaDLL.lua_isuserdata(L, 2) != 0) { arg0 = (EventObject)ToLua.ToObject(L, 2); } else { return(LuaDLL.luaL_throw(L, "The event 'Newtonsoft.Json.Linq.JContainer.ListChanged' can only appear on the left hand side of += or -= when used outside of the type 'Newtonsoft.Json.Linq.JContainer'")); } if (arg0.op == EventOp.Add) { System.ComponentModel.ListChangedEventHandler ev = (System.ComponentModel.ListChangedEventHandler)arg0.func; obj.ListChanged += ev; } else if (arg0.op == EventOp.Sub) { System.ComponentModel.ListChangedEventHandler ev = (System.ComponentModel.ListChangedEventHandler)arg0.func; obj.ListChanged -= ev; } return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
private void SubscribeToChildStatusChanged(object proxy, string propertyName, object newValue) { lock (_StatusChangedEventHandlersLock) { if (!_StatusChangedEventHandlers.ContainsKey(propertyName)) { if (newValue is IChangeTrackable newChild) { EventHandler newHandler = (sender, e) => SetAndRaiseStatusChanged(proxy, parents: new List <object> { proxy }, setStatusEvenIfStatsAddedOrDeleted: false); newChild.StatusChanged += newHandler; _StatusChangedEventHandlers.Add(propertyName, newHandler); return; } if (newValue is System.ComponentModel.IBindingList newCollectionChild) { System.ComponentModel.ListChangedEventHandler newHandler = (sender, e) => SetAndRaiseStatusChanged(proxy, parents: new List <object> { proxy }, setStatusEvenIfStatsAddedOrDeleted: false); newCollectionChild.ListChanged += newHandler; _StatusChangedEventHandlers.Add(propertyName, newHandler); } } } }
private void SubscribeToChildStatusChanged(object proxy, string propertyName, object newValue) { void Handler(object sender) { SetAndRaiseStatusChanged(proxy, parents: new List <object> { proxy }, setStatusEvenIfStatsAddedOrDeleted: false); if (sender is IRevertibleChangeTrackingInternal trackable && trackable.IsChanged(new List <object> { proxy }) is bool isChanged && (isChanged && _ChangedComplexOrCollectionProperties.Add(propertyName) || !isChanged && _ChangedComplexOrCollectionProperties.Remove(propertyName))) { RaiseChangePropertiesChanged(proxy); } } lock (_StatusChangedEventHandlersLock) { if (!_StatusChangedEventHandlers.ContainsKey(propertyName)) { if (newValue is IChangeTrackable newChild) { EventHandler newHandler = (sender, e) => Handler(newValue); newChild.StatusChanged += newHandler; _StatusChangedEventHandlers.Add(propertyName, newHandler); return; } if (newValue is System.ComponentModel.IBindingList newCollectionChild) { System.ComponentModel.ListChangedEventHandler newHandler = (sender, e) => Handler(newValue); newCollectionChild.ListChanged += newHandler; _StatusChangedEventHandlers.Add(propertyName, newHandler); } } } }
private void SubscribeToChildStatusChanged(object proxy, string propertyName, object newValue) { if (!_StatusChangedEventHandlers.ContainsKey(propertyName)) { var newChild = newValue as IChangeTrackable; if (newChild != null) { EventHandler newHandler = (sender, e) => SetAndRaiseStatusChanged(proxy, false); newChild.StatusChanged += newHandler; _StatusChangedEventHandlers.Add(propertyName, newHandler); return; } var newCollictionChild = newValue as System.ComponentModel.IBindingList; if (newCollictionChild != null) { System.ComponentModel.ListChangedEventHandler newHandler = (sender, e) => SetAndRaiseStatusChanged(proxy, false); newCollictionChild.ListChanged += newHandler; _StatusChangedEventHandlers.Add(propertyName, newHandler); } } }
private void SubscribeToChildStatusChanged(object proxy, string propertyName, object newValue) { if (!_StatusChangedEventHandlers.ContainsKey(propertyName)) { if (newValue.DoIfType <IChangeTrackable>(newChild => { EventHandler newHandler = (sender, e) => SetAndRaiseStatusChanged(proxy, false); newChild.StatusChanged += newHandler; _StatusChangedEventHandlers.Add(propertyName, newHandler); })) { return; } newValue.DoIfType <System.ComponentModel.IBindingList>(newCollectionChild => { System.ComponentModel.ListChangedEventHandler newHandler = (sender, e) => SetAndRaiseStatusChanged(proxy, false); newCollectionChild.ListChanged += newHandler; _StatusChangedEventHandlers.Add(propertyName, newHandler); }); } }
public System.ComponentModel.ListChangedEventHandler System_ComponentModel_ListChangedEventHandler(LuaFunction func, LuaTable self, bool flag) { if (func == null) { System.ComponentModel.ListChangedEventHandler fn = delegate(object param0, System.ComponentModel.ListChangedEventArgs param1) { }; return(fn); } if (!flag) { System_ComponentModel_ListChangedEventHandler_Event target = new System_ComponentModel_ListChangedEventHandler_Event(func); System.ComponentModel.ListChangedEventHandler d = target.Call; target.method = d.Method; return(d); } else { System_ComponentModel_ListChangedEventHandler_Event target = new System_ComponentModel_ListChangedEventHandler_Event(func, self); System.ComponentModel.ListChangedEventHandler d = target.CallWithSelf; target.method = d.Method; return(d); } }
void Push_System_ComponentModel_ListChangedEventHandler(IntPtr L, System.ComponentModel.ListChangedEventHandler o) { ToLua.Push(L, o); }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="dispatcher"></param> /// <param name="action"></param> public ListChangedWrapperEventData(Colosoft.Threading.IDispatcher dispatcher, System.ComponentModel.ListChangedEventHandler action) { Dispatcher = dispatcher; Action = action; }