@PreDestroy void preDestroy() { if (mainMenu != null) { renderer.clearModelToManager(mainMenu, menuManager); mainMenu = null; } renderer = null; }
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()); } }
public static void clearOpaqueMenuItems(MenuManagerRenderer renderer, MMenu menu) { for (Iterator<MMenuElement> it = menu.getChildren().iterator(); it.hasNext();) { MMenuElement child = it.next(); IContributionItem contribution = renderer.getContribution(child); if (contribution != null) { renderer.clearModelToContribution(child, contribution); } if (OpaqueElementUtil.isOpaqueMenuSeparator(child)) { OpaqueElementUtil.clearOpaqueItem(child); it.remove(); } else if (OpaqueElementUtil.isOpaqueMenuItem(child)) { OpaqueElementUtil.clearOpaqueItem(child); it.remove(); } else if (child instanceof MMenu) { MMenu submenu = (MMenu) child; MenuManager manager = renderer.getManager(submenu); if (manager != null) { renderer.clearModelToManager(submenu, manager); } if (OpaqueElementUtil.isOpaqueMenu(child)) { it.remove(); } clearOpaqueMenuItems(renderer, submenu); } } }
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); }
/** * Clean dynamic menu contributions provided by * {@link MDynamicMenuContribution} application model elements * * @param menuManager * @param menuModel * @param dump */ public void removeDynamicMenuContributions(MenuManager menuManager, MMenu menuModel, ArrayList<MMenuElement> dump) { removeMenuContributions(menuModel, dump); for (MMenuElement mMenuElement : dump) { IContributionItem ici = getContribution(mMenuElement); if (ici == null && mMenuElement instanceof MMenu) { MMenu menuElement = (MMenu) mMenuElement; ici = getManager(menuElement); clearModelToManager(menuElement, (MenuManager) ici); } else { // Bug 518036: the call below removes too much. // clearModelToContribution(menuModel, ici); contributionToModel.remove(ici); } menuManager.remove(ici); clearModelToContribution(mMenuElement, ici); } }
/** * Dispose of the menu extender. Should only be called when the part * is disposed. */ public void dispose() { clearStaticActions(); Platform.getExtensionRegistry().removeRegistryChangeListener(this); menu.removeMenuListener(this); if (menuModel != null) { // unlink ourselves from the renderer IRendererFactory factory = modelPart.getContext().get(IRendererFactory.class); AbstractPartRenderer obj = factory.getRenderer(menuModel, null); if (obj instanceof MenuManagerRenderer) { MenuManagerRenderer renderer = (MenuManagerRenderer) obj; unlink(renderer, menuModel); renderer.clearModelToManager(menuModel, menu); } modelPart.getMenus().remove(menuModel); } }
MMenu menuElement = (MMenu) mMenuElement; ici = renderer.getManager(menuElement); renderer.clearModelToManager(menuElement, (MenuManager) ici);
for (MOpaqueMenu oldMenu : oldMenus) { MenuManager oldManager = getManager(oldMenu); clearModelToManager(oldMenu, oldManager);
/** * Clean dynamic menu contributions provided by * {@link MDynamicMenuContribution} application model elements * * @param menuManager * @param menuModel * @param dump */ public void removeDynamicMenuContributions(MenuManager menuManager, MMenu menuModel, ArrayList<MMenuElement> dump) { removeMenuContributions(menuModel, dump); for (MMenuElement mMenuElement : dump) { IContributionItem ici = getContribution(mMenuElement); if (ici == null && mMenuElement instanceof MMenu) { MMenu menuElement = (MMenu) mMenuElement; ici = getManager(menuElement); clearModelToManager(menuElement, (MenuManager) ici); } else { clearModelToContribution(menuModel, ici); } menuManager.remove(ici); } } }
public void cleanUpCopy(ContributionRecord record, MMenuElement copy) { modelContributionToRecord.remove(copy); if (copy instanceof MMenu) { MMenu menuCopy = (MMenu) copy; cleanUp(menuCopy); MenuManager copyManager = getManager(menuCopy); clearModelToManager(menuCopy, copyManager); if (copyManager != null) { record.getManagerForModel().remove(copyManager); copyManager.dispose(); } } else { IContributionItem ici = getContribution(copy); clearModelToContribution(copy, ici); if (ici != null) { record.getManagerForModel().remove(ici); } } }
public void cleanUpCopy(ContributionRecord record, MMenuElement copy) { modelContributionToRecord.remove(copy); if (copy instanceof MMenu) { MMenu menuCopy = (MMenu) copy; cleanUp(menuCopy); MenuManager copyManager = getManager(menuCopy); clearModelToManager(menuCopy, copyManager); if (copyManager != null) { record.getManagerForModel().remove(copyManager); copyManager.dispose(); } } else { IContributionItem ici = getContribution(copy); clearModelToContribution(copy, ici); if (ici != null) { record.getManagerForModel().remove(ici); } } }
for (MMenu oldMenu : oldMenus) { MenuManager oldManager = getManager(oldMenu); clearModelToManager(oldMenu, oldManager);
MenuManager tbm = (MenuManager) actionBars.getMenuManager(); MenuManagerRenderer tbmr = (MenuManagerRenderer) apr; tbmr.clearModelToManager(mMenu, tbm); CompatibilityView.clearOpaqueMenuItems(tbmr, mMenu);
MenuManagerRenderer renderer = (MenuManagerRenderer) apr; MenuManager mm = (MenuManager) actionBars.getMenuManager(); renderer.clearModelToManager(menu, mm); clearOpaqueMenuItems(renderer, menu);
MenuManager manager = renderer.getManager(subMenu); if (manager != null) { renderer.clearModelToManager(subMenu, manager);