Esempio n. 1
0
        /// <summary>
        /// Создает связь основаную на старых координатах связи
        /// </summary>
        /// <param name="canvas">Контейнер</param>
        /// <param name="x2">Новые координаты x</param>
        /// <param name="y2">Новые координаты y</param>
        public void CreateOldXY(Canvas canvas, double x2, double y2)
        {
            this.parent_canvas = canvas;
            line     = new Line();
            expander = new LMD_GUI.LMD_CircleExpander();
            expander.expanderClickItem += expander_expanderClickItem;

            #region begin line
            line.X1 = _x;
            line.Y1 = _y;
            #endregion
            #region end line
            line.X2 = x2;
            line.Y2 = y2;
            #endregion

            line.StrokeThickness = 2;
            line.Stroke          = new SolidColorBrush(Color.FromRgb(30, 150, 90));
            canvas.Children.Add(line);

            Canvas.SetLeft(expander, line.X2 - 10);
            Canvas.SetTop(expander, line.Y2 - 10);
            canvas.Children.Add(expander);

            workspace.selectJoint = null;

            createNewJoint(this);
            expander.Tag = this;
        }
Esempio n. 2
0
        /// <summary>
        /// Создает связь на старых координатах основаную на новом объекте
        /// </summary>
        /// <param name="canvas">Контейнер</param>
        /// <param name="element_end">Новый элемент</param>
        public void CreateOldXYToBlock(Canvas canvas, UIElement element_end)
        {
            this.parent_canvas = canvas;
            line     = new Line();
            expander = new LMD_GUI.LMD_CircleExpander();
            expander.expanderClickItem += expander_expanderClickItem;

            #region begin line
            line.X1 = _x;
            line.Y1 = _y;
            #endregion
            #region end line
            #region begin line
            if (element_end.GetType() == typeof(LMD_BLOCKS.BlockBegin) ||
                element_end.GetType() == typeof(LMD_BLOCKS.BlockEnd))
            {
                line.X2 = Canvas.GetLeft(element_end) + 75;
                line.Y2 = Canvas.GetTop(element_end);
            }
            else if (element_end.GetType() == typeof(LMD_BLOCKS.BlockInput) ||
                     element_end.GetType() == typeof(LMD_BLOCKS.BlockOutput) ||
                     element_end.GetType() == typeof(LMD_BLOCKS.BlockCalculate))
            {
                line.X2 = Canvas.GetLeft(element_end) + 140;
                line.Y2 = Canvas.GetTop(element_end);
            }
            else if (element_end.GetType() == typeof(LMD_BLOCKS.BlockCondition))
            {
                line.X2 = Canvas.GetLeft(element_end) + 175;
                line.Y2 = Canvas.GetTop(element_end);
            }
            #endregion
            #endregion

            line.StrokeThickness = 2;
            line.Stroke          = new SolidColorBrush(Color.FromRgb(30, 150, 90));
            canvas.Children.Add(line);

            Canvas.SetLeft(expander, line.X2 - 10);
            Canvas.SetTop(expander, line.Y2 - 10);
            canvas.Children.Add(expander);

            workspace.selectJoint = null;

            createNewJoint(this);
            expander.Tag = this;
        }
Esempio n. 3
0
        /// <summary>
        /// Создает связь на готовых соединениях
        /// </summary>
        /// <param name="canvas">Контейнер</param>
        public void Create(Canvas canvas)
        {
            this.parent_canvas = canvas;
            line     = new Line();
            expander = new LMD_GUI.LMD_CircleExpander();
            expander.expanderClickItem += expander_expanderClickItem;

            #region begin line
            if (element_begin.GetType() == typeof(LMD_BLOCKS.BlockBegin) ||
                element_begin.GetType() == typeof(LMD_BLOCKS.BlockEnd))
            {
                line.X1 = Canvas.GetLeft(element_begin) + 75;
                line.Y1 = Canvas.GetTop(element_begin) + 35;
            }
            else if (element_begin.GetType() == typeof(LMD_BLOCKS.BlockInput) ||
                     element_begin.GetType() == typeof(LMD_BLOCKS.BlockOutput) ||
                     element_begin.GetType() == typeof(LMD_BLOCKS.BlockCalculate))
            {
                line.X1 = Canvas.GetLeft(element_begin) + 140;
                line.Y1 = Canvas.GetTop(element_begin) + 35;
            }
            #endregion
            #region end line
            if (element_end.GetType() == typeof(LMD_BLOCKS.BlockBegin) ||
                element_end.GetType() == typeof(LMD_BLOCKS.BlockEnd))
            {
                line.X2 = Canvas.GetLeft(element_end) + 75;
                line.Y2 = Canvas.GetTop(element_end);
            }
            else if (element_end.GetType() == typeof(LMD_BLOCKS.BlockInput) ||
                     element_end.GetType() == typeof(LMD_BLOCKS.BlockOutput) ||
                     element_end.GetType() == typeof(LMD_BLOCKS.BlockCalculate))
            {
                line.X2 = Canvas.GetLeft(element_end) + 140;
                line.Y2 = Canvas.GetTop(element_end);
            }
            else if (element_end.GetType() == typeof(LMD_BLOCKS.BlockCondition))
            {
                line.X2 = Canvas.GetLeft(element_end) + 175;
                line.Y2 = Canvas.GetTop(element_end);
            }
            #endregion

            line.StrokeThickness = 2;
            line.Stroke          = new SolidColorBrush(Color.FromRgb(30, 150, 90));
            canvas.Children.Add(line);

            Canvas.SetLeft(expander, line.X2 - 10);
            Canvas.SetTop(expander, line.Y2 - 10);
            canvas.Children.Add(expander);

            workspace.selectJoint = null;

            /*
             * if (element_begin.GetType() == typeof(LMD_BLOCKS.BlockBegin))
             *      joint.Type = LMD_GUI.TYPE_BLOCK.begin;
             * else if (element_begin.GetType() == typeof(LMD_BLOCKS.BlockEnd))
             *      joint.Type = LMD_GUI.TYPE_BLOCK.end;
             * else if (element_begin.GetType() == typeof(LMD_BLOCKS.BlockCalculate))
             *      joint.Type = LMD_GUI.TYPE_BLOCK.calculate;
             * else if (element_begin.GetType() == typeof(LMD_BLOCKS.BlockCondition))
             *      joint.Type = LMD_GUI.TYPE_BLOCK.condition;
             * else if (element_begin.GetType() == typeof(LMD_BLOCKS.BlockInput))
             *      joint.Type = LMD_GUI.TYPE_BLOCK.input;
             * else if (element_begin.GetType() == typeof(LMD_BLOCKS.BlockOutput))
             *      joint.Type = LMD_GUI.TYPE_BLOCK.output;
             *
             * joint.element_begin = element_begin;
             * joint.element_end = element_end;
             */
            createNewJoint(this);

            expander.Tag = this;
        }