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);
        }
Beispiel #2
0
 private void CallSubDialogForm_Load(object sender, EventArgs e)
 {
     CommonForm.LoadSubDialogListBox(subDialogListBox, shadow.GetSubDialogUID());
 }