protected override bool CanSelectFigure(IFigure figure) { if (DependencyAlgorithms.FigureCompletelyDependsOnFigures(figure, GetSelection().Without(figure))) { return(false); } return(true); }
protected override bool CanSelectFigure(IFigure figure) { if (Inputs.Contains(figure)) { return(false); } if (DependencyAlgorithms.FigureCompletelyDependsOnFigures(figure, Inputs)) { return(true); } return(false); }
protected override void TrySelectFigure(IFigure figure) { if (!CanSelectFigure(figure)) { return; } SelectFigure(figure); foreach (var selected in GetSelection()) { if (DependencyAlgorithms.FigureCompletelyDependsOnFigures(selected, GetSelection().Without(selected))) { DeselectFigure(selected); } } }