SIL.FieldWorks.IText.ConfigureInterlinDialog.UpdateWsComboValue C# (CSharp) Method

UpdateWsComboValue() private method

private UpdateWsComboValue ( ) : void
return void
		void UpdateWsComboValue()
		{
			try
			{
				m_fUpdatingWsCombo = true;
				int index = CurrentListIndex;
				if (index < 0 || index >= m_choices.Count)
				{
					wsCombo.SelectedIndex = -1;
					wsCombo.Enabled = false;
					return;
				}
				InterlinLineSpec spec = m_choices[index];

				ComboBox.ObjectCollection comboObjects = WsComboItems(spec.ComboContent);
				object[] choices = new object[comboObjects.Count];
				comboObjects.CopyTo(choices, 0);
				wsCombo.Items.Clear();
				wsCombo.Items.AddRange(choices);

				int ws = spec.WritingSystem;
				wsCombo.Enabled = true;
				// JohnT: note that, because 'Default analysis' and 'Default Vernacular'
				// come first, the corresponding actual writing systems will never be
				// chosen by this algorithm.
				foreach (WsComboItem item in wsCombo.Items)
				{
					if (getWsFromId(item.Id) == ws)
					{
						wsCombo.SelectedItem = item;
						break;
					}
				}
			}
			finally
			{
				m_fUpdatingWsCombo = false;
			}
		}