Ejemplo n.º 1
0
        private void childs_ItemsChanged(GraphItems sender, GraphItemChangedEventArgs e)
        {
            if (e.Added && sender.Count == 1)
            {
                Refresh();
            }
            if (e.Removed && sender.Count == 0)
            {
                Refresh();
            }

            if (e.Added)
            {
                LinkGraphic lc = new LinkGraphic();
                lc.Text            = e.Text;
                lc.ForeColor       = this.CurrentLinkColor;
                lc.Parent          = (GraphPanel)Parent;
                lc.StartElement    = this;
                lc.EndElement      = e.GraphItem;
                lc.StartAnchorSnap = LinkControlSnapAnchor.OnlyCenter;
                lc.EndAnchorSnap   = LinkControlSnapAnchor.OnlyCenter;
                lc.LineMode        = this.LineMode;
                lc.Quality         = this.Quality;


                lc.SendToBack();
                lcmap.Add(e.GraphItem, lc);
            }

            if (e.Removed)
            {
                LinkGraphic lc = (LinkGraphic)lcmap[e.GraphItem];
                if (lc != null)
                {
                    lcmap.Remove(lc);
                    lc.Parent = null;
                    lc.Dispose();
                }
            }
            if (e.Internal)
            {
                return;
            }
            if (e.Added)
            {
                e.GraphItem.ParentItems.SilentAdd(this, e.Text, true);
            }
            if (e.Removed)
            {
                e.GraphItem.ParentItems.SilentRemove(this, true);
            }
        }
Ejemplo n.º 2
0
        private void parents_ItemsChanged(GraphItems sender, GraphItemChangedEventArgs e)
        {
            if (e.Added && sender.Count == 1)
            {
                Refresh();
            }
            if (e.Removed && sender.Count == 0)
            {
                Refresh();
            }

            if (e.Internal)
            {
                return;
            }
            if (e.Added)
            {
                e.GraphItem.ChildItems.SilentAdd(this, e.Text, true);
            }
            if (e.Removed)
            {
                e.GraphItem.ChildItems.SilentRemove(this, true);
            }
        }