private void insertReturn(int startID, int endID, string startDir, string endDir)
        {
            if (startID == endID)
            {
                return; //Can't draw a return to itself
            }

            for (int i = 0; i < _returns.Count; i++)
            {
                if ((_returns[i].StartID == startID) && (_returns[i].EndID == endID))
                {
                    return;
                }
                if ((_returns[i].StartID == endID) && (_returns[i].EndID == startID))
                {
                    _returns[i].EndArrow = 13;
                    return;
                }
            }

            SDON.Model.Return ret;

            ret                = new SDON.Model.Return();
            ret.StartID        = startID;
            ret.EndID          = endID;
            ret.StartArrow     = 13;
            ret.EndArrow       = 15;
            ret.StartDirection = startDir;
            ret.EndDirection   = endDir;
            ret.LineThick      = 2;
            _returns.Add(ret);
        }
        private void insertReturn(int index, int startShapeIndex)
        {
            if (_entries[index - 1].Typeref == null)
            {
                return;
            }

            for (int i = 0; i < _nodesOnTree.Count; i++)
            {
                if ((_nodesOnTree[i].Entry.EntryID != startShapeIndex) && ((_nodesOnTree[i].Entry.TagName == _entries[index - 1].Typeref) ||
                                                                           /*(false)))*/ ((_nodesOnTree[i].Entry.TagName + " *") == _entries[index - 1].Typeref))) //Clutters like crazy
                {
                    SDON.Model.Return ret = new SDON.Model.Return();
                    ret.StartID     = startShapeIndex;
                    ret.EndID       = _nodesOnTree[i].Entry.EntryID;
                    ret.LinePattern = SDON.Model.LinePatterns.Dashed;

                    if (!checkIfReturnExists(ret))
                    {
                        if (_root.Returns == null)
                        {
                            _root.Returns = new List <SDON.Model.Return>();
                        }

                        _root.Returns.Add(ret);
                    }

                    return;
                }
            }
        }
Ejemplo n.º 3
0
        private void insertReturn(int start, int end, string startDirection, string endDirection) //unused, went to formatter
        {
            for (int i = 0; i < _root.Returns.Count; i++)
            {
                if ((_root.Returns[i].StartID == (start + 1)) && (_root.Returns[i].EndID == (end + 1)))
                {
                    return;
                }
                if ((_root.Returns[i].StartID == (end + 1)) && (_root.Returns[i].EndID == (start + 1)))
                {
                    _root.Returns[i].EndArrow = 13;
                    return;
                }
            }

            SDON.Model.Return ret;

            ret                = new SDON.Model.Return();
            ret.StartID        = start + 1;
            ret.EndID          = end + 1;
            ret.StartArrow     = 13;
            ret.EndArrow       = 15;
            ret.StartDirection = startDirection;
            ret.EndDirection   = endDirection;
            _root.Returns.Add(ret);
        }
        private bool checkIfReturnExists(SDON.Model.Return ret)
        {
            if (_root.Returns == null)
            {
                return(false);
            }

            for (int i = 0; i < _root.Returns.Count; i++)
            {
                if ((_root.Returns[i].EndID == ret.EndID) && (_root.Returns[i].StartID == ret.StartID))
                {
                    return(true);
                }
                else if ((_root.Returns[i].EndID == ret.StartID) && (_root.Returns[i].StartID == ret.EndID))
                {
                    _root.Returns[i].StartArrow = 1;
                    return(true);
                }
            }

            return(false);
        }