internal void Set(LinkBase link, NodeAnchor anchor) { Node = null; Link = link; ControlPoint = null; Anchor = anchor; Point = null; }
internal void Set(LinkBase link) { Node = null; Link = link; ControlPoint = null; Anchor = null; Point = null; }
internal void Set(LinkBase link, ControlPoint control_point) { Node = null; Link = link; ControlPoint = control_point; Anchor = null; Point = null; }
internal void Deregister(LinkBase link) { if (all_links.Contains(link)) { all_links.Remove(link); Diagram.UpdateOverview(); if (link.IsInternallyGenerated) { OnRemove?.Invoke(link); } } }
internal bool Register(LinkBase link) { if (all_links.Contains(link)) { return(false); } all_links.Add(link); Diagram.UpdateOverview(); if (link.IsInternallyGenerated) { OnAdd?.Invoke(link); } return(true); }
internal void Remove(LinkBase link) { _ = all_links.Remove(link); var match = internally_generated_links.FirstOrDefault(l => l.Source == link.Source && l.Target == link.Target); if (match != null) { _ = internally_generated_links.Remove(match); } else { link.MarkDeleted(); } OnRemove?.Invoke(link); }
internal void Add(LinkBase link) { if (link.Deleted) { all_links.Add(link); link.MarkUndeleted(); } else { internally_generated_links.Add(new LinkData { Source = link.Source, Target = link.Target, Arrow = link.Arrow, Type = link.GetType(), OnCreate = (_) => { } }); OnAdd?.Invoke(link); } }
internal void SetActiveElement(LinkBase link, NodeAnchor anchor, HoverType hover_type) { ActiveElement.Set(link, anchor); ActiveElementType = hover_type; }
internal void SetActiveElement(LinkBase link, ControlPoint control_point, HoverType hover_type) { ActiveElement.Set(link, control_point); ActiveElementType = hover_type; }
internal void SetActiveElement(LinkBase link, HoverType hover_type) { ActiveElement.Set(link); ActiveElementType = hover_type; }