@Override public void setUp() { _manager = new DefaultCommandManager(); }
private void initCommandManager() { commandManager = new DefaultCommandManager(); commandUIFactory = new DefaultCommandUIFactory(); commandUIFactory.setCommandManager(commandManager); commandMenuInserter = new DefaultCommandMenuInserter(commandManager); }
@Test public void testPlaceAtContextTop() { DefaultCommandManager manager = new DefaultCommandManager(); ExecCommand standardCommand1 = createCommand("com1", manager); ExecCommand standardCommand2 = createCommand("com2", manager); ExecCommand topCommand = createCommand("com3", manager); standardCommand1.setProperty(Command.ACTION_KEY_CONTEXT, "band"); standardCommand2.setProperty(Command.ACTION_KEY_CONTEXT, "band"); topCommand.setProperty(Command.ACTION_KEY_CONTEXT, "band"); topCommand.setPlaceAtContextTop(true); DefaultCommandUIFactory uiFactory = new DefaultCommandUIFactory(); uiFactory.setCommandManager(manager); JPopupMenu popup = new JPopupMenu(); uiFactory.addContextDependentMenuItems("band", popup); assertEquals(3, popup.getComponentCount()); String[] expectedOrder = new String[]{"com3", "com1", "com2",}; assertEquals(expectedOrder[0], popup.getComponent(0).getName()); assertEquals(expectedOrder[1], popup.getComponent(1).getName()); assertEquals(expectedOrder[2], popup.getComponent(2).getName()); }
@Test public void testAddContextDependingMenuItemsOnlyOneTime() { DefaultCommandManager manager = new DefaultCommandManager(); createCommand("com1", manager); createCommand("com2", manager); createCommand("com3", manager); manager.getCommandAt(0).setProperty(Command.ACTION_KEY_CONTEXT, "band"); manager.getCommandAt(1).setProperty(Command.ACTION_KEY_CONTEXT, new String[]{"band", "virtualBand"}); manager.getCommandAt(2).setProperty(Command.ACTION_KEY_CONTEXT, "virtualBand"); DefaultCommandUIFactory uiFactory = new DefaultCommandUIFactory(); uiFactory.setCommandManager(manager); JPopupMenu bandMenu = new JPopupMenu(); uiFactory.addContextDependentMenuItems("virtualBand", bandMenu); assertEquals(2, bandMenu.getComponentCount()); JPopupMenu virtualBandMenu = new JPopupMenu(); uiFactory.addContextDependentMenuItems("band", virtualBandMenu); assertEquals(2, virtualBandMenu.getComponentCount()); JPopupMenu bandAndVbMenu = new JPopupMenu(); uiFactory.addContextDependentMenuItems("band", bandAndVbMenu); uiFactory.addContextDependentMenuItems("virtualBand", bandAndVbMenu); assertEquals(3, bandAndVbMenu.getComponentCount()); }
@Test public void testAddContextDependingMenuItems() { DefaultCommandManager manager = new DefaultCommandManager(); createCommand("com1", manager); createCommand("com2", manager); createCommand("com3", manager); manager.getCommandAt(0).setProperty(Command.ACTION_KEY_CONTEXT, "image"); manager.getCommandAt(1).setProperty(Command.ACTION_KEY_CONTEXT, "notImage"); manager.getCommandAt(2).setProperty(Command.ACTION_KEY_CONTEXT, "image"); manager.getCommandAt(2).setEnabled(false); DefaultCommandUIFactory uiFactory = new DefaultCommandUIFactory(); uiFactory.setCommandManager(manager); JPopupMenu menu = uiFactory.addContextDependentMenuItems("image", new JPopupMenu()); assertEquals(2, menu.getComponentCount()); menu = uiFactory.addContextDependentMenuItems("notImage", new JPopupMenu()); assertEquals(1, menu.getComponentCount()); }