Exemplo n.º 1
0
        public EdgeControl GetEdgeControl(TEdge edge)
        {
            EdgeControl ec = null;

            _edgeControls.TryGetValue(edge, out ec);
            return(ec);
        }
Exemplo n.º 2
0
        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];
            edgeControl.IsTwoWay = edge.IsTwoWay;

            if (ActualLayoutMode == LayoutMode.Simple)
            {
                Children.Insert(0, edgeControl);
            }
            else
            {
                Children.Add(edgeControl);
            }
            SetHighlightProperties(edge, edgeControl);
            RunCreationTransition(edgeControl);
        }
        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);
            }
        }