/// <summary> /// Gets the index of the given setting. /// </summary> public int IndexOf(DefaultButtonSetting item) { if (item == null) { throw new ArgumentNullException("item"); } return(settings.IndexOf(item)); }
/// <summary> /// Determines if the collection contains the given setting. /// </summary> public bool Contains(DefaultButtonSetting item) { if (item == null) { return(false); } return(settings.Contains(item)); }
/// <summary> /// Removes the given setting from the collection /// </summary> /// <param name="item"></param> public void Remove(DefaultButtonSetting item) { if (item == null) { throw new ArgumentNullException("item"); } int index = IndexOf(item); if (index >= 0) { RemoveAt(index); } }
/// <summary> /// Adds the given setting to the collection at the given index /// </summary> public void Insert(int index, DefaultButtonSetting item) { if (item == null) { throw new ArgumentNullException("item"); } settings.Insert(index, item); if (_isTrackingViewState) { ((IStateManager)item).TrackViewState(); _saveAll = true; } }
/// <summary> /// Adds a setting to the collection /// </summary> public int Add(DefaultButtonSetting item) { if (item == null) { throw new ArgumentNullException("item"); } settings.Add(item); if (_isTrackingViewState) { ((IStateManager)item).TrackViewState(); item.SetDirty(); } return(settings.Count - 1); }
object IStateManager.SaveViewState() { if (_saveAll == true) { // Save all items. ArrayList states = new ArrayList(Count); for (int i = 0; i < Count; i++) { DefaultButtonSetting setting = (DefaultButtonSetting)settings[i]; setting.SetDirty(); states.Add(((IStateManager)setting).SaveViewState()); } if (states.Count > 0) { return(states); } else { return(null); } } else { // Save only the dirty items. ArrayList indices = new ArrayList(); ArrayList states = new ArrayList(); for (int i = 0; i < Count; i++) { DefaultButtonSetting setting = (DefaultButtonSetting)settings[i]; object state = ((IStateManager)setting).SaveViewState(); if (state != null) { states.Add(state); indices.Add(i); } } if (indices.Count > 0) { return(new Pair(indices, states)); } return(null); } }
/// <summary> /// sets the property value for the given control /// </summary> public void SetDefaultButton(Control control, String value) { if (value == null) { value = String.Empty; } DefaultButtonSetting newSetting = null; // search the current settings for the control given foreach (DefaultButtonSetting setting in Settings) { if (setting.Parent == control.ID) { newSetting = setting; break; } } if (newSetting == null) { // the setting wasn't found, so add it if (value.Length > 0) { newSetting = new DefaultButtonSetting(); newSetting.Parent = control.ID; newSetting.Button = value; this.Settings.Add(newSetting); } } else { // change or remove the setting as needed. if (value.Length > 0) { newSetting.Button = value; } else { this.Settings.Remove(newSetting); } } notifyDesignerOfChange(); }
void IStateManager.LoadViewState(object savedState) { if (savedState == null) { return; } if (savedState is ArrayList) { // All items were saved. // Create new DefaultButtonSettings collection using view state. _saveAll = true; ArrayList states = (ArrayList)savedState; settings = new ArrayList(states.Count); for (int i = 0; i < states.Count; i++) { DefaultButtonSetting setting = new DefaultButtonSetting(); Add(setting); ((IStateManager)setting).LoadViewState(states[i]); } } else { // Load modified items. Pair p = (Pair)savedState; ArrayList indices = (ArrayList)p.First; ArrayList states = (ArrayList)p.Second; for (int i = 0; i < indices.Count; i++) { int index = (int)indices[i]; if (index < this.Count) { ((IStateManager)settings[index]).LoadViewState(states[i]); } else { DefaultButtonSetting setting = new DefaultButtonSetting(); Add(setting); ((IStateManager)setting).LoadViewState(states[i]); } } } }
/// <summary> /// Removes the given setting from the collection /// </summary> /// <param name="item"></param> public void Remove(DefaultButtonSetting item) { if (item == null) { throw new ArgumentNullException("item"); } int index = IndexOf(item); if (index >= 0) { RemoveAt(index); } }
void IStateManager.LoadViewState(object savedState) { if (savedState == null) { return; } if (savedState is ArrayList) { // All items were saved. // Create new DefaultButtonSettings collection using view state. _saveAll = true; ArrayList states = (ArrayList) savedState; settings = new ArrayList(states.Count); for (int i = 0; i < states.Count; i++) { DefaultButtonSetting setting = new DefaultButtonSetting(); Add(setting); ((IStateManager)setting).LoadViewState(states[i]); } } else { // Load modified items. Pair p = (Pair) savedState; ArrayList indices = (ArrayList)p.First; ArrayList states = (ArrayList)p.Second; for (int i = 0 ; i < indices.Count; i++) { int index = (int)indices[i]; if (index < this.Count) { ((IStateManager)settings[index]).LoadViewState(states[i]); } else { DefaultButtonSetting setting = new DefaultButtonSetting(); Add(setting); ((IStateManager)setting).LoadViewState(states[i]); } } } }
/// <summary> /// Adds the given setting to the collection at the given index /// </summary> public void Insert(int index, DefaultButtonSetting item) { if (item == null) { throw new ArgumentNullException("item"); } settings.Insert(index,item); if (_isTrackingViewState) { ((IStateManager)item).TrackViewState(); _saveAll = true; } }
/// <summary> /// Gets the index of the given setting. /// </summary> public int IndexOf(DefaultButtonSetting item) { if (item == null) { throw new ArgumentNullException("item"); } return settings.IndexOf(item); }
/// <summary> /// Determines if the collection contains the given setting. /// </summary> public bool Contains(DefaultButtonSetting item) { if (item == null) { return false; } return settings.Contains(item); }
/// <summary> /// Adds a setting to the collection /// </summary> public int Add(DefaultButtonSetting item) { if (item == null) { throw new ArgumentNullException("item"); } settings.Add(item); if (_isTrackingViewState) { ((IStateManager)item).TrackViewState(); item.SetDirty(); } return settings.Count - 1; }
/// <summary> /// sets the property value for the given control /// </summary> public void SetDefaultButton(Control control, String value) { if (value == null) { value = String.Empty; } DefaultButtonSetting newSetting = null; // search the current settings for the control given foreach( DefaultButtonSetting setting in Settings ) { if ( setting.Parent == control.ID ) { newSetting = setting; break; } } if ( newSetting == null ) { // the setting wasn't found, so add it if ( value.Length > 0 ) { newSetting = new DefaultButtonSetting(); newSetting.Parent = control.ID; newSetting.Button = value; this.Settings.Add( newSetting ); } } else { // change or remove the setting as needed. if ( value.Length > 0) { newSetting.Button = value; } else { this.Settings.Remove( newSetting ); } } notifyDesignerOfChange(); }