private void AutoGenerateWordsButton_Click(object sender, EventArgs e) { TextModeComboBox.Enabled = false; NumerologySystemComboBox.Enabled = false; AddVerseAndWordValuesCheckBox.Enabled = false; AddPositionsCheckBox.Enabled = false; AddDistancesToPreviousCheckBox.Enabled = false; ValueCombinationDirectionLabel.Enabled = false; NumberTypeLabel.Enabled = false; AutoGenerateWordsButton.Enabled = false; GenerateWordsButton.Enabled = false; InspectButton.Enabled = false; TextModeComboBox.Refresh(); NumerologySystemComboBox.Refresh(); AddVerseAndWordValuesCheckBox.Refresh(); AddPositionsCheckBox.Refresh(); AddDistancesToPreviousCheckBox.Refresh(); ValueCombinationDirectionLabel.Refresh(); NumberTypeLabel.Refresh(); AutoGenerateWordsButton.Refresh(); GenerateWordsButton.Refresh(); InspectButton.Refresh(); this.Cursor = Cursors.WaitCursor; try { // at the start of running ProgressBar.Value = 0; ProgressBar.Refresh(); WordCountLabel.Text = "0 Lines"; WordCountLabel.ForeColor = Numbers.GetNumberTypeColor(0L); WordCountLabel.Refresh(); if (m_generated_lines == null) { m_generated_lines = new List <string>(); } if (m_generated_lines != null) { m_generated_lines.Clear(); } if (ModifierKeys == Keys.Shift) { int loops = 0; foreach (string text_mode in TextModeComboBox.Items) { TextModeComboBox.SelectedItem = text_mode; TextModeComboBox.Refresh(); loops += NumerologySystemComboBox.Items.Count; } int i = 0; foreach (string text_mode in TextModeComboBox.Items) { TextModeComboBox.SelectedItem = text_mode; TextModeComboBox.Refresh(); foreach (string numerology_system in NumerologySystemComboBox.Items) { NumerologySystemComboBox.SelectedItem = numerology_system; NumerologySystemComboBox.Refresh(); ProcessNumerologySystem(); // display progress i++; ProgressBar.Value = ((i + 1) * 100) / loops; if (m_generated_lines != null) { WordCountLabel.Text = m_generated_lines.Count + " Line" + (m_generated_lines.Count == 1 ? "" : "s"); WordCountLabel.ForeColor = Numbers.GetNumberTypeColor(m_generated_lines.Count); WordCountLabel.Refresh(); } Application.DoEvents(); } // foreach NumerologySystem } // foreach TextMode } else { ProcessNumerologySystem(); } // at the end of running ProgressBar.Value = 100; ProgressBar.Refresh(); if (m_generated_lines != null) { WordCountLabel.Text = m_generated_lines.Count + " Line" + (m_generated_lines.Count == 1 ? "" : "s"); WordCountLabel.ForeColor = Numbers.GetNumberTypeColor(m_generated_lines.Count); WordCountLabel.Refresh(); } } finally { TextModeComboBox.Enabled = true; NumerologySystemComboBox.Enabled = true; AddVerseAndWordValuesCheckBox.Enabled = true; AddPositionsCheckBox.Enabled = true; AddDistancesToPreviousCheckBox.Enabled = true; ValueCombinationDirectionLabel.Enabled = true; NumberTypeLabel.Enabled = true; AutoGenerateWordsButton.Enabled = true; GenerateWordsButton.Enabled = true; InspectButton.Enabled = true; this.Cursor = Cursors.Default; } }
private void GotoNextNumberType() { switch (m_number_type) { case NumberType.Natural: { m_number_type = NumberType.Prime; NumberTypeLabel.Text = "P"; NumberTypeLabel.ForeColor = Numbers.GetNumberTypeColor(19L); ToolTip.SetToolTip(NumberTypeLabel, "allow prime combined letter values only"); } break; case NumberType.Prime: { m_number_type = NumberType.AdditivePrime; NumberTypeLabel.Text = "AP"; NumberTypeLabel.ForeColor = Numbers.GetNumberTypeColor(47L); ToolTip.SetToolTip(NumberTypeLabel, "allow additive prime combined letter values only"); } break; case NumberType.AdditivePrime: { m_number_type = NumberType.NonAdditivePrime; NumberTypeLabel.Text = "XP"; NumberTypeLabel.ForeColor = Numbers.GetNumberTypeColor(19L); ToolTip.SetToolTip(NumberTypeLabel, "allow non-additive prime combined letter values only"); } break; case NumberType.NonAdditivePrime: { m_number_type = NumberType.Composite; NumberTypeLabel.Text = "C"; NumberTypeLabel.ForeColor = Numbers.GetNumberTypeColor(14L); ToolTip.SetToolTip(NumberTypeLabel, "allow composite combined letter values only"); } break; case NumberType.Composite: { m_number_type = NumberType.AdditiveComposite; NumberTypeLabel.Text = "AC"; NumberTypeLabel.ForeColor = Numbers.GetNumberTypeColor(114L); ToolTip.SetToolTip(NumberTypeLabel, "allow additive composite combined letter values only"); } break; case NumberType.AdditiveComposite: { m_number_type = NumberType.NonAdditiveComposite; NumberTypeLabel.Text = "XC"; NumberTypeLabel.ForeColor = Numbers.GetNumberTypeColor(25L); ToolTip.SetToolTip(NumberTypeLabel, "allow non-additive composite combined letter values only"); } break; case NumberType.NonAdditiveComposite: { m_number_type = NumberType.Natural; NumberTypeLabel.Text = ""; NumberTypeLabel.ForeColor = Numbers.GetNumberTypeColor(0L); ToolTip.SetToolTip(NumberTypeLabel, "allow all combined letter values only"); } break; } NumberTypeLabel.Refresh(); }