public override bool Execute(PuzzleViewModel target) { if (grid.Solve()) { return(true); } target.ShowInfoMessage("No Solution Found."); return(false); }
private void MainForm_Load(object sender, EventArgs e) { puzzle = new PuzzleViewModel(); puzzle.MessageOwner = this; puzzle.StateChanged += OnStateChanged; puzzle.SourceChanged += OnSourceChanged; puzzleView.SetSource(puzzle); UpdateState(); }
internal void SetSource(PuzzleViewModel value) { if (source == value) { return; } UnsubscribeFromSource(); source = value; SubscribeToSource(); Invalidate(); }
public override bool CanExecute(PuzzleViewModel target) => emptyCells.Count > 0;
public override bool Execute(PuzzleViewModel context) { cell.Value = newValue; return(true); }
public override bool CanExecute(PuzzleViewModel target) => oldValue != newValue && (!target.IsReady || !target.IsCellFixed(cell));
public abstract bool Execute(PuzzleViewModel target);