SIL.FieldWorks.Common.Framework.DetailControls.PossibilityAutoComplete.CreateSearcher C# (CSharp) Méthode

CreateSearcher() private méthode

private CreateSearcher ( ) : void
Résultat void
		private void CreateSearcher()
		{
			int control = 0;
			for (; m_curPossIndex < m_possibilities.Count; m_curPossIndex++)
			{
				// Every so often see whether the user has typed something that makes our search irrelevant.
				if (control++ % 50 == 0 && ShouldAbort())
					return;

				ICmPossibility poss = m_possibilities[m_curPossIndex];
				ITsString name = null;
				foreach (int ws in WritingSystemServices.GetWritingSystemIdsFromLabel(m_cache, m_displayWs, m_cache.ServiceLocator.WritingSystemManager.UserWritingSystem,
					poss.Hvo, CmPossibilityTags.kflidName, null))
				{
					ITsString tss = poss.Name.StringOrNull(ws);
					if (tss != null && tss.Length > 0)
					{
						name = tss;
						m_searcher.Add(poss, 0, tss);
						break;
					}
				}

				foreach (int ws in WritingSystemServices.GetWritingSystemIdsFromLabel(m_cache, m_displayWs, m_cache.ServiceLocator.WritingSystemManager.UserWritingSystem,
					poss.Hvo, CmPossibilityTags.kflidAbbreviation, null))
				{
					ITsString tss = poss.Abbreviation.StringOrNull(ws);
					if (tss != null && tss.Length > 0)
					{
						m_searcher.Add(poss, 0, tss);
						if (name != null)
						{
							var tisb = TsIncStrBldrClass.Create();
							tisb.AppendTsString(tss);
							tisb.AppendTsString(m_cache.TsStrFactory.MakeString(" - ", m_cache.DefaultUserWs));
							tisb.AppendTsString(name);
							m_searcher.Add(poss, 0, tisb.GetString());
						}
						break;
					}
				}
			}
		}