internal List <ReturnPair> GetReturnPairs() { // find all the call sub dialogs that reference this one // find all their input and outputs and make a table from that List <Shadow> shadowList = PathMaker.LookupShadowsByShapeType(ShapeTypes.CallSubDialog); List <ReturnPair> returnPairs = new List <ReturnPair>(); List <String> alreadyDone = new List <String>(); foreach (Shadow s in shadowList) { CallSubDialogShadow shadow = s as CallSubDialogShadow; if (shadow.GetSubDialogUID() == shape.get_UniqueID((short)VisUniqueIDArgs.visGetOrMakeGUID)) { List <Shadow> inputs = shadow.GetInputs(); List <Shadow> outputs = shadow.GetOutputs(); foreach (Shadow input in inputs) { foreach (Shadow output in outputs) { String key = input.GetGotoName() + output.GetGotoName(); if (!alreadyDone.Contains(key)) { returnPairs.Add(new ReturnPair(input, output)); alreadyDone.Add(key); } } } } } return(returnPairs); }
private void CallSubDialogForm_Load(object sender, EventArgs e) { CommonForm.LoadSubDialogListBox(subDialogListBox, shadow.GetSubDialogUID()); }