void removeMenuContributions(final MMenu menuModel, final ArrayList<MMenuElement> menuContributionsToRemove) { for (MMenuElement item : menuContributionsToRemove) { menuModel.getChildren().remove(item); } }
void cleanUp(MMenu menuModel) { ArrayList<ArrayList<MMenuElement>> lists = pendingCleanup .remove(menuModel); if (lists == null) { return; } for (ArrayList<MMenuElement> list : lists) { for (MMenuElement item : list) { menuModel.getChildren().remove(item); } } } }
MMenuSeparator findExistingSeparator(String id) { if (id == null) { return null; } for (MMenuElement item : menuModel.getChildren()) { if (item instanceof MMenuSeparator && id.equals(item.getElementId())) { return (MMenuSeparator) item; } } return null; }
MMenu findExistingMenu(String id) { if (id == null) { return null; } for (MMenuElement item : menuModel.getChildren()) { if (item instanceof MMenu && id.equals(item.getElementId())) { return (MMenu) item; } } return null; }
MMenu findExistingMenu(String id) { if (id == null) { return null; } for (MMenuElement item : menuModel.getChildren()) { if (item instanceof MMenu && id.equals(item.getElementId())) { return (MMenu) item; } } return null; }
protected void clearMenuItems() { // in the workbench, view menus are re-created on startup for (MMenu menu : part.getMenus()) { menu.getChildren().clear(); } }
void removeMenuContributions(final MMenu menuModel, final ArrayList<MMenuElement> menuContributionsToRemove) { for (MMenuElement item : menuContributionsToRemove) { menuModel.getChildren().remove(item); if (item instanceof MMenu) { removeMenuContribution((MMenu) item); } } }
MMenuSeparator findExistingSeparator(String id) { if (id == null) { return null; } for (MMenuElement item : menuModel.getChildren()) { if (item instanceof MMenuSeparator && id.equals(item.getElementId())) { return (MMenuSeparator) item; } } return null; }
public void dispose() { for (MMenuElement copy : generatedElements) { menuModel.getChildren().remove(copy); } for (MMenuElement shared : sharedElements) { ArrayList<ContributionRecord> array = renderer.getList(shared); array.remove(this); if (array.isEmpty()) { menuModel.getChildren().remove(shared); } } if (factoryDispose != null) { factoryDispose.run(); factoryDispose = null; } }
private static void printElement(int level, MMenuElement element) { StringBuilder buf = new StringBuilder(); for (int i = 0; i < level; i++) { buf.append('\t'); } buf.append(element.toString()); trace(buf.toString(), null); if (element instanceof MMenu) { for (MMenuElement item : ((MMenu) element).getChildren()) { printElement(level + 1, item); } } }
public void dispose() { for (MMenuElement copy : generatedElements) { menuModel.getChildren().remove(copy); } for (MMenuElement shared : sharedElements) { renderer.removeRecord(shared, this); ArrayList<ContributionRecord> array = renderer.getList(shared); if (array.isEmpty()) { menuModel.getChildren().remove(shared); } } if (factoryDispose != null) { factoryDispose.run(); factoryDispose = null; } }
/** * Ensure when a menu contribution is removed, if it contains nested menus, * their contributions are also removed. * * @param menuModel */ private void removeMenuContribution(final MMenu menuModel) { clearModelToContribution(menuModel, modelToContribution.get(menuModel)); if (menuModel.getChildren() != null) { for (MMenuElement child : menuModel.getChildren()) { if (child instanceof MMenu) { removeMenuContribution((MMenu) child); } else { clearModelToContribution(child, modelToContribution.get(child)); } } } }
public void clearModelToContribution(MMenuElement model, IContributionItem item) { if (model instanceof MMenu) { for (MMenuElement element : ((MMenu) model).getChildren()) { IContributionItem ici = getContribution(element); clearModelToContribution(element, ici); } } modelToContribution.remove(model); contributionToModel.remove(item); if (Policy.DEBUG_RENDERER) { logger.debug( "\nMMR:clearModelToContribution: modelToContribution size = {0}, contributionToModel size = {1}", //$NON-NLS-1$ modelToContribution.size(), contributionToModel.size()); } }
private void cleanupMenuManagerRec(MenuManagerRenderer renderer, MMenu m) { for (MMenuElement e : m.getChildren()) { // renderer.clearModelToContribution(e, null); if (e instanceof MMenu) { cleanupMenuManagerRec(renderer, (MMenu) e); } } renderer.clearModelToManager(m, null); }
public void clearModelToManager(MMenu model, MenuManager manager) { for (MMenuElement element : model.getChildren()) { if (element instanceof MMenu) { clearModelToManager((MMenu) element, getManager((MMenu) element)); } IContributionItem ici = getContribution(element); clearModelToContribution(element, ici); } MenuManager remove = modelToManager.remove(model); if (manager == null) { managerToModel.remove(remove); } else { managerToModel.remove(manager); } if (Policy.DEBUG_RENDERER) { logger.debug("\nMMR:clearModelToManager: modelToManager size = {0}, managerToModel size = {1}", //$NON-NLS-1$ modelToManager.size(), managerToModel.size()); } }
/** * @param menuModel * @param isMenuBar * @param isPopup */ public void processContributions(MMenu menuModel, String elementId, boolean isMenuBar, boolean isPopup) { if (elementId == null) { return; } final ArrayList<MMenuContribution> toContribute = new ArrayList<>(); ContributionsAnalyzer.XXXgatherMenuContributions(menuModel, application.getMenuContributions(), elementId, toContribute, null, isPopup); generateContributions(menuModel, toContribute, isMenuBar); for (MMenuElement element : menuModel.getChildren()) { if (element instanceof MMenu) { processContributions((MMenu) element, element.getElementId(), false, isPopup); } } }
private void unlinkMenu(MMenu menu) { List<MMenuElement> children = menu.getChildren(); for (MMenuElement child : children) { if (child instanceof MMenu) unlinkMenu((MMenu) child); else { IContributionItem contribution = getContribution(child); clearModelToContribution(child, contribution); } } MenuManager mm = getManager(menu); clearModelToManager(menu, mm); }
@Override public void doProcessContent(MMenu element) { // TODO Should we do this creation lazy???? WMenu<N> menu = getWidget(element); if( menu == null ) { getLogger().error("No widget found for '"+element+"'"); //$NON-NLS-1$//$NON-NLS-2$ return; } for (MMenuElement e : element.getChildren()) { if (e.isToBeRendered()) { WMenuElement<MMenuElement> widget = engineCreateWidget(e); if (widget != null && isChildRenderedAndVisible(e)) { menu.addElement(widget); } } } }
@SuppressWarnings("unchecked") @Override public void doProcessContent(MMenu element) { WMenuBar<N> menuBar = getWidget(element); if (menuBar == null) { getLogger().error("No widget found for '" + element + "'"); //$NON-NLS-1$//$NON-NLS-2$ return; } for (MMenuElement e : element.getChildren()) { if (e.isToBeRendered()) { Object widget = engineCreateWidget(e); if (widget != null && isChildRenderedAndVisible(e)) { menuBar.addElement((WMenuElement<MMenuElement>) widget); } } } }
@Override public void doProcessContent(MMenu element) { // TODO Should we do this creation lazy???? WMenu<N> menu = getWidget(element); if (menu == null) { getLogger().error("No widget found for '" + element + "'"); //$NON-NLS-1$//$NON-NLS-2$ return; } for (MMenuElement e : element.getChildren()) { if (e.isToBeRendered()) { WMenuElement<MMenuElement> widget = engineCreateWidget(e); if (widget != null && isChildRenderedAndVisible(e)) { menu.addElement(widget); } } } }