private void B_Verify_Click(object sender, EventArgs e) { splitToEvents.EventList = splitToEventList.Cast <SplitsToEvents.SplitEvent>().ToList(); var result = splitToEvents.Verify(splitStates); if (result != "") { MessageBox.Show("Following issues were found:\n" + result, "Notification", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Everything seems fine", "Notification", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public SplitEventsEditorForm(LiveSplitState splitStates, SplitsToEvents splitToEvents) { this.splitStates = splitStates; this.splitToEvents = splitToEvents; InitializeComponent(); this.DialogResult = DialogResult.Cancel; var verficationResult = splitToEvents.Verify(splitStates); if (verficationResult != "") { //MessageBox.Show("Verification found following issues:\n" + verficationResult, "Notification", MessageBoxButtons.OK); } #region Setting up grid TimeFormatter = new ShortTimeFormatter(); splitToEventList = new BindingList <ISplitEvent>(splitToEvents.EventList.Cast <ISplitEvent>().ToList()) { AllowNew = false, AllowRemove = false }; grid_SplitSettings.AutoGenerateColumns = false; grid_SplitSettings.AutoSize = true; grid_SplitSettings.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.False; grid_SplitSettings.DataSource = splitToEventList; grid_SplitSettings.CellClick += Grid_SplitSettings_CellClick; grid_SplitSettings.CellFormatting += Grid_SplitSettings_CellFormatting; grid_SplitSettings.CellParsing += Grid_SplitSettings_CellParsing; grid_SplitSettings.CellValidating += Grid_SplitSettings_CellValidating; grid_SplitSettings.CellEndEdit += Grid_SplitSettings_CellEndEdit; grid_SplitSettings.SelectionChanged += Grid_SplitSettings_SelectionChanged; var segmentNameColumn = new DataGridViewTextBoxColumn(); segmentNameColumn.Name = "Segment Name"; segmentNameColumn.Width = 350; segmentNameColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None; segmentNameColumn.SortMode = DataGridViewColumnSortMode.NotSortable; grid_SplitSettings.Columns.Add(segmentNameColumn); var eventTypeColumn = new DataGridViewComboBoxColumn(); //Hide your children eventTypeColumn.Items.AddRange(Enum.GetValues(typeof(SplitEventType)).Cast <Enum>().Select(value => new { (Attribute.GetCustomAttribute(value.GetType().GetField(value.ToString()), typeof(DescriptionAttribute)) as DescriptionAttribute).Description }.Description).ToArray()); eventTypeColumn.Name = "Event Type"; eventTypeColumn.Width = 200; eventTypeColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; eventTypeColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None; eventTypeColumn.SortMode = DataGridViewColumnSortMode.NotSortable; grid_SplitSettings.Columns.Add(eventTypeColumn); var eventDelayColumn = new DataGridViewTextBoxColumn(); eventDelayColumn.Name = "Event delay"; eventDelayColumn.Width = 80; eventDelayColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; eventDelayColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None; eventDelayColumn.SortMode = DataGridViewColumnSortMode.NotSortable; grid_SplitSettings.Columns.Add(eventDelayColumn); var eventActionColumn = new DataGridViewButtonColumn(); eventActionColumn.Name = "Action"; eventActionColumn.Width = 50; eventActionColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; eventActionColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None; eventActionColumn.SortMode = DataGridViewColumnSortMode.NotSortable; grid_SplitSettings.Columns.Add(eventActionColumn); grid_SplitSettings.EditingControlShowing += Grid_SplitSettings_EditingControlShowing; #endregion AddComboboxDataSources(); CBox_OnRunReset.DataBindings.Add("SelectedValue", this.splitToEvents, "OnTimerResetBehaviour", false, DataSourceUpdateMode.OnPropertyChanged); CBox_RunCompletion.DataBindings.Add("SelectedValue", this.splitToEvents, "OnRunCompletion", false, DataSourceUpdateMode.OnPropertyChanged); CB_UsePBPrediction.DataBindings.Add("Checked", this.splitToEvents, "UsePBPrediction", false, DataSourceUpdateMode.OnPropertyChanged); CB_NotifyOfErrorsInChat.DataBindings.Add("Checked", this.splitToEvents, "NotifyOfErrorsInChat", false, DataSourceUpdateMode.OnPropertyChanged); TB_OnCompletionDelay.DataBindings.Add("Text", this, "EndSplitOffset"); }