/// <summary> /// Copy the <see cref="P:Northwoods.Go.GoMultiTextNode.ListGroup" /> and all of the ports. /// </summary> /// <param name="newgroup"></param> /// <param name="env"></param> protected override void CopyChildren(GoGroup newgroup, GoCopyDictionary env) { GoMultiTextNode goMultiTextNode = (GoMultiTextNode)newgroup; base.CopyChildren(newgroup, env); goMultiTextNode.myLeftPorts = new List <GoObject>(); goMultiTextNode.myRightPorts = new List <GoObject>(); goMultiTextNode.myListGroup = (GoListGroup)env[myListGroup]; goMultiTextNode.myTopPort = (GoObject)env[myTopPort]; goMultiTextNode.myBottomPort = (GoObject)env[myBottomPort]; checked { for (int i = 0; i < myLeftPorts.Count; i++) { GoObject key = myLeftPorts[i]; GoObject item = (GoObject)env[key]; goMultiTextNode.myLeftPorts.Add(item); } for (int j = 0; j < myRightPorts.Count; j++) { GoObject key2 = myRightPorts[j]; GoObject item2 = (GoObject)env[key2]; goMultiTextNode.myRightPorts.Add(item2); } } }
private int AFirst(GoObject obj, GoObject a, GoObject b) { if (obj == a) { return(-1); } if (obj == b) { return(1); } GoGroup goGroup = obj as GoGroup; if (goGroup != null) { foreach (GoObject item in goGroup.GetEnumerator()) { int num = AFirst(item, a, b); if (num != 0) { return(num); } } } return(0); }
/// <summary> /// Copy the <see cref="P:Northwoods.Go.GoBoxNode.Port" /> and <see cref="P:Northwoods.Go.GoBoxNode.Body" />. /// </summary> /// <param name="newgroup"></param> /// <param name="env"></param> protected override void CopyChildren(GoGroup newgroup, GoCopyDictionary env) { base.CopyChildren(newgroup, env); GoBoxNode obj = (GoBoxNode)newgroup; obj.myPort = (GoPort)env[myPort]; obj.myBody = (GoObject)env[myBody]; }
/// <summary> /// Make copies of the icon, label and port. /// </summary> /// <param name="newgroup"></param> /// <param name="env"></param> /// <remarks> /// Remember to override this to copy any objects you add to this class. /// </remarks> protected override void CopyChildren(GoGroup newgroup, GoCopyDictionary env) { base.CopyChildren(newgroup, env); GoIconicNode obj = (GoIconicNode)newgroup; obj.myIcon = (GoObject)env[myIcon]; obj.myLabel = (GoText)env[myLabel]; obj.myPort = (GoPort)env[myPort]; }
/// <summary> /// Make copies of the background and the text object. /// </summary> /// <param name="newgroup"></param> /// <param name="env"></param> protected override void CopyChildren(GoGroup newgroup, GoCopyDictionary env) { base.CopyChildren(newgroup, env); GoComment obj = (GoComment)newgroup; obj.myPartID = -1; obj.myBack = (GoObject)env[myBack]; obj.myLabel = (GoText)env[myLabel]; }
/// <summary> /// Make copies of the shape, label and port. /// </summary> /// <param name="newgroup"></param> /// <param name="env"></param> protected override void CopyChildren(GoGroup newgroup, GoCopyDictionary env) { base.CopyChildren(newgroup, env); GoBasicNode obj = (GoBasicNode)newgroup; obj.myShape = (GoShape)env[myShape]; obj.myPort = (GoPort)env[myPort]; obj.myLabel = (GoText)env[myLabel]; }
/// <summary> /// Copy the <see cref="P:Northwoods.Go.GoButton.Background" />, <see cref="P:Northwoods.Go.GoButton.Label" />, and <see cref="P:Northwoods.Go.GoButton.Icon" />. /// </summary> /// <param name="newgroup"></param> /// <param name="env"></param> protected override void CopyChildren(GoGroup newgroup, GoCopyDictionary env) { base.CopyChildren(newgroup, env); GoButton obj = (GoButton)newgroup; obj.InternalFlags = (base.InternalFlags & -33554433); obj.myBack = (GoObject)env[myBack]; obj.myIcon = (GoObject)env[myIcon]; obj.myLabel = (GoText)env[myLabel]; obj.myActionEvent = null; }
/// <summary> /// Copy the background, text label, and the four ports. /// </summary> /// <param name="newgroup"></param> /// <param name="env"></param> /// <remarks> /// Remember to override this to copy any objects you add to this class. /// </remarks> protected override void CopyChildren(GoGroup newgroup, GoCopyDictionary env) { base.CopyChildren(newgroup, env); GoTextNode obj = (GoTextNode)newgroup; obj.myBack = (GoObject)env[myBack]; obj.myLabel = (GoText)env[myLabel]; obj.myTopPort = (GoPort)env[myTopPort]; obj.myRightPort = (GoPort)env[myRightPort]; obj.myBottomPort = (GoPort)env[myBottomPort]; obj.myLeftPort = (GoPort)env[myLeftPort]; }
/// <summary> /// Update the internal reference fields when this object is copied. /// </summary> /// <param name="newgroup"></param> /// <param name="env"></param> protected override void CopyChildren(GoGroup newgroup, GoCopyDictionary env) { base.CopyChildren(newgroup, env); GoSheet obj = (GoSheet)newgroup; obj.myPaper = (GoRectangle)env[myPaper]; obj.myBackgroundImage = (GoImage)env[myBackgroundImage]; obj.myGrid = (GoGrid)env[myGrid]; obj.myLeft = (GoRectangle)env[myLeft]; obj.myRight = (GoRectangle)env[myRight]; obj.myTop = (GoRectangle)env[myTop]; obj.myBottom = (GoRectangle)env[myBottom]; }
public int Compare(GoObject x, GoObject y) { GoGroup m = (GoGroup)x; GoGroup n = (GoGroup)y; if (m == null || n == null) { return(0); } if (m.Width == n.Width) { return(0); } //if (m.Width > n.Width) return 1; //if (m.Height == n.Height) return 0; if (m.Height > n.Height) { return(1); } return(-1); }
internal static GoText FindLabel(GoObject obj) { GoText goText = obj as GoText; if (goText != null) { return(goText); } GoGroup goGroup = obj as GoGroup; if (goGroup != null) { foreach (GoObject item in goGroup.GetEnumerator()) { GoText goText2 = FindLabel(item); if (goText2 != null) { return(goText2); } } } return(null); }
private void findAllAux <T>(GoObject obj, Search s, List <T> items) { IGoPort goPort = obj as IGoPort; if (goPort != null) { if ((s & Search.Ports) != 0) { addItem(items, (T)goPort); } GoPort goPort2 = goPort as GoPort; if (goPort2 != null) { foreach (IGoLink link in goPort2.Links) { considerLink(link, goPort, s, items); } } else { foreach (IGoLink link2 in goPort.Links) { considerLink(link2, goPort, s, items); } } } GoGroup goGroup = obj as GoGroup; if (goGroup != null) { foreach (GoObject item in goGroup.GetEnumerator()) { findAllAux(item, s, items); } } }