Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
 private void OnGenerationStatus(GenerationStatusEventArgs e) {
     if (GenerationStatus != null)
         GenerationStatus(this, e);
 }