Моя структура дерева выглядит следующим образом, содержащий три класса Index, Key, ValueКак вызвать контекстное меню для пустого выбора?
Индекс1
|
-- Key1
|
-- Value1
index2
|
-- Key2
|
-- Value2
Я создаю контекстное меню для записи индекса, который должен имеют три действия (newKeyAction, newValueAction, removeAction)
и щелкнув правой кнопкой мыши на пустое пространство addAction sh выйдет.
Это код отвечает:
protected void fillContextMenu(IMenuManager manager)
{
ITreeSelection mySelection = (ITreeSelection) viewer.getSelection();
if(mySelection.size() == 1)
{
if(mySelection.getFirstElement() instanceof Index)
{
manager.add(newKeyAction);
manager.add(newValueAction);
manager.add(removeAction);
}
}
else
{
manager.add(addAction);
}
}
Все отлично работает, но AddAction в настоящее время вызывается только один раз, когда TreeViewer пуст, и после того, щелкнув правой кнопкой мыши на пустом пространстве, узел последний выбранный в дерево выбирается и отображаются его соответствующие действия.
Пожалуйста, дайте мне знать, где я иду не так.