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

getWsFromId() private method

private getWsFromId ( string id ) : int
id string
return int
		private int getWsFromId(string id)
		{
			// special case, the only few we support so far (and only for a few fields).
			if (id == "best analysis")
				return WritingSystemServices.kwsFirstAnal;//LangProject.kwsFirstAnal;
			else if (id == "vern in para")
				return WritingSystemServices.kwsVernInParagraph;
			Debug.Assert(!XmlViewsUtils.GetWsRequiresObject(id), "Writing system is magic.  These should never be used in the Interlinear area.");

			int ws = -50;
			try
			{
				if (!XmlViewsUtils.GetWsRequiresObject(id))
				{
					// Try to convert the ws parameter into an int.  Sometimes the parameter
					// cannot be interpreted without an object, such as when the ws is a magic
					// string that will change the actual ws depending on the contents of the
					// object.  In these cases, we give -50 as a known constant to check for.
					// This can possibly throw an exception, so we'll enclose it in a try block.
					ws = WritingSystemServices.InterpretWsLabel(m_cache, id, null, 0, 0, null);
				}
			}
			catch
			{
				Debug.Assert(ws != -50, "InterpretWsLabel was not able to interpret the Ws Label.  The most likely cause for this is that a magic ws was passed in.");
			}
			return ws;
		}