public void SelectionChanged(PositionedControlComponent selectedComponent) { if (selectedComponent.IsSelected && !isShiftDown) { foreach (PositionedControlComponent component in PositionedControlComponents.Except(Enumerables.Create(selectedComponent))) { component.IsSelected = false; } Changed(); } }
void InsertLength(double length) { if (PositionedControlComponents.Any(positionedControlComponent => positionedControlComponent.IsSelected)) { return; } double newCurveLength = Comparables.Maximum(1, nextSpecification.CurveLength + length); ChangeCurveLength(newCurveLength); curveOptimizer.Submit(nextSpecification); }