58,452
社区成员
发帖
与我相关
我的任务
分享
final TreeViewer v = new TreeViewer(shell);
v.setLabelProvider(new LabelProvider());
v.setContentProvider(new MyContentProvider());
v.setInput(createModel());
final Action a = new Action("") {
};
final MenuManager mgr = new MenuManager();
mgr.setRemoveAllWhenShown(true);
mgr.addMenuListener(new IMenuListener() {
/* (non-Javadoc)
* @see org.eclipse.jface.action.IMenuListener#menuAboutToShow(org.eclipse.jface.action.IMenuManager)
*/
public void menuAboutToShow(IMenuManager manager) {
IStructuredSelection selection = (IStructuredSelection) v
.getSelection();
if (!selection.isEmpty()) {
a.setText("Action for "
+ ((MyModel) selection.getFirstElement())
.toString());
else if(...){//在这里做判断对菜单的动态添加
mgr.add(a);
}else if(){
mgr.add(...);
}
}
}
});
v.getControl().setMenu(mgr.createContextMenu(v.getControl()));