CreateFromHaveMousePositionTracker( THaveMousePositionTracker haveMousePositionTracker, ICanvasScreenConvertable canvasProxy ) { if (haveMousePositionTracker == null) { throw new ArgumentNullException(nameof(haveMousePositionTracker)); } if (canvasProxy == null) { throw new ArgumentNullException(nameof(canvasProxy)); } var lengthInteractionHandler = new NumberBoxInteractionHandler(); var angleInteractionHandler = new NumberBoxInteractionHandler(); return(new LengthAndAngleNumContainerForMouseTrackable <THaveMousePositionTracker>( haveMousePositionTracker, lengthInteractionHandler, angleInteractionHandler, canvasProxy )); }
private LengthNumContainerForMouseTrackable( THaveMousePositionTracker haveMousePositionTracker, NumberBoxInteractionHandler lengthInteractionHandler, ICanvasScreenConvertable canvasProxy ) : base( new NumberBoxInteractionHandler[] { lengthInteractionHandler } ) { HaveMousePositionTracker = haveMousePositionTracker ?? throw new ArgumentNullException(nameof(haveMousePositionTracker)); CanvasProxy = canvasProxy ?? throw new ArgumentNullException(nameof(canvasProxy)); _lengthInteractionHandler = lengthInteractionHandler ?? throw new ArgumentNullException(nameof(lengthInteractionHandler)); Initialize(); }
/// <summary> /// 将<paramref name="numberBoxInteractionHandler"/>的数据同步到对应的<see cref="INumberBox"/> /// </summary> /// <param name="numberBoxInteractionHandler"></param> private void UpdateNumberBoxWithNumberboxInteractionHandler(NumberBoxInteractionHandler numberBoxInteractionHandler) { var numberBox = _numberBoxCells.FirstOrDefault(p => p.NumberBoxInteractionHandler == numberBoxInteractionHandler)?.NumberBox; if (numberBox == null) { return; } numberBox.Visible = numberBoxInteractionHandler.Number != null; SetPropertyInternal( numberBoxInteractionHandler.Number, number => { numberBox.Number = number; numberBox.Visible = true; } ); }
public NumberBoxCell(NumberBoxInteractionHandler numberBoxInteractionHandler, INumberBox numberBox) { NumberBox = numberBox ?? throw new ArgumentNullException(nameof(numberBox)); NumberBoxInteractionHandler = numberBoxInteractionHandler ?? throw new ArgumentNullException(nameof(numberBoxInteractionHandler)); }