private void AddAbbrAndNameInfo(IMultiUnicode abbr, IMultiUnicode name, IMultiUnicode reverseAbbr, IMultiUnicode reverseName) { int wsActual; ITsString tssAnal; if (name != null) { string sname, snameWS, sabbr, sabbrWS; tssAnal = name.GetAlternativeOrBestTss(m_cache.DefaultAnalWs, out wsActual); sname = tssAnal.Text; snameWS = m_cache.LanguageWritingSystemFactoryAccessor.GetStrFromWs(wsActual); cbFunction.Items.Add(sname); if (!m_htNameToAbbr.ContainsKey(sname)) { if (abbr == null) { sabbr = sname; // use both for the map key sabbrWS = snameWS; } else { tssAnal = abbr.GetAlternativeOrBestTss(m_cache.DefaultAnalWs, out wsActual); sabbr = tssAnal.Text; sabbrWS = m_cache.LanguageWritingSystemFactoryAccessor.GetStrFromWs(wsActual); } NameWSandAbbr nwsa = new NameWSandAbbr(); nwsa.name = sname; nwsa.nameWS = snameWS; nwsa.abbr = sabbr; nwsa.abbrWS = sabbrWS; m_htNameToAbbr.Add(sname, nwsa); } } if (reverseName != null) { string srname, srnameWS, srabbr, srabbrWS; tssAnal = reverseName.GetAlternativeOrBestTss(m_cache.DefaultAnalWs, out wsActual); srname = tssAnal.Text; srnameWS = m_cache.LanguageWritingSystemFactoryAccessor.GetStrFromWs(wsActual); cbFunction.Items.Add(srname); if (!m_htNameToAbbr.ContainsKey(srname)) { if (reverseAbbr == null) { srabbr = srname; // use both for the map key srabbrWS = srnameWS; } else { tssAnal = reverseAbbr.GetAlternativeOrBestTss(m_cache.DefaultAnalWs, out wsActual); srabbr = tssAnal.Text; srabbrWS = m_cache.LanguageWritingSystemFactoryAccessor.GetStrFromWs(wsActual); } NameWSandAbbr nwsa = new NameWSandAbbr(); nwsa.name = srname; nwsa.nameWS = srnameWS; nwsa.abbr = srabbr; nwsa.abbrWS = srabbrWS; m_htNameToAbbr.Add(srname, nwsa); } } }
private void AddAbbrAndNameInfo(string abbr, string name, string nameWS, string reverseAbbr, string reverseName, string reverseNameWS) { if (name != null) { cbFunction.Items.Add(name); if (abbr == null) abbr = name; // use both for the map key if (!m_htNameToAbbr.ContainsKey(name)) { // m_htNameToAbbr.Add(name, abbr); NameWSandAbbr nwsa = new NameWSandAbbr(); nwsa.abbr = abbr; nwsa.nameWS = nameWS; m_htNameToAbbr.Add(name, nwsa); } } if (reverseName != null) { cbFunction.Items.Add(reverseName); if (reverseAbbr == null) reverseAbbr = reverseName; // use the same when abbr is empty if (!m_htNameToAbbr.ContainsKey(reverseName)) { // m_htNameToAbbr.Add(reverseName, reverseAbbr); NameWSandAbbr nwsa = new NameWSandAbbr(); nwsa.abbr = reverseAbbr; nwsa.nameWS = reverseNameWS; m_htNameToAbbr.Add(reverseName, nwsa); } } }