Пример #1
0
        public void CleanUpBeforeDelete(ViewModel view_model)
        {
            Plug inp   = m_in;
            Plug outp  = m_out;
            var  conns = inp.GetConnections();

            foreach (var conn in inp.GetConnections())
            {
                conn.StartPlug.IsSelected = false;
                conn.EndPlug.IsSelected   = false;
                view_model.Connections.Remove(conn);
            }

            conns = outp.GetConnections();
            foreach (var conn in conns)
            {
                conn.StartPlug.IsSelected = false;
                conn.EndPlug.IsSelected   = false;
                view_model.Connections.Remove(conn);
            }
        }
Пример #2
0
        internal void moveRelative(int deltaX, int deltaY)
        {
            int currX = (int)Canvas.GetLeft(this);
            int currY = (int)Canvas.GetTop(this);

            Canvas.SetLeft(this, currX + deltaX);
            Canvas.SetTop(this, currY + deltaY);

            //need to update plugs if there
            Plug inp  = m_in;
            Plug outp = m_out;

            var conns = inp.GetConnections();

            if (conns.Count() != 0)
            {
                Point pnt = new Point(inp.X + currX + 10,
                                      inp.Y + currY + 10);
                foreach (var conn in conns)
                {
                    if (conn.StartPlug == inp)
                    {
                        conn.StartPoint = pnt;
                    }
                    else
                    {
                        conn.EndPoint = pnt;
                    }
                }
            }

            conns = outp.GetConnections();
            if (conns.Count() != 0)
            {
                Point pnt = new Point(outp.X + currX + 10,
                                      outp.Y + currY + 10);
                foreach (var conn in conns)
                {
                    if (conn.StartPlug == outp)
                    {
                        conn.StartPoint = pnt;
                    }
                    else
                    {
                        conn.EndPoint = pnt;
                    }
                }
            }
        }