private void UpdatePosition()
        {
            Point positionConnectPoint;

            if ((!ViewModel.Node.IsCollapse) || (ViewModel.Node.IsCollapse && this.ViewModel.Name == "Output"))
            {
                positionConnectPoint = EllipseElement.TranslatePoint(new Point(EllipseElement.Width / 2, EllipseElement.Height / 2), this);

                ViewNodesCanvas NodesCanvas = MyUtils.FindParent <ViewNodesCanvas>(this);

                positionConnectPoint = this.TransformToAncestor(NodesCanvas).Transform(positionConnectPoint);

                positionConnectPoint = positionConnectPoint.Division(this.ViewModel.NodesCanvas.Scale.Value);
            }
            else
            {
                positionConnectPoint = this.ViewModel.Node.Output.PositionConnectPoint;
            }

            if (this.ViewModel.Name == "Output")
            {
                this.ViewModel.NodesCanvas.LogDebug(positionConnectPoint.ToString());
            }
            this.ViewModel.PositionConnectPoint = positionConnectPoint;
        }
Beispiel #2
0
        private void OnMouseMoves(MouseEventArgs e)
        {
            ViewNodesCanvas NodesCanvas = MyUtils.FindParent <ViewNodesCanvas>(this);

            ViewModel.EndPoint = e.GetPosition(NodesCanvas.Canvas);

            e.Handled = true;
        }
Beispiel #3
0
        private void OnMouseMoves(MouseEventArgs e)
        {
            //Ищем Canvas
            ViewNodesCanvas NodesCanvas = MyUtils.FindParent <ViewNodesCanvas>(this);

            ViewModel.EndPoint.Set(e.GetPosition(NodesCanvas.Grid));
            e.Handled = true;
        }
        void UpdatePosition()
        {
            Point positionConnectPoint = EllipseElement.TranslatePoint(new Point(EllipseElement.Width / 2, EllipseElement.Height / 2), this);

            ViewNodesCanvas NodesCanvas = MyUtils.FindParent <ViewNodesCanvas>(this);

            if (NodesCanvas == null)
            {
                return;
            }

            positionConnectPoint = this.TransformToAncestor(NodesCanvas).Transform(positionConnectPoint);

            this.ViewModel.PositionConnectPoint = positionConnectPoint.Division(this.ViewModel.NodesCanvas.Scale.Value);
        }
        void UpdatePosition()
        {
            // Координата центра
            Point InputCenter = Form.TranslatePoint(new Point(1, Form.Height / 2), this);

            //Ищем Canvas
            ViewNodesCanvas NodesCanvas = MyUtils.FindParent <ViewNodesCanvas>(this);

            if (NodesCanvas == null)
            {
                return;
            }
            //Получаем позицию центру на канвасе
            Point Position = this.TransformToAncestor(NodesCanvas).Transform(InputCenter);

            this.ViewModel.PositionConnectPoint.Set(Position);
        }
        /// <summary>
        /// Обновить координату центра круга
        /// </summary>
        void UpdatePositionConnectPoin()
        {
            Point positionConnectPoint;

            //Если отображается
            if (this.IsVisible)
            {
                // Координата центра
                positionConnectPoint = Form.TranslatePoint(new Point(Form.Width - 1, Form.Height / 2), this);

                //Ищем Canvas
                ViewNodesCanvas NodesCanvas = MyUtils.FindParent <ViewNodesCanvas>(this);

                //Получаем позицию центру на канвасе
                positionConnectPoint = this.TransformToAncestor(NodesCanvas).Transform(positionConnectPoint);
            }
            else
            {
                //Позиция выхода
                positionConnectPoint = this.ViewModel.Node.Output.PositionConnectPoint.Value;
            }

            this.ViewModel.PositionConnectPoint.Set(positionConnectPoint);
        }