PositionBySite() 개인적인 메소드

private PositionBySite ( BaseElement site ) : void
site BaseElement
리턴 void
예제 #1
0
        public RightAngleLinkElement(ConnectorElement conn1, ConnectorElement conn2) : base(conn1, conn2)
        {
            needCalcLink = true;
            InitConnectors(conn1, conn2);
            foreach (LineElement l in lines)
            {
                l.StartCap = LineCap.Round;
                l.EndCap   = LineCap.Round;
            }
            startCap = LineCap.Round;
            endCap   = LineCap.Round;

            label.PositionBySite(lines[1]);
        }
예제 #2
0
        public void Resize(Point dragPoint)
        {
            if ((resizeCtrl != null) && (resizeCtrl.CanResize))
            {
                //Events
                ElementEventArgs eventResizeArg = new ElementEventArgs(resizeCtrl.OwnerElement);

                resizeCtrl.OwnerElement.Invalidate();

                resizeCtrl.Resize(dragPoint);

                ILabelController lblCtrl = ControllerHelper.GetLabelController(resizeCtrl.OwnerElement);
                if (lblCtrl != null)
                {
                    lblCtrl.SetLabelPosition();
                }
                else
                {
                    if (resizeCtrl.OwnerElement is ILabelElement)
                    {
                        LabelElement label = ((ILabelElement)resizeCtrl.OwnerElement).Label;
                        label.PositionBySite(resizeCtrl.OwnerElement);
                    }
                }

                UpdateResizeCorner();

                onElementResizingDelegate(eventResizeArg);
            }
        }
예제 #3
0
        public void EndEdit()
        {
            if (siteLabelElement == null)
            {
                return;
            }

            labelTextBox.KeyPress -= new KeyPressEventHandler(labelTextBox_KeyPress);

            ILabelController lblCtrl = ControllerHelper.GetLabelController(siteLabelElement);

            labelElement.Size = MeasureTextSize();
            labelElement.Text = labelTextBox.Text;
            labelTextBox.Hide();
            if (lblCtrl != null)
            {
                lblCtrl.SetLabelPosition();
            }
            else
            {
                labelElement.PositionBySite(siteLabelElement);
            }
            labelElement.Invalidate();
            siteLabelElement = null;
            labelElement     = null;
            labelTextBox     = null;
        }
        public void SetLabelPosition()
        {
            LabelElement label = ((ILabelElement)el).Label;

            if (el.Lines.Length == 2)
            {
                label.Location = el.Lines[0].Point2;
            }
            else
            {
                label.PositionBySite(el.Lines[1]);
            }
        }
예제 #5
0
        private void UpdateLinkPosition(NodeElement node)
        {
            foreach (ConnectorElement conn in node.Connectors)
            {
                foreach (BaseElement el in conn.Links)
                {
                    BaseLinkElement lnk  = (BaseLinkElement)el;
                    IController     ctrl = ((IControllable)lnk).GetController();
                    if (ctrl is IMoveController)
                    {
                        IMoveController mctrl = (IMoveController)ctrl;
                        if (!mctrl.IsMoving)
                        {
                            lnk.NeedCalcLink = true;
                        }
                    }
                    else
                    {
                        lnk.NeedCalcLink = true;
                    }

                    if (lnk is ILabelElement)
                    {
                        LabelElement label = ((ILabelElement)lnk).Label;

                        ILabelController lblCtrl = ControllerHelper.GetLabelController(lnk);
                        if (lblCtrl != null)
                        {
                            lblCtrl.SetLabelPosition();
                        }
                        else
                        {
                            label.PositionBySite(lnk);
                        }
                        label.Invalidate();
                    }
                }
            }
        }
 internal StraightLinkElement(ConnectorElement conn1, ConnectorElement conn2) : base(conn1, conn2)
 {
     label.PositionBySite(line1);
 }