public void RemoveDiagramLine(DiagramLineBase line) { Vertex.DeleteEdge(GetLineEdgeFromLineObject(line)); RemoveFromDiagramLines(line); line.ToDiagramItem.RemoveToLine(line); line.RemoveFromCanvas(); }
IEdge GetLineEdgeFromLineObject(DiagramLineBase line) { foreach (IEdge e in Vertex.GetAll("DiagramLine:")) { if (e.To == line.Vertex) { return(e); } } return(null); }
public virtual void VertexChange(object sender, VertexChangeEventArgs e) { if (sender == Vertex.Get(@"BaseEdge:\To:") && e.Type == VertexChangeType.EdgeRemoved) { DiagramLineBase toRemove = null; foreach (DiagramLineBase l in DiagramLines) { if (l.Vertex.Get(@"BaseEdge:\Meta:") == e.Edge.Meta && l.Vertex.Get(@"BaseEdge:\To:") == e.Edge.To) { toRemove = l; } } if (toRemove != null) { RemoveDiagramLine(toRemove); } } if (sender == Vertex.Get(@"BaseEdge:\To:") && e.Type == VertexChangeType.ValueChanged) { VertexContentChange(); } if (sender == Vertex.Get(@"BaseEdge:\To:") && e.Type == VertexChangeType.EdgeAdded && CanAutomaticallyAddEdges) { Diagram.CheckAndUpdateDiagramLinesForItem(this); } if (sender == Vertex.Get(@"LineWidth:") || sender == Vertex.Get(@"BackgroundColor:") || sender == Vertex.Get(@"BackgroundColor:\Red:") || sender == Vertex.Get(@"BackgroundColor:\Green:") || sender == Vertex.Get(@"BackgroundColor:\Blue:") || sender == Vertex.Get(@"BackgroundColor:\Opacity:") || sender == Vertex.Get(@"ForegroundColor:") || sender == Vertex.Get(@"ForegroundColor:\Red:") || sender == Vertex.Get(@"ForegroundColor:\Green:") || sender == Vertex.Get(@"ForegroundColor:\Blue:") || sender == Vertex.Get(@"ForegroundColor:\Opacity:")) { VisualiserUpdate(); } if (sender == Vertex || e.Type == VertexChangeType.EdgeAdded) { VisualiserUpdate(); } }
public void AddDiagramLineObject(DiagramItemBase toItem, IVertex l) { DiagramLineBase newline = (DiagramLineBase)PlatformClass.CreatePlatformObject(l); newline.Diagram = this.Diagram; if (newline.Vertex.Get(@"Definition:\DiagramLineVertex:") != null) { Diagram.AddEdgesFromDefintion(newline.Vertex, newline.Vertex.Get(@"Definition:\DiagramLineVertex:")); } newline.FromDiagramItem = this; newline.ToDiagramItem = toItem; newline.AddToCanvas(); AddToDiagramLines(newline); toItem.DiagramToLines.Add(newline); UpdateDiagramLines(toItem); }
void RemoveFromDiagramLines(DiagramLineBase toRemove) { DiagramLines.Remove(toRemove); needRebuildDiagramLinesDictionary = true; }
void AddToDiagramLines(DiagramLineBase line) { DiagramLines.Add(line); needRebuildDiagramLinesDictionary = true; }
protected void RemoveToLine(DiagramLineBase line) { DiagramToLines.Remove(line); }
public void AddAsToMetaLine(DiagramLineBase line) { DiagramToAsMetaLines.Add(line); }