/**
* Create a new {@link TableViewer} with {@link DataModel} elements.
*
* @param site The {@link IWorkbenchPartSite} used to register the table's context menu.
* @param table The {@link Table}.
* @param dataModelClass The {@link DataModel} element {@link Class}.
* @param dataModelElementType The {@link DataModel} {@link IElementType}.
* @param input The {@link TableViewer} input.
* @param inputElementType The input {@link IElementType}.
* @return A new {@link TableViewer}.
*/
public static TableViewer createDataModelTableViewer(IWorkbenchPartSite site, Table table, Class<?> dataModelClass,
final IElementType dataModelElementType, Object input, IElementType inputElementType) {
TableViewer tableViewer = createTableViewer(table, dataModelClass, dataModelElementType, input,
inputElementType, new DataModelElementBinding());
List<BaseAction> tableActions = dataModelElementType.getActions();
if (tableActions != null) {
for (BaseAction action : tableActions) {
action.setSelectionProvider(tableViewer);
}
MenuManager menuManager = new MenuManager("#PopupMenu");
menuManager.setRemoveAllWhenShown(true);
menuManager.addMenuListener(new IMenuListener() {
public void menuAboutToShow(IMenuManager manager) {
dataModelElementType.fillContextMenu(manager);
}
});
Menu menu = menuManager.createContextMenu(table);
table.setMenu(menu);
site.registerContextMenu(menuManager, tableViewer);
}
return tableViewer;
}
ViewerFactory.java 文件源码
java
阅读 32
收藏 0
点赞 0
评论 0
项目:eZooKeeper
作者:
评论列表
文章目录