public LocaleSelector() { Menu menu = new Menu(); for (final ApplicationLocale applicationLocale : ApplicationLocale.values()) { CheckMenuItem menuItem = new CheckMenuItem(applicationLocale.getLocalizedName()); menuItem.setChecked(isCurrent(applicationLocale)); menuItem.setGroup("lang"); menuItem.addSelectionHandler(selectionEvent -> switchLocale(applicationLocale)); menu.add(menuItem); } String currentLocaleCode = LocaleInfo.getCurrentLocale().getLocaleName().toUpperCase(); icon = new HTML(); icon.addStyleName(ChromeBundle.BUNDLE.style().localeIcon()); icon.addStyleName(ChromeBundle.BUNDLE.style().appBarButton()); icon.setText(currentLocaleCode); icon.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { menu.show(icon.getElement(), new Style.AnchorAlignment(Style.Anchor.TOP, Style.Anchor.BOTTOM)); } }); }
for (DateLevel dateLevel : DateLevel.values()) { CheckMenuItem item = new CheckMenuItem(dateLevel.getLabel()); item.setChecked(currentLevel == dateLevel); item.addSelectionHandler(event -> updateDateLevel(dim, dateLevel)); contextMenu.add(item); totalsItem.setChecked(dim.getModel().getTotals()); totalsItem.addCheckChangeHandler(event -> updateTotals(dim, event.getChecked())); totalsItem.setEnabled(canTotal); missingItem.setChecked(dim.getModel().getMissingIncluded()); missingItem.addCheckChangeHandler(event -> updateMissing(dim, event.getChecked())); missingItem.setEnabled(canTotal); percentagesItem.setChecked(dim.getModel().getPercentage()); percentagesItem.addCheckChangeHandler(event -> updatePercentages(dim, event.getChecked())); percentagesItem.setEnabled(canTotal);
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)); }