public void setEnabled(final boolean enabled) { setItemEnabled(ClearSessionCommand.class, enabled); setItemEnabled(VisitGraphSessionCommand.class, enabled); setItemEnabled(SwitchGridSessionCommand.class, enabled); setItemEnabled(ValidateSessionCommand.class, enabled); setItemEnabled(ExportToJpgSessionCommand.class, enabled); setItemEnabled(ExportToPngSessionCommand.class, enabled); setItemEnabled(ExportToSvgSessionCommand.class, enabled); setItemEnabled(ExportToPdfSessionCommand.class, enabled); setItemEnabled(ExportToBpmnSessionCommand.class, enabled); setItemEnabled(DeleteSelectionSessionCommand.class, false); setItemEnabled(UndoSessionCommand.class, false); setItemEnabled(RedoSessionCommand.class, false); setItemEnabled(CopySelectionSessionCommand.class, false); setItemEnabled(CutSelectionSessionCommand.class, false); setItemEnabled(PasteSelectionSessionCommand.class, false); }
@Override public void enterGraphView() { commandStates.entrySet().forEach(entry -> { final Class<? extends ClientSessionCommand> command = entry.getKey(); projectEditorMenuSessionItems.setItemEnabled(command, entry.getValue()); }); } }
@Override public void enterGridView() { commandStates.entrySet().forEach(entry -> { final Class<? extends ClientSessionCommand> command = entry.getKey(); entry.setValue(projectEditorMenuSessionItems.isItemEnabled(command)); projectEditorMenuSessionItems.setItemEnabled(command, false); }); }
@Test public void testEnableItemWithRegisteredMenuItem() { final MenuItem clearMenuItem = mock(MenuItem.class); when(itemsBuilder.newClearItem(any(Command.class))).thenReturn(clearMenuItem); editorMenuSessionItems.populateMenu(fileMenuBuilder); editorMenuSessionItems.setItemEnabled(ClearSessionCommand.class, true); verify(clearMenuItem).setEnabled(true); editorMenuSessionItems.setItemEnabled(ClearSessionCommand.class, false); verify(clearMenuItem).setEnabled(false); }
@Test public void testIsEnabledWithRegisteredMenuItem() { final MenuItem menuItem = new BaseMenuCustom<String>() { @Override public String build() { return ""; } }; when(itemsBuilder.newClearItem(any(Command.class))).thenReturn(menuItem); editorMenuSessionItems.populateMenu(fileMenuBuilder); editorMenuSessionItems.setItemEnabled(ClearSessionCommand.class, true); assertTrue(menuItem.isEnabled()); editorMenuSessionItems.setItemEnabled(ClearSessionCommand.class, false); assertFalse(menuItem.isEnabled()); }
@Test public void testEnableItemWithUnknownMenuItem() { editorMenuSessionItems.populateMenu(fileMenuBuilder); try { editorMenuSessionItems.setItemEnabled(ClientSessionCommand.class, true); } catch (Exception e) { fail(e); } }