SIL.FieldWorks.Common.Widgets.LabeledMultiStringControl.ValueAndWs C# (CSharp) Method

ValueAndWs() public method

Get the nth string and writing system.
public ValueAndWs ( int index, int &ws ) : ITsString
index int
ws int
return ITsString
		public ITsString ValueAndWs(int index, out int ws)
		{
			CheckDisposed();

			ws = m_innerControl.WritingSystems[index].Handle;
			return m_innerControl.RootBox.DataAccess.get_MultiStringAlt(InnerLabeledMultiStringControl.khvoRoot,
				InnerLabeledMultiStringControl.kflid, ws);
		}

Usage Example

Beispiel #1
0
		private void CollectValuesFromMultiStringControl(LabeledMultiStringControl lmsControl,
			IList<ITsString> alternativesCollector, ITsString defaultIfNoMultiString)
		{
			var bldr = m_cache.TsStrFactory;
			if (lmsControl == null)
			{
				alternativesCollector.Add(defaultIfNoMultiString);
			}
			else
			{
				// Save all the writing systems.
				for (var i = 0; i < lmsControl.NumberOfWritingSystems; i++)
				{
					int ws;
					ITsString tss = lmsControl.ValueAndWs(i, out ws);
					if (tss != null && tss.Text != null)
					{
						// In the case of copied text, sometimes the string had the wrong ws attached to it. (LT-11950)
						alternativesCollector.Add(bldr.MakeString(tss.Text, ws));
					}
				}
			}
		}