Example #1
0
        private void UpdateUpperSelectionPoint()
        {
            //Get upper selecion point
            var points = new Point[_document.SelectedElements.Count];
            var p      = 0;

            foreach (BaseElement el in _document.SelectedElements)
            {
                points[p] = el.Location;
                p++;
            }
            _upperSelPoint = DiagramUtil.GetUpperPoint(points);
        }
Example #2
0
        private Size MeasureTextSize()
        {
            var text    = _labelTextBox.Text;
            var sizeTmp = Size.Empty;

            if (_direction == LabelEditDirection.UpDown)
            {
                sizeTmp = DiagramUtil.MeasureString(text, _labelElement.Font, _labelTextBox.Size.Width, _labelElement.Format);
            }
            else if (_direction == LabelEditDirection.Both)
            {
                sizeTmp = DiagramUtil.MeasureString(text, _labelElement.Font);
            }

            sizeTmp.Height += 30;

            return(sizeTmp);
        }
Example #3
0
        public static void SetTextBoxLocation(BaseElement el, TextBox tb)
        {
            if (!(el is ILabelElement))
            {
                return;
            }

            var lab = ((ILabelElement)el).Label;

            el.Invalidate();
            lab.Invalidate();

            if (lab.Text.Length > 0)
            {
                tb.Location = lab.Location;
                tb.Size     = lab.Size;
            }
            else
            {
                const string tmpText = "XXXXXXX";
                var          sizeTmp = DiagramUtil.MeasureString(tmpText, lab.Font, lab.Size.Width, lab.Format);

                if (el is BaseLinkElement)
                {
                    tb.Size     = sizeTmp;
                    tb.Location = new Point(el.Location.X + (el.Size.Width / 2) - (sizeTmp.Width / 2),
                                            el.Location.Y + (el.Size.Height / 2) - (sizeTmp.Height / 2));
                }
                else
                {
                    sizeTmp.Width = el.Size.Width;
                    tb.Size       = sizeTmp;
                    tb.Location   = new Point(el.Location.X,
                                              el.Location.Y + (el.Size.Height / 2) - (sizeTmp.Height / 2));
                }
            }

            SetTextBoxBorder(tb);
        }