Пример #1
0
 private void DoCheck()
 {
     _problems = ProblemChecker.Check(_document.Map, VisibleOnlyCheckbox.Checked).ToList();
     ProblemsList.BeginUpdate();
     ProblemsList.Items.Clear();
     ProblemsList.Items.AddRange(_problems.OfType <object>().ToArray());
     ProblemsList.EndUpdate();
 }
Пример #2
0
        public IDisplayableProblem GetProblemFromEnum(ProblemsList selectedValue)
        {
            switch (selectedValue)
            {
            case ProblemsList.Bullets:
                return(new Bullets());

            case ProblemsList.Iditarod:
                return(new Iditarod());

            case ProblemsList.InterestingDigits:
                return(new InterestingDigits());

            case ProblemsList.Lexer:
                return(new Lexer());

            case ProblemsList.StreetParking:
                return(new StreetParking());

            case ProblemsList.Substitute:
                return(new Substitute());

            case ProblemsList.TurretDefense:
                return(new TurretDefense());

            case ProblemsList.Whisper:
                return(new Whisper());

            case ProblemsList.WidgetRepairs:
                return(new WidgetRepairs());

            case ProblemsList.Abacus:
                return(new Abacus());

            case ProblemsList.ABBA:
                return(new ABBA());

            case ProblemsList.ATaleOfThreeCities:
                return(new ATaleOfThreeCities());

            case ProblemsList.AToughGame:
                return(new AToughGame());

            default:
                return(null);
            }
        }
Пример #3
0
        private async Task DoCheck(MapDocument doc)
        {
            _problems = doc == null ? new List <ProblemWrapper>() : await Check(doc, GetFilter(_visibleOnly, _selectedOnly));

            this.InvokeLater(() =>
            {
                var si = ProblemsList.SelectedIndex;
                ProblemsList.BeginUpdate();
                ProblemsList.Items.Clear();
                ProblemsList.Items.AddRange(_problems.OfType <object>().ToArray());
                if (si < 0 || si >= ProblemsList.Items.Count)
                {
                    si = 0;
                }
                if (si < ProblemsList.Items.Count)
                {
                    ProblemsList.SelectedIndex = si;
                }
                ProblemsList.EndUpdate();
                UpdateSelectedProblem(null, EventArgs.Empty);
            });
        }