public void HandleAddTagToTerm (object sender, EventArgs args)
{
MenuItem item = sender as MenuItem;
if (item == null)
return;
int item_pos = (item.Parent as Menu).Children.Cast<MenuItem> ().TakeWhile (i => item != i).Count ();
// account for All and separator menu items
item_pos -= 2;
Term parent_term = LogicWidget.Root.SubTerms [item_pos];
if (LogicWidget.Box != null) {
Literal after = parent_term.Last as Literal;
LogicWidget.Box.InsertTerm (tag_selection_widget.TagHighlight, parent_term, after);
}
}