Beispiel #1
0
 internal void Set(LinkBase link, NodeAnchor anchor)
 {
     Node         = null;
     Link         = link;
     ControlPoint = null;
     Anchor       = anchor;
     Point        = null;
 }
Beispiel #2
0
 internal void Set(LinkBase link)
 {
     Node         = null;
     Link         = link;
     ControlPoint = null;
     Anchor       = null;
     Point        = null;
 }
Beispiel #3
0
 internal void Set(LinkBase link, ControlPoint control_point)
 {
     Node         = null;
     Link         = link;
     ControlPoint = control_point;
     Anchor       = null;
     Point        = null;
 }
Beispiel #4
0
 internal void Deregister(LinkBase link)
 {
     if (all_links.Contains(link))
     {
         all_links.Remove(link);
         Diagram.UpdateOverview();
         if (link.IsInternallyGenerated)
         {
             OnRemove?.Invoke(link);
         }
     }
 }
Beispiel #5
0
 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);
 }
Beispiel #6
0
        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);
        }
Beispiel #7
0
 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);
     }
 }
Beispiel #8
0
 internal void SetActiveElement(LinkBase link, NodeAnchor anchor, HoverType hover_type)
 {
     ActiveElement.Set(link, anchor);
     ActiveElementType = hover_type;
 }
Beispiel #9
0
 internal void SetActiveElement(LinkBase link, ControlPoint control_point, HoverType hover_type)
 {
     ActiveElement.Set(link, control_point);
     ActiveElementType = hover_type;
 }
Beispiel #10
0
 internal void SetActiveElement(LinkBase link, HoverType hover_type)
 {
     ActiveElement.Set(link);
     ActiveElementType = hover_type;
 }