public void HandleChange(object sender, ListChangedEventArgs e) { // TODO Also send event to backend. if (e.ListChangedType == ListChangedType.ItemAdded) { SElement child = Children[e.NewIndex]; child.Root = this; child.Parent = null; if (Backend.UpdateStyleOnGUI) { // TODO individual scheduled updates _ScheduledUpdateStyle = true; } else { if (child.Enabled) { child.UpdateStyle(); } } int disposeIndex = DisposingChildren.IndexOf(child); if (0 <= disposeIndex) { DisposingChildren.RemoveAt(disposeIndex); } } else if (e.ListChangedType == ListChangedType.ItemDeleted) { // TODO Dispose. // DisposingChildren.Add(null); } }
public virtual void HandleChange(object sender, ListChangedEventArgs e) { Parent?.HandleChange(null, null); UpdateStyle(); if (sender == null || e == null) { return; } // TODO Also send event to backend. if (Root != null) { if (e.ListChangedType == ListChangedType.ItemAdded) { SElement child = Children[e.NewIndex]; int disposeIndex = Root.DisposingChildren.IndexOf(child); if (0 <= disposeIndex) { Root.DisposingChildren.RemoveAt(disposeIndex); } child.UpdateStyle(); } else if (e.ListChangedType == ListChangedType.ItemDeleted) { // TODO Dispose. // Root.DisposingChildren.Add(null); } } }
public virtual void UpdateChildrenStyles() { for (int i = 0; i < Children.Count; i++) { SElement child = Children[i]; child.Root = Root; child.Parent = this; child.UpdateStyle(); } }
public void UpdateStyle() { if (Backend.UpdateStyleOnGUI && Backend.CurrentRoot == null) { _ScheduledUpdateStyle = true; return; } for (int i = 0; i < Children.Count; i++) { SElement child = Children[i]; child.Root = this; child.Parent = null; child.UpdateStyle(); } }