Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/30/14 13:06:52 (9 years ago)
Author:
bburlacu
Message:

#2215: Updated interfaces and graph components according to the reviewer comments (IDirectedGraph, DirectedGraph, Vertex, Arc).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.BottomUpTreeDistance/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/DirectedGraph/DirectedGraph.cs

    r11234 r11238  
    5656        vertex.ArcAdded += OnArcAdded;
    5757        vertex.ArcRemoved += OnArcRemoved;
    58         vertex.Changed += OnVertexChanged;
    5958      }
    6059
     
    6463        source.AddArc(arc);
    6564        target.AddArc(arc);
    66         arc.Changed += OnArcChanged;
    6765      }
    6866    }
     
    9189      vertices.Add(vertex);
    9290      // register event handlers
    93       vertex.Changed += OnVertexChanged;
    9491      vertex.ArcAdded += OnArcAdded;
    9592      vertex.ArcRemoved += OnArcRemoved;
     
    9996      vertices.Remove(vertex);
    10097      // remove connections to/from the removed vertex
    101       var arcList = vertex.InArcs.Concat(vertex.OutArcs).ToList();
     98      var arcList = vertex.InArcs.Concat(vertex.OutArcs).ToList(); // avoid invalid operation exception: "collection was modified" below
    10299      foreach (var arc in arcList)
    103100        RemoveArc(arc);
     
    105102      vertex.ArcAdded -= OnArcAdded;
    106103      vertex.ArcRemoved -= OnArcRemoved;
    107       vertex.Changed -= OnVertexChanged;
    108104    }
    109105
     
    130126    }
    131127
    132     protected virtual void OnVertexChanged(object sender, EventArgs args) { }
    133 
    134128    protected virtual void OnArcAdded(object sender, EventArgs<IArc> args) {
    135129      var arc = args.Value;
     
    139133      if (arcs.Contains(arc)) return;
    140134      arcs.Add(arc);
    141       arc.Changed += OnArcChanged;
    142135    }
    143136
     
    146139      if (!arcs.Contains(arc)) return; // the same rationale as above
    147140      arcs.Remove(arc);
    148       arc.Changed -= OnArcChanged;
    149141    }
    150 
    151     protected virtual void OnArcChanged(object sender, EventArgs args) { }
    152142
    153143    public override Image ItemImage {
    154144      get { return Common.Resources.VSImageLibrary.Graph; }
    155145    }
     146
     147    // events
     148    public event EventHandler VertexAdded;
     149    public event EventHandler VertexRemoved;
     150    public event EventHandler ArcAdded;
     151    public event EventHandler ArcRemoved;
    156152  }
    157153}
Note: See TracChangeset for help on using the changeset viewer.