SIL.FieldWorks.LexText.Controls.MSAGroupBox.GetSlots C# (CSharp) Method

GetSlots() private method

private GetSlots ( ) : IEnumerable
return IEnumerable
		private IEnumerable<IMoInflAffixSlot> GetSlots()
		{
			if (m_morphType == null)
			{
				// Not called by InsertEntryDlg; need to figure out the morphtype(s)
				var lex = m_mediator.PropertyTable.GetValue("ActiveClerkSelectedObject") as ILexEntry;
				if (lex != null)
					return DomainObjectServices.GetSlots(m_cache, lex, m_selectedMainPOS);
				else
					return m_selectedMainPOS.AllAffixSlots;
			}
			else
			{ //  Called by InsertEntryDlg so we know the morphtype
				bool fIsPrefixal = MorphServices.IsPrefixishType(m_cache, m_morphType.Hvo);
				bool fIsSuffixal = MorphServices.IsSuffixishType(m_cache, m_morphType.Hvo);
				if (fIsPrefixal && fIsSuffixal)
					return m_selectedMainPOS.AllAffixSlots;
				else
					return DomainObjectServices.GetSomeSlots(m_cache, m_selectedMainPOS.AllAffixSlots, fIsPrefixal);
			}
		}