private MMenuElement createMenuSeparatorAddition(final IConfigurationElement sepAddition) { String name = MenuHelper.getName(sepAddition); MMenuElement element = MenuFactoryImpl.eINSTANCE.createMenuSeparator(); element.setElementId(name); if (!MenuHelper.isSeparatorVisible(sepAddition)) { element.setVisible(false); element.getTags().add(MenuManagerRenderer.GROUP_MARKER); } return element; }
private void contributeMenuGroup(ArrayList<MMenuContribution> contributions, String parentId, String positionInParent) { String group = positionInParent.substring(6); if (menuContributionGroupIds.contains(parentId + group)) { return; } menuContributionGroupIds.add(parentId + group); MMenuContribution menuContribution = MenuFactoryImpl.eINSTANCE.createMenuContribution(); menuContribution.setVisibleWhen(createVisibleWhen()); menuContribution.getTags().add(ContributionsAnalyzer.MC_MENU); menuContribution.getTags().add("scheme:menu"); //$NON-NLS-1$ menuContribution.setParentId(parentId); menuContribution.setPositionInParent("after=additions"); //$NON-NLS-1$ MMenuElement sep = MenuFactoryImpl.eINSTANCE.createMenuSeparator(); sep.getTags().add(MenuManagerRenderer.GROUP_MARKER); sep.setVisible(false); sep.setElementId(group); menuContribution.getChildren().add(sep); contributions.add(menuContribution); }
if (item.isVisible() != currentVisibility) { changed = true; item.setVisible(currentVisibility); if (item.isVisible() != currentVisibility) { changed = true; item.setVisible(currentVisibility);
if (item.isVisible() != currentVisibility) { changed = true; item.setVisible(currentVisibility); if (item.isVisible() != currentVisibility) { changed = true; item.setVisible(currentVisibility);
private void processGroups(String idContrib, ArrayList<MMenuContribution> contributions, IConfigurationElement element) { MMenuContribution menuContribution = MenuFactoryImpl.eINSTANCE.createMenuContribution(); menuContribution.setVisibleWhen(createVisibleWhen()); menuContribution.getTags().add(ContributionsAnalyzer.MC_MENU); menuContribution.getTags().add("scheme:menu"); //$NON-NLS-1$ final String elementId = MenuHelper.getId(element); if (idContrib != null && idContrib.length() > 0) { menuContribution.setElementId(idContrib + "/" + elementId + ".groups"); //$NON-NLS-1$ //$NON-NLS-2$ } else { menuContribution.setElementId(elementId + ".groups"); //$NON-NLS-1$ } menuContribution.setParentId(elementId); menuContribution.setPositionInParent("after=additions"); //$NON-NLS-1$ IConfigurationElement[] children = element.getChildren(); for (IConfigurationElement sepAddition : children) { String name = sepAddition.getAttribute(IWorkbenchRegistryConstants.ATT_NAME); String tag = sepAddition.getName(); MMenuElement sep = MenuFactoryImpl.eINSTANCE.createMenuSeparator(); sep.setElementId(name); if ("groupMarker".equals(tag)) { //$NON-NLS-1$ sep.setVisible(false); sep.getTags().add(MenuManagerRenderer.GROUP_MARKER); } menuContribution.getChildren().add(sep); } if (menuContribution.getChildren().size() > 0) { contributions.add(menuContribution); } }
/** * @param menuManager * @param element * @param evalContext */ public static void updateVisibility(MenuManager menuManager, MMenuElement element, ExpressionContext evalContext) { boolean current = element.isVisible(); boolean visible = true; boolean evaluated = false; if (element.getPersistedState().get(VISIBILITY_IDENTIFIER) != null) { evaluated = true; String identifier = element.getPersistedState().get(VISIBILITY_IDENTIFIER); Object rc = evalContext.eclipseContext.get(identifier); if (rc instanceof Boolean) { visible = ((Boolean) rc).booleanValue(); } } if (visible && element.getVisibleWhen() != null) { evaluated = true; visible = ContributionsAnalyzer.isVisible(element.getVisibleWhen(), evalContext); } if (evaluated && visible != current) { element.setVisible(visible); menuManager.markDirty(); } }
/** * @param menuManager * @param element * @param evalContext */ public static void updateVisibility(MenuManager menuManager, MMenuElement element, ExpressionContext evalContext) { boolean current = element.isVisible(); boolean visible = true; boolean evaluated = false; if (element.getPersistedState().get(VISIBILITY_IDENTIFIER) != null) { evaluated = true; String identifier = element.getPersistedState().get( VISIBILITY_IDENTIFIER); Object rc = evalContext.eclipseContext.get(identifier); if (rc instanceof Boolean) { visible = ((Boolean) rc).booleanValue(); } } if (visible && (element.getVisibleWhen() instanceof MCoreExpression)) { evaluated = true; visible = ContributionsAnalyzer.isVisible( (MCoreExpression) element.getVisibleWhen(), evalContext); } if (evaluated && visible != current) { element.setVisible(visible); menuManager.markDirty(); } }