List of usage examples for org.eclipse.jface.action AbstractGroupMarker isGroupMarker
@Override public boolean isGroupMarker()
AbstractGroupMarker implementation of this IContributionItem method returns true iff the id is not null. From source file:com.google.code.t4eclipse.tools.ktable.model.EclipseModelDataProvider.java
License:Open Source License
public MainMenuItemModel[] getMainMenuModelList() { List<MainMenuItemModel> list = new ArrayList<MainMenuItemModel>(); WorkbenchWindow window = (WorkbenchWindow) PlatformUI.getWorkbench().getActiveWorkbenchWindow(); MenuManager menuMgr = window.getMenuManager(); MenuItem[] menuItems = menuMgr.getMenu().getItems(); for (int i = 0; i < menuItems.length; i++) { IContributionItem data = (IContributionItem) menuItems[i].getData(); MainMenuItemModel model = new MainMenuItemModel(); model.top = true;// ww w .ja va 2s. com model.separator = false; model.group = false; model.menuStr = menuItems[i].getText(); String topLevelPath = data.getId(); model.path = topLevelPath; list.add(model); if (data instanceof MenuManager) { MenuManager mm = (MenuManager) data; // get items IContributionItem[] items = mm.getItems(); for (IContributionItem item : items) { if (item instanceof AbstractGroupMarker) { AbstractGroupMarker agm = (AbstractGroupMarker) item; if (agm.isGroupMarker()) { MainMenuItemModel groupModel = new MainMenuItemModel(); groupModel.top = false; groupModel.separator = agm.isSeparator(); groupModel.group = true; groupModel.path = topLevelPath + "/" + agm.getId(); list.add(groupModel); } else { MainMenuItemModel sepModel = new MainMenuItemModel(); sepModel.top = false; sepModel.separator = agm.isSeparator(); sepModel.group = false; list.add(sepModel); } } else if (item instanceof SubContributionItem) { SubContributionItem sub = (SubContributionItem) item; IContributionItem subInternal = sub.getInnerItem(); if (subInternal instanceof AbstractGroupMarker) { AbstractGroupMarker agm = (AbstractGroupMarker) subInternal; if (agm.isGroupMarker()) { MainMenuItemModel groupModel = new MainMenuItemModel(); groupModel.top = false; groupModel.separator = agm.isSeparator(); groupModel.group = true; groupModel.path = topLevelPath + "/" + agm.getId(); list.add(groupModel); } else { MainMenuItemModel sepModel = new MainMenuItemModel(); sepModel.top = false; sepModel.separator = agm.isSeparator(); sepModel.group = false; list.add(sepModel); } } else { String menuStr = getMenuStr(item, menuItems[i]); if (menuStr != null) { MainMenuItemModel menuitemmodel = new MainMenuItemModel(); menuitemmodel.top = false; menuitemmodel.separator = false; menuitemmodel.group = false; menuitemmodel.menuStr = menuStr; list.add(menuitemmodel); } } } else { String menuStr = getMenuStr(item, menuItems[i]); if (menuStr != null) { MainMenuItemModel sepModel = new MainMenuItemModel(); sepModel.top = false; sepModel.separator = false; sepModel.group = false; sepModel.menuStr = menuStr; list.add(sepModel); } } // ////////////////function print menumanger } } if (data instanceof SubContributionItem) { SubContributionItem subi = (SubContributionItem) data; IContributionItem innerI = subi.getInnerItem(); if (innerI instanceof MenuManager) { MenuManager mm = (MenuManager) innerI; IContributionItem[] items = mm.getItems(); for (IContributionItem item : items) { // ////////////////function print menumanger if (item instanceof AbstractGroupMarker) { AbstractGroupMarker agm = (AbstractGroupMarker) item; if (agm.isGroupMarker()) { MainMenuItemModel groupModel = new MainMenuItemModel(); groupModel.top = false; groupModel.separator = agm.isSeparator(); groupModel.group = true; groupModel.path = topLevelPath + "/" + agm.getId(); list.add(groupModel); } else { MainMenuItemModel sepModel = new MainMenuItemModel(); sepModel.top = false; sepModel.separator = agm.isSeparator(); sepModel.group = false; list.add(sepModel); } } else if (item instanceof SubContributionItem) { SubContributionItem sub = (SubContributionItem) item; IContributionItem subInternal = sub.getInnerItem(); if (subInternal instanceof AbstractGroupMarker) { AbstractGroupMarker agm = (AbstractGroupMarker) subInternal; if (agm.isGroupMarker()) { MainMenuItemModel groupModel = new MainMenuItemModel(); groupModel.top = false; groupModel.separator = agm.isSeparator(); groupModel.group = true; groupModel.path = topLevelPath + "/" + agm.getId(); list.add(groupModel); } else { MainMenuItemModel sepModel = new MainMenuItemModel(); sepModel.top = false; sepModel.separator = agm.isSeparator(); sepModel.group = false; list.add(sepModel); } } else { String menuStr = getMenuStr(item, menuItems[i]); if (menuStr != null) { MainMenuItemModel sepModel = new MainMenuItemModel(); sepModel.top = false; sepModel.separator = false; sepModel.group = false; sepModel.menuStr = menuStr; list.add(sepModel); } } } else { String menuStr = getMenuStr(item, menuItems[i]); if (menuStr != null) { MainMenuItemModel sepModel = new MainMenuItemModel(); sepModel.top = false; sepModel.separator = false; sepModel.group = false; sepModel.menuStr = menuStr; list.add(sepModel); } } } } } } return list.toArray(new MainMenuItemModel[0]); }