// only allow resizing vertically public override void AddSelectionHandles(GoSelection sel, GoObject selectedObj) { Lifeline line = this.Parent as Lifeline; if (line != null) { RemoveSelectionHandles(sel); sel.CreateResizeHandle(this, selectedObj, line.GetStepPoint(this.Begin), MiddleTop, true); sel.CreateResizeHandle(this, selectedObj, line.GetStepPoint(this.End), MiddleBottom, true); } else { base.AddSelectionHandles(sel, selectedObj); } }
public override PointF GetToLinkPoint(IGoLink link) { Message m = link as Message; Lifeline line = this.Parent as Lifeline; if (m != null && m.FromPort != null) { PointF p = line.GetStepPoint(m.Step); Activation act = line.FindActivation(m.Step); if (act != null) { p.X += ((m.FromPort.GoObject.Center.X > p.X) ? act.Width / 2 : -act.Width / 2); } return(p); } else { return(base.GetToLinkPoint(link)); } }