@Override public Object getDefaultPresentationId() { if (presentations == null) { return null; } Presentation def = presentations.getDefault(); return def == null ? null : def.getId(); }
@Override public void defaultPresentationChanged(Presentations presentations, Object oldPresentationId) { if (presentationsMenuMap != null) { if (oldPresentationId != null) { if (oldPresentationId instanceof Presentation) oldPresentationId = ((Presentation) oldPresentationId).getId(); com.vaadin.ui.MenuBar.MenuItem lastMenuItem = presentationsMenuMap.get(oldPresentationId); if (lastMenuItem != null) removeDefaultItemStyle(lastMenuItem); } Presentation defaultPresentation = presentations.getDefault(); if (defaultPresentation != null) { com.vaadin.ui.MenuBar.MenuItem menuItem = presentationsMenuMap.get(defaultPresentation.getId()); if (menuItem != null) setDefaultItemStyle(menuItem); } } } });
protected void buildPresentationsList() { menuBar.removeItems(); presentationsMenuMap = new HashMap<>(); Presentations p = table.getPresentations(); for (Object presId : p.getPresentationIds()) { MenuBar.MenuItem item = menuBar.addItem( defaultString(p.getCaption(presId)), selectedItem -> table.applyPresentation(presId) ); Presentation current = p.getCurrent(); if (current != null && presId.equals(current.getId())) { setCurrentItemStyle(item); } Presentation defaultPresentation = p.getDefault(); if (defaultPresentation != null && presId.equals(defaultPresentation.getId())) { setDefaultItemStyle(item); } presentationsMenuMap.put(presId, item); } }