public void AddAt(int index, MenuItem child) { if (child == null) { throw new ArgumentNullException("child"); } if (child.Owner != null && child.Parent == null) { child.Owner.Items.Remove(child); } if (child.Parent != null) { child.Parent.ChildItems.Remove(child); } if (_owner != null) { child.SetParent(_owner); child.SetOwner(_owner.Owner); } _list.Insert(index, child); _version++; if (_isTrackingViewState) { ((IStateManager)child).TrackViewState(); child.SetDirty(); } Log.Add(new LogItem(LogItemType.Insert, index, _isTrackingViewState)); }
public void RemoveAt(int index) { MenuItem item = _list[index]; Menu owner = item.Owner; if (owner != null) { MenuItem current = owner.SelectedItem; // Check if the selected item is under this item while (current != null) { if (current == item) { owner.SetSelectedItem(null); break; } current = current.Parent; } } item.SetParent(null); _list.RemoveAt(index); _version++; Log.Add(new LogItem(LogItemType.Remove, index, _isTrackingViewState)); }
public void Add (MenuItem child) { child.Index = items.Add (child); child.Menu = menu; child.SetParent (parent); if (marked) { ((IStateManager)child).TrackViewState (); SetDirty (); } }
public void Add(MenuItem child) { child.Index = items.Add(child); child.Menu = menu; child.SetParent(parent); if (marked) { ((IStateManager)child).TrackViewState(); SetDirty(); } }
public void AddAt(int index, MenuItem child) { items.Insert(index, child); child.Index = index; child.Menu = menu; child.SetParent(parent); for (int n = index + 1; n < items.Count; n++) { ((MenuItem)items[n]).Index = n; } if (marked) { ((IStateManager)child).TrackViewState(); SetDirty(); } }
public void RemoveAt(int index) { MenuItem item = this._list[index]; Menu owner = item.Owner; if (owner != null) { for (MenuItem item2 = owner.SelectedItem; item2 != null; item2 = item2.Parent) { if (item2 == item) { owner.SetSelectedItem(null); break; } } } item.SetParent(null); this._list.RemoveAt(index); this._version++; this.Log.Add(new LogItem(LogItemType.Remove, index, this._isTrackingViewState)); }
public void AddAt (int index, MenuItem child) { items.Insert (index, child); child.Index = index; child.Menu = menu; child.SetParent (parent); for (int n=index+1; n<items.Count; n++) ((MenuItem)items[n]).Index = n; if (marked) { ((IStateManager)child).TrackViewState (); SetDirty (); } }