private void analyzeButton_Click(object sender, EventArgs e) { if (!SelectedConference.Equals(Constants.AllText)) { EnableDisableAnalyzeButton(false); //Start an async job to calculate the division scenarios DivisionScenarioAnalyzer analyzer = DivisionScenarioAnalyzer.Analyze(mLeague, SelectedConference, SelectedDivision, SelectedTeam, true, (judgmentsDone, totalJudgments, elapsed) => { mUpdateCounter++; if (mUpdateCounter >= Constants.AnalysisUiUpdateInterval) { string status = $"Judging {judgmentsDone} of {totalJudgments} outcomes ({elapsed})"; double progress = judgmentsDone / totalJudgments; UpdateStatus(status, progress); mUpdateCounter = 0; } }, (outputLines, elapsed) => { UpdateStatus("Analysis complete", 0); UpdateReport("Division Scenarios:" + Constants.Newline + string.Join(Constants.Newline, outputLines) + Constants.Newline + Constants.Newline + reportTextbox.Text); EnableDisableAnalyzeButton(true); }); } }
private void conferenceSelector_SelectedIndexChanged(object sender, EventArgs e) { divisionSelector.Items.Clear(); divisionSelector.Items.Add(Constants.AllText); SetUIVisibility(); if (!SelectedConference.Equals(Constants.AllText)) { //Populate the divisionSelector with the divisions in the selected conference Conference selected = mLeague[SelectedConference]; foreach (Division division in selected.Divisions) { divisionSelector.Items.Add(division.Name); } } if (divisionSelector.SelectedIndex != 0) { divisionSelector.SelectedIndex = 0; } else { UpdateDisplay(); } }
private void SetUIVisibility() { DisplayType currentDisplay = CurrentDisplay; bool conferenceSelected = !SelectedConference.Equals(Constants.AllText); divisionLabel.Visible = conferenceSelected; divisionSelector.Visible = conferenceSelected; bool divisionSelected = conferenceSelected && SelectedDivision != null && !SelectedDivision.Equals(Constants.AllText); teamLabel.Visible = conferenceSelected && divisionSelected; teamSelector.Visible = conferenceSelected && divisionSelected; analyzeButton.Enabled = divisionSelected; ShowHideTab(leagueTab, currentDisplay == DisplayType.League); ShowHideTab(conferenceTab, currentDisplay == DisplayType.Conference); ShowHideTab(divisionTab, currentDisplay == DisplayType.Division); ShowHideTab(teamTab, currentDisplay == DisplayType.Team); }