private void CalcLinkSize() { if (!_needCalcLinkSize) { return; } var sizeTmp = Size.Empty; if (LineElements.Length > 1) { var points = new Point[LineElements.Length * 2]; var i = 0; foreach (var ln in LineElements) { points[i] = ln.Point1; points[i + 1] = ln.Point2; i += 2; } var upper = DiagramUtil.GetUpperPoint(points); var lower = DiagramUtil.GetLowerPoint(points); sizeTmp = new Size(lower.X - upper.X, lower.Y - upper.Y); } SizeValue = sizeTmp; _needCalcLinkSize = false; }
internal CardinalDirection GetDirection() { var rec = new Rectangle(_parentElement.Location, _parentElement.Size); var refPoint = new Point(LocationValue.X - _parentElement.Location.X + (SizeValue.Width / 2), LocationValue.Y - _parentElement.Location.Y + (SizeValue.Height / 2)); return(DiagramUtil.GetDirection(rec, refPoint)); }
public bool ImportModels() { var existingShapes = diagram.NestedChildShapes.ToArray(); if (LoadModelsFromDb()) { var newShapes = diagram.NestedChildShapes.Where(s => !existingShapes.Contains(s)).ToList(); DiagramUtil.AutoLayout(newShapes, diagram); return(true); } return(false); }
private void UpdateUpperSelectionPoint() { //Get upper selecion point Point[] points = new Point[document.SelectedElements.Count]; int p = 0; foreach (BaseElement el in document.SelectedElements) { points[p] = el.Location; p++; } upperSelPoint = DiagramUtil.GetUpperPoint(points); }
private Size MeasureTextSize() { string text = labelTextBox.Text; Size 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); }
private void CalcLinkLocation() { //CalcLink(); if (!_needCalcLinkLocation) { return; } var points = new Point[LineElements.Length * 2]; var i = 0; foreach (var ln in LineElements) { points[i] = ln.Point1; points[i + 1] = ln.Point2; i += 2; } LocationValue = DiagramUtil.GetUpperPoint(points); _needCalcLinkLocation = false; }
public static void SetTextBoxLocation(BaseElement el, TextBox tb) { if (!(el is ILabelElement)) { return; } LabelElement lab = ((ILabelElement)el).Label; el.Invalidate(); lab.Invalidate(); if (lab.Text.Length > 0) { tb.Location = lab.Location; tb.Size = lab.Size; } else { string tmpText = "XXXXXXX"; Size 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); }
public override void InvokeHandler(CommandSetState state) { DiagramUtil.AutoLayout(state.CurrentDocView.CurrentDiagram.NestedChildShapes, state.CurrentDocView.CurrentDiagram); new DiagramUtil().GetDiagramClientView(state.CurrentDocView.CurrentDiagram).ZoomToFit(); }