void WeightedGraph_OnAddEdge(object sender, EdgesModifiedEventArgs e) { if (e.Status == ModificationStatus.AlreadyExist) { (e.Edge as WeightedArc).Weight += currentWeigth; } }
void Tree_OnEdgeAdded(object sender, EdgesModifiedEventArgs e) { if (e.Status == ModificationStatus.Successful) { this.ArcWrappers.Remove(this.ArcWrappers.Last()); this.ArcWrappers.Add(new NamedArcWrapper(this, e.Edge as NamedArc)); } }
void SimpleGraph_OnAddEdge(object sender, EdgesModifiedEventArgs e) { if (e.Status == ModificationStatus.Successful) { object u = e.Edge.Vertices[0].Value, v = e.Edge.Vertices[1].Value; if (this[u, v] != null || u == v) e.Status = ModificationStatus.Error; } }
void BiGraph_OnAddEdge(object sender, EdgesModifiedEventArgs e) { if (e.Status == ModificationStatus.Successful) { Arc arc = e.Edge as Arc; if ((firstPart.Exists(v => v.Value.Equals(arc.Head.Value)) && firstPart.Exists(v => v.Value.Equals(arc.Tail.Value))) || (secondPart.Exists(v => v.Value.Equals(arc.Head.Value)) && secondPart.Exists(v => v.Value.Equals(arc.Tail.Value)))) { e.Status = ModificationStatus.Error; } } }
void sGraph_OnEdgeAdded(object sender, EdgesModifiedEventArgs e) { if (e.Status == ModificationStatus.Successful) { WFArcWrapper last = this.ArcWrappers.Last() as WFArcWrapper; this.ArcWrappers.Add(new RelationArcWrapper(this, e.Edge as RelationArc) { Points = last.Points }); this.ArcWrappers.Remove(last); } }
void DirectedGraph_OnRemoveEdge(object sender, EdgesModifiedEventArgs e) { DirectedGraph graph = sender as DirectedGraph; Arc arc = e.Edge as Arc; if (e.Status == ModificationStatus.Successful) { arc = graph.GetEdge(edge => (edge as Arc).Head.Value == e.v && (edge as Arc).Tail.Value == e.u) as Arc; if (arc == null) e.Status = ModificationStatus.NotExist; } }
void DirectedGraph_OnAddEdge(object sender, EdgesModifiedEventArgs e) { if (e.Status == ModificationStatus.Successful) { if (this[e.u, e.v] != null) { e.Status = ModificationStatus.AlreadyExist; e.Edge = this[e.u, e.v]; } } }
void graph_OnEdgeRemoved(object sender, EdgesModifiedEventArgs e) { if (e.Status == ModificationStatus.Successful) { ArcWrappers.RemoveAll(a => a.EqualsEdges(e.Edge)); } }
void graph_OnEdgeAdded(object sender, EdgesModifiedEventArgs e) { if (e.Status == ModificationStatus.Successful) { ArcWrappers.Add(new WFArcWrapper(this, e.Edge) { Points = currentPoints }); } }
private void Graph_OnEdgeAdded(object sender, EdgesModifiedEventArgs e) { if (e.Status == ModificationStatus.Successful) { WFArcWrapper last = this.ArcWrappers.Last() as WFArcWrapper; this.ArcWrappers.Add(new ColouredArcWrapper(this, e.Edge as ColouredArc) { Points = this.currentPoints }); this.ArcWrappers.Remove(last); } }
void graph_OnAddEdge(object sender, EdgesModifiedEventArgs e) { if (e.Status == ModificationStatus.Successful) { // block loops if (e.u.Equals(e.v)) { e.Status = ModificationStatus.AlreadyExist; return; } // invalid id if (this.GetRelationDefinition(this._currentArcId) == null) { e.Status = ModificationStatus.InvalidParameters; return; } } }
public void RemoveEdge(object u, object v) { IEdge edge = edges.Find(e => (e.Vertices[0].Value.Equals(u) && e.Vertices[1].Value.Equals(v)) || (e.Vertices[1].Value.Equals(u) && e.Vertices[0].Value.Equals(v))); ModificationStatus status = edge != null ? ModificationStatus.Successful : ModificationStatus.NotExist; EdgesModifiedEventArgs eArgs = new EdgesModifiedEventArgs(status, edge, u, v); if (OnRemoveEdge!= null) OnRemoveEdge(this, eArgs); if (eArgs.Status == ModificationStatus.Successful) edges.Remove(eArgs.Edge as Edge); if (OnEdgeRemoved != null) OnEdgeRemoved(this, eArgs); }
public void AddEdge(object u, object v) { ModificationStatus status = ModificationStatus.Successful; if (!(vertices.Exists(vert => vert.Value.Equals(v)) && vertices.Exists(vert => vert.Value.Equals(u)))) status = ModificationStatus.InvalidParameters; IEdge edge = this.CreateEdge(u, v); EdgesModifiedEventArgs e = new EdgesModifiedEventArgs(status, edge, u, v); if (OnAddEdge != null) OnAddEdge(this, e); if (e.Status == ModificationStatus.Successful) edges.Add(e.Edge); if (OnEdgeAdded != null) OnEdgeAdded(this, e); }