protected override void HandleChooser()
{
ILexRefType lrt = (ILexRefType)m_obj.Owner;
int type = lrt.MappingType;
BaseGoDlg dlg = null;
try
{
switch ((LexRefTypeTags.MappingTypes)type)
{
case LexRefTypeTags.MappingTypes.kmtSenseTree:
dlg = new LinkEntryOrSenseDlg();
(dlg as LinkEntryOrSenseDlg).SelectSensesOnly = true;
break;
case LexRefTypeTags.MappingTypes.kmtEntryTree:
dlg = new EntryGoDlg();
break;
case LexRefTypeTags.MappingTypes.kmtEntryOrSenseTree:
dlg = new LinkEntryOrSenseDlg();
break;
}
Debug.Assert(dlg != null);
var wp = new WindowParams { m_title = String.Format(LexEdStrings.ksReplaceXEntry), m_btnText = LexEdStrings.ks_Replace };
//This method is only called when we are Replacing the
//tree root of a Whole/Part lexical relation
dlg.SetDlgInfo(m_cache, wp, m_mediator);
dlg.SetHelpTopic("khtpChooseLexicalRelationAdd");
if (dlg.ShowDialog(FindForm()) == DialogResult.OK)
{
if (dlg.SelectedObject != null)
AddItem(dlg.SelectedObject);
}
}
finally
{
if (dlg != null)
dlg.Dispose();
}
}