public override void Changed(int subhint, int oldI, object oldVal, RectangleF oldRect, int newI, object newVal, RectangleF newRect) { base.Changed(subhint, oldI, oldVal, oldRect, newI, newVal, newRect); if (subhint == 0x41b) { GroupShape group1 = base.Parent; if (group1 == null) { return; } group1.LayoutChildren(null); } else if (subhint == 0x41c) { MultiTextNode node1 = base.Parent as MultiTextNode; if (node1 != null) { node1.RemoveOnlyPorts(oldI); } } }
protected override void CopyChildren(GroupShape newgroup, CopyDictionary env) { MultiTextNode node1 = (MultiTextNode)newgroup; base.CopyChildren(newgroup, env); node1.myLeftPorts = new ArrayList(); node1.myRightPorts = new ArrayList(); node1.myListGroup = (ListGroup)env[this.myListGroup]; node1.myTopPort = (DiagramShape)env[this.myTopPort]; node1.myBottomPort = (DiagramShape)env[this.myBottomPort]; for (int num1 = 0; num1 < this.myLeftPorts.Count; num1++) { DiagramShape obj1 = (DiagramShape)this.myLeftPorts[num1]; DiagramShape obj2 = (DiagramShape)env[obj1]; node1.myLeftPorts.Add(obj2); } for (int num2 = 0; num2 < this.myRightPorts.Count; num2++) { DiagramShape obj3 = (DiagramShape)this.myRightPorts[num2]; DiagramShape obj4 = (DiagramShape)env[obj3]; node1.myRightPorts.Add(obj4); } }