protected virtual void CreateEdgeControl(TEdge edge) { var edgeControl = new EdgeControl { Edge = edge, DataContext = edge }; //var edgeControl = _edgePool.GetObject(); //edgeControl.Edge = edge; _edgeControls[edge] = edgeControl; //set the Source and the Target edgeControl.Source = _vertexControls[edge.Source]; edgeControl.Target = _vertexControls[edge.Target]; if (ActualLayoutMode == Algorithms.Layout.LayoutMode.Simple) { Children.Insert(0, edgeControl); } else { Children.Add(edgeControl); } SetHighlightProperties(edge, edgeControl); RunCreationTransition(edgeControl); }
public EdgeControl GetEdgeControl(TEdge edge) { EdgeControl ec = null; _edgeControls.TryGetValue(edge, out ec); return(ec); }
protected virtual EdgeControl CreateEdgeControl([NotNull] TEdge edge) { var edgeControl = new EdgeControl { Edge = edge, DataContext = edge }; EdgesControls[edge] = edgeControl; // Set the Source and the Target edgeControl.Source = VerticesControls[edge.Source]; edgeControl.Target = VerticesControls[edge.Target]; if (ActualLayoutMode == Algorithms.Layout.LayoutMode.Simple) { Children.Insert(0, edgeControl); } else { Children.Add(edgeControl); } SetHighlightProperties(edge, edgeControl); RunCreationTransition(edgeControl); return(edgeControl); }
protected EdgeControl GetOrCreateEdgeControl([NotNull] TEdge edge) { EdgeControl edgeControl = GetEdgeControl(edge); if (edgeControl is null) { return(CreateEdgeControl(edge)); } return(edgeControl); }
private void SetHighlightProperties(TEdge edge, EdgeControl edgeControl) { Debug.Assert(edge != null); Debug.Assert(edgeControl != null); if (IsHighlightedEdge(edge, out object highlightInfo)) { GraphElementBehaviour.SetIsHighlighted(edgeControl, true); GraphElementBehaviour.SetHighlightInfo(edgeControl, highlightInfo); } if (IsSemiHighlightedEdge(edge, out object semiHighlightInfo)) { GraphElementBehaviour.SetIsSemiHighlighted(edgeControl, true); GraphElementBehaviour.SetSemiHighlightInfo(edgeControl, semiHighlightInfo); } }
private void SetHighlightProperties(TEdge edge, EdgeControl edgeControl) { object highlightInfo; if (IsHighlightedEdge(edge, out highlightInfo)) { GraphElementBehaviour.SetIsHighlighted(edgeControl, true); GraphElementBehaviour.SetHighlightInfo(edgeControl, highlightInfo); } object semiHighlightInfo; if (IsSemiHighlightedEdge(edge, out semiHighlightInfo)) { GraphElementBehaviour.SetIsSemiHighlighted(edgeControl, true); GraphElementBehaviour.SetSemiHighlightInfo(edgeControl, semiHighlightInfo); } }