Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/12/14 01:43:03 (9 years ago)
Author:
swagner
Message:

#2205: Implemented review comments:

  • added IConnectablePort
  • replaced MessagePort.Messages by MessagePort.LastMessage
  • removed Path and PathChanged in NetworkItem

Additional changes:

  • refactored CanConnectToPort
  • refactored cloning of port parameters in MessagePortView
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/OptimizationNetworks/HeuristicLab.Optimization.Networks/3.3/Core.Networks/NetworkItem.cs

    r11528 r11538  
    3131  [StorableClass]
    3232  public abstract class NetworkItem : NamedItem, INetworkItem {
    33     public static readonly string PathSeparator = " => ";
    3433    public static new Image StaticItemImage {
    3534      get { return HeuristicLab.Common.Resources.VSImageLibrary.Class; }
     
    4140      protected set {
    4241        if (value != parent) {
    43           DeregisterParentEvents();
    4442          parent = value;
    45           RegisterParentEvents();
    46           OnPathChanged();
    4743        }
    4844      }
     
    5046    public virtual IEnumerable<INetworkItem> Children {
    5147      get { return Enumerable.Empty<INetworkItem>(); }
    52     }
    53     public string Path {
    54       get {
    55         return parent != null ? parent.Path + PathSeparator + Name : Name;
    56       }
    5748    }
    5849
     
    6354    protected NetworkItem(string name) : base(name) { }
    6455    protected NetworkItem(string name, string description) : base(name, description) { }
    65 
    66     protected override void OnNameChanging(CancelEventArgs<string> e) {
    67       base.OnNameChanging(e);
    68       e.Cancel = e.Cancel || e.Value.Contains(PathSeparator);
    69     }
    70     protected override void OnNameChanged() {
    71       base.OnNameChanged();
    72       OnPathChanged();
    73     }
    74 
    75     public event EventHandler PathChanged;
    76     protected virtual void OnPathChanged() {
    77       var handler = PathChanged;
    78       if (handler != null) handler(this, EventArgs.Empty);
    79     }
    80 
    81     #region Parent Events
    82     protected virtual void RegisterParentEvents() {
    83       if (parent != null) {
    84         parent.PathChanged += Parent_PathChanged;
    85       }
    86     }
    87     protected virtual void DeregisterParentEvents() {
    88       if (parent != null) {
    89         parent.PathChanged -= Parent_PathChanged;
    90       }
    91     }
    92     void Parent_PathChanged(object sender, EventArgs e) {
    93       OnPathChanged();
    94     }
    95     #endregion
    9656  }
    9757}
Note: See TracChangeset for help on using the changeset viewer.