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);
}
}