private void Generator_GenerationStatus(Generator generator, GenerationStatusEventArgs e) { this.Invoke(new GenericDelegate <GenerationStatusEventArgs>(x => { if (x.Status == GenerationStatus.Generating) { return; } if (x.Status == GenerationStatus.Error) { Logger.Error(x.Error); MessageBox.Show(x.Error.Message, "Generation Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } this.Generator.GenerationStatus -= new Generator.GenerationStatusEventHandler(Generator_GenerationStatus); this.Generator.TemplateGenerationStatus -= new Generator.TemplateGenerationStatusEventHandler(Generator_TemplateGenerationStatus); this.Generator.ItemGenerationStatus -= new Generator.ItemGenerationStatusEventHandler(Generator_ItemGenerationStatus); this.Generator = null; if (x.Status == GenerationStatus.Complete) { bool hasErrors = outputsListView.Items.Cast <ListViewItem>().Any(o => GenerationStatus.Error.ToString().Equals(o.SubItems[statusColumn.Index].Text)); ToggleUI(true); progressBar.Visible = false; if (!hasErrors && autoCloseCheckBox.Checked) { this.DialogResult = DialogResult.OK; this.Close(); } else if (hasErrors) { MessageBox.Show("One or more errors occurred during the generation process. Double click each error message above for more information.", "Errors Occurred", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } }), e); }
private void Generator_GenerationStatus(Generator generator, GenerationStatusEventArgs e) { this.Invoke(new GenericDelegate<GenerationStatusEventArgs>(x => { if (x.Status == GenerationStatus.Generating) return; if (x.Status == GenerationStatus.Error) { Logger.Error(x.Error); MessageBox.Show(x.Error.Message, "Generation Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } this.Generator.GenerationStatus -= new Generator.GenerationStatusEventHandler(Generator_GenerationStatus); this.Generator.TemplateGenerationStatus -= new Generator.TemplateGenerationStatusEventHandler(Generator_TemplateGenerationStatus); this.Generator.ItemGenerationStatus -= new Generator.ItemGenerationStatusEventHandler(Generator_ItemGenerationStatus); this.Generator = null; if (x.Status == GenerationStatus.Complete) { bool hasErrors = outputsListView.Items.Cast<ListViewItem>().Any(o => GenerationStatus.Error.ToString().Equals(o.SubItems[statusColumn.Index].Text)); ToggleUI(true); progressBar.Visible = false; if (!hasErrors && autoCloseCheckBox.Checked) { this.DialogResult = DialogResult.OK; this.Close(); } else if (hasErrors) MessageBox.Show("One or more errors occurred during the generation process. Double click each error message above for more information.", "Errors Occurred", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }), e); }
private void OnGenerationStatus(GenerationStatusEventArgs e) { if (GenerationStatus != null) GenerationStatus(this, e); }