@Override public void onClick(ClickEvent event) { menu.show(icon.getElement(), new Style.AnchorAlignment(Style.Anchor.TOP, Style.Anchor.BOTTOM)); } });
@Override public void onClick(ClickEvent event) { menu.show(icon.getElement(), new Style.AnchorAlignment(Style.Anchor.TOP, Style.Anchor.BOTTOM)); } });
private void showMenu(Element element, MeasureListItem item) { MeasureModel measure = item.getModel(); Menu contextMenu = new Menu(); // Edit the alias MenuItem editLabel = new MenuItem(); editLabel.setText("Edit Label..."); editLabel.addSelectionHandler(event -> editLabel(measure)); contextMenu.add(editLabel); // Edit the formula... MenuItem editFormula = new MenuItem(); editFormula.setText("Edit Formula..."); editFormula.addSelectionHandler(event -> editFormula(measure)); contextMenu.add(editFormula); contextMenu.add(new SeparatorMenuItem()); // Choose the aggregation for (Statistic statistic : Statistic.values()) { CheckMenuItem aggregationItem = new CheckMenuItem(statistic.getLabel()); aggregationItem.setChecked(measure.getStatistics().contains(statistic)); aggregationItem.addCheckChangeHandler(event -> updateStatistic(measure, statistic, event.getChecked())); contextMenu.add(aggregationItem); } contextMenu.add(new SeparatorMenuItem()); // Remove the dimension MenuItem remove = new MenuItem(); remove.setText(I18N.CONSTANTS.remove()); remove.addSelectionHandler(event -> removeMeasure(measure.getId())); contextMenu.add(remove); contextMenu.show(element, new Style.AnchorAlignment(Style.Anchor.BOTTOM, Style.Anchor.BOTTOM, true)); }
public SystemMenu(AppCache appCache) { MenuItem versionItem = new MenuItem(); versionItem.setText(I18N.CONSTANTS.appVersion() + " " + appCache.getCurrentVersion()); versionItem.setHideOnClick(false); appCacheStatusItem = new MenuItem(); appCacheStatusItem.addSelectionHandler(this::loadUpdatedAppCache); MenuItem logoutItem = new MenuItem(); logoutItem.setText(I18N.CONSTANTS.logout()); logoutItem.addSelectionHandler(this::logout); Menu menu = new Menu(); menu.add(versionItem); menu.add(appCacheStatusItem); menu.add(new SeparatorMenuItem()); menu.add(logoutItem); icon = new InlineHTML(ChromeBundle.BUNDLE.settingsIcon().getText()); icon.addStyleName(ChromeBundle.BUNDLE.style().appBarButton()); icon.addClickHandler(event -> menu.show(icon.getElement(), new Style.AnchorAlignment(Style.Anchor.TOP, Style.Anchor.BOTTOM))); icon.addClickHandler(event -> appCache.checkForUpdates()); appCache.getStatus().subscribe(this::updateAppCacheView); }
contextMenu.show(element, new Style.AnchorAlignment(Style.Anchor.BOTTOM, Style.Anchor.BOTTOM, true));