public static GetLabelController ( |
||
el | ||
Результат | ILabelController |
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); } }
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 Move(Point dragPoint) { //Upper selecion point controller Point dragPointEl = dragPoint; dragPointEl.Offset(upperSelPointDragOffset.X, upperSelPointDragOffset.Y); upperSelPoint = dragPointEl; if (dragPointEl.X < 0) { dragPointEl.X = 0; } if (dragPointEl.Y < 0) { dragPointEl.Y = 0; } //Move Controller if (dragPointEl.X == 0) { dragPoint.X = dragPoint.X - upperSelPoint.X; } if (dragPointEl.Y == 0) { dragPoint.Y = dragPoint.Y - upperSelPoint.Y; } foreach (IMoveController ctrl in moveCtrl) { if (ctrl != null) { ctrl.OwnerElement.Invalidate(); onElementMovingDelegate(new ElementEventArgs(ctrl.OwnerElement)); ctrl.Move(dragPoint); if (ctrl.OwnerElement is NodeElement) { UpdateLinkPosition((NodeElement)ctrl.OwnerElement); } ILabelController lblCtrl = ControllerHelper.GetLabelController(ctrl.OwnerElement); if (lblCtrl != null) { lblCtrl.SetLabelPosition(); } } } }
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(); } } } }
public void Start(Point mousePoint, Document document, OnElementMovingDelegate onElementMovingDelegate) { this.document = document; this.onElementMovingDelegate = onElementMovingDelegate; // Get Controllers moveCtrl = new IMoveController[document.SelectedElements.Count]; IMoveController[] moveLabelCtrl = new IMoveController[document.SelectedElements.Count]; for (int i = document.SelectedElements.Count - 1; i >= 0; i--) { moveCtrl[i] = ControllerHelper.GetMoveController(document.SelectedElements[i]); if ((moveCtrl[i] != null) && (moveCtrl[i].CanMove)) { onElementMovingDelegate(new ElementEventArgs(document.SelectedElements[i])); moveCtrl[i].Start(mousePoint); //ILabelElement - Move Label inside the element if ((document.SelectedElements[i] is ILabelElement) && (ControllerHelper.GetLabelController(document.SelectedElements[i]) == null)) { LabelElement label = ((ILabelElement)document.SelectedElements[i]).Label; moveLabelCtrl[i] = ControllerHelper.GetMoveController(label); if ((moveLabelCtrl[i] != null) && (moveLabelCtrl[i].CanMove)) { moveLabelCtrl[i].Start(mousePoint); } else { moveLabelCtrl[i] = null; } } } else { moveCtrl[i] = null; } } moveCtrl = (IMoveController[])DiagramUtil.ArrayHelper.Append(moveCtrl, moveLabelCtrl); moveCtrl = (IMoveController[])DiagramUtil.ArrayHelper.Shrink(moveCtrl, null); // Can't move only links bool isOnlyLink = true; foreach (IMoveController ctrl in moveCtrl) { // Verify if (ctrl != null) { ctrl.OwnerElement.Invalidate(); if (!(ctrl.OwnerElement is BaseLinkElement) && !(ctrl.OwnerElement is LabelElement)) { isOnlyLink = false; break; } } } if (isOnlyLink) { //End Move the Links foreach (IMoveController ctrl in moveCtrl) { if (ctrl != null) { ctrl.End(); } } moveCtrl = new IMoveController[] { null }; } //Upper selecion point controller UpdateUpperSelectionPoint(); upperSelPointDragOffset.X = upperSelPoint.X - mousePoint.X; upperSelPointDragOffset.Y = upperSelPoint.Y - mousePoint.Y; isMoving = true; }