Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/05/10 03:07:12 (14 years ago)
Author:
swagner
Message:

Operator architecture refactoring (#95)

  • replaced Changed in IItem by ToStringChanged
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Core/3.3/ItemSet.cs

    r2833 r2932  
    3636  [Item("ItemSet<T>", "Represents a set of items.")]
    3737  public class ItemSet<T> : ObservableSet<T>, IItem where T : class, IItem {
    38     [Storable(Name = "RestoreEvents")]
    39     private object RestoreEvents {
    40       get { return null; }
    41       set {
    42         foreach (T item in this)
    43           if (item != null) item.Changed += new ChangedEventHandler(Item_Changed);
    44       }
    45     }
    46 
    4738    public virtual string ItemName {
    4839      get { return ItemAttribute.GetName(this.GetType()); }
     
    5647
    5748    public ItemSet() : base() { }
    58     public ItemSet(IEnumerable<T> collection) : base(collection) {
    59       foreach (T item in this)
    60         if (item != null) item.Changed += new ChangedEventHandler(Item_Changed);
    61     }
     49    public ItemSet(IEnumerable<T> collection) : base(collection) { }
    6250
    6351    public object Clone() {
     
    7563    }
    7664
    77     public event ChangedEventHandler Changed;
    78     protected void OnChanged() {
    79       OnChanged(new ChangedEventArgs());
    80     }
    81     protected virtual void OnChanged(ChangedEventArgs e) {
    82       if ((e.RegisterChangedObject(this)) && (Changed != null))
    83         Changed(this, e);
    84     }
    85 
    86     protected override void OnItemsAdded(IEnumerable<T> items) {
    87       foreach (T item in items)
    88         if (item != null) item.Changed += new ChangedEventHandler(Item_Changed);
    89       base.OnItemsAdded(items);
    90     }
    91     protected override void OnItemsRemoved(IEnumerable<T> items) {
    92       foreach (T item in items)
    93         if (item != null) item.Changed -= new ChangedEventHandler(Item_Changed);
    94       base.OnItemsRemoved(items);
    95     }
    96     protected override void OnCollectionReset(IEnumerable<T> items, IEnumerable<T> oldItems) {
    97       foreach (T oldItem in oldItems)
    98         if (oldItem != null) oldItem.Changed -= new ChangedEventHandler(Item_Changed);
    99       foreach (T item in items)
    100         if (item != null) item.Changed += new ChangedEventHandler(Item_Changed);
    101       base.OnCollectionReset(items, oldItems);
    102     }
    103     protected override void OnPropertyChanged(string propertyName) {
    104       base.OnPropertyChanged(propertyName);
    105       OnChanged();
    106     }
    107 
    108     private void Item_Changed(object sender, ChangedEventArgs e) {
    109       OnChanged(e);
     65    public event EventHandler ToStringChanged;
     66    protected virtual void OnToStringChanged() {
     67      if (ToStringChanged != null)
     68        ToStringChanged(this, EventArgs.Empty);
    11069    }
    11170  }
Note: See TracChangeset for help on using the changeset viewer.