private void FillWritingSystemCombo(int wsMagic)
{
//store the current selection if any
var current = m_cbWritingSystem.SelectedItem;
m_cbWritingSystem.Items.Clear();
int wsSet = 0;
switch (wsMagic)
{
case WritingSystemServices.kwsVerns:
foreach (IWritingSystem ws in m_cache.ServiceLocator.WritingSystems.CurrentVernacularWritingSystems)
m_cbWritingSystem.Items.Add(ws);
wsSet = m_cache.DefaultVernWs;
break;
case WritingSystemServices.kwsAnals:
foreach (IWritingSystem ws in m_cache.ServiceLocator.WritingSystems.CurrentAnalysisWritingSystems)
m_cbWritingSystem.Items.Add(ws);
wsSet = m_cache.DefaultAnalWs;
break;
}
//Keep the users current selection if they have switched to a similar field (vernacular or analysis)
if(current != null && m_cbWritingSystem.Items.Contains(current))
m_cbWritingSystem.SelectedItem = current;
else //otherwise set it to the default for the correct language type
SetWritingSystem(wsSet);
}