private void refreshMenuPopup(JMenu menu) { try { if (menu.isPopupMenuVisible()) { menu.getPopupMenu().setVisible(false); menu.getPopupMenu().setVisible(true); } } catch (Exception e) { Luyten.showExceptionDialog("Exception!", e); } } }.start();
protected void maybeShowPopup(MouseEvent evt, Component comp) { if (evt != null && !SwingUtilities.isLeftMouseButton(evt)) { return; } JPopupMenu pm = popupMenu.getPopupMenu(); pm.show(comp, 0, comp.getHeight() - 1); searchTextField.setText(""); searchTextField.requestOriginalFocusOwner(); }
private Container getMenuItemContainer(Entry target) { final Container ancestorComponent = (Container) entryAccessor.getAncestorComponent(target); if(ancestorComponent instanceof JMenu) return ((JMenu)ancestorComponent).getPopupMenu(); else return ancestorComponent; }
protected JMenu createSystemMenu() { JMenu menu = new JMenu(" "); menu.getPopupMenu().setLightWeightPopupEnabled(false); return menu; } };
/** * Convenience method that calls the method {@code removeConsecutiveSeparators(JPopupMenu)} with the {@code JPopupMenu} of * the given {@code menu} as parameter. * * @param menu the menu whose consecutive separators will be removed * @see #removeConsecutiveSeparators(JPopupMenu) * @see JMenu#getPopupMenu() * @see javax.swing.JPopupMenu.Separator */ public static void removeConsecutiveSeparators(JMenu menu) { removeConsecutiveSeparators(menu.getPopupMenu()); }
/** * Convenience method that calls the method {@code removeTopSeparators(JPopupMenu)} with the {@code JPopupMenu} of the given * {@code menu} as parameter. * * @param menu the menu whose top separators will be removed * @see #removeTopSeparators(JPopupMenu) * @see JMenu#getPopupMenu() * @see javax.swing.JPopupMenu.Separator */ public static void removeTopSeparators(JMenu menu) { removeTopSeparators(menu.getPopupMenu()); }
/** * Convenience method that calls the method {@code removeTopAndBottomSeparators(JPopupMenu)} with the {@code JPopupMenu} of * the given {@code menu} as parameter. * * @param menu the menu whose top and bottom separators will be removed * @see #removeTopAndBottomSeparators(JPopupMenu) * @see JMenu#getPopupMenu() * @see javax.swing.JPopupMenu.Separator */ public static void removeTopAndBottomSeparators(JMenu menu) { removeTopAndBottomSeparators(menu.getPopupMenu()); }
public JSeparator createJSeparator() { JMenu menu = new JMenu(); menu.addSeparator(); return (JSeparator)menu.getPopupMenu().getComponent(0); }
@RunsInCurrentThread @Override @Nonnull public Collection<Component> nonExplicitChildrenOf(@Nonnull Container c) { if (!(c instanceof JMenu)) { return emptyList(); } return newArrayList((Component) ((JMenu) c).getPopupMenu()); } }
/** Gets popup menu. Overrides superclass. Adds lazy menu items creation. */ public JPopupMenu getPopupMenu() { JPopupMenu pm = super.getPopupMenu(); pm.removeAll(); pm.add(new AddNavigationRuleAction()); pm.add(new AddNavigationCaseAction()); pm.add(new JSeparator()); pm.add(new AddManagedBeanAction()); pm.pack(); return pm; } }
/** Adds a separator to the supplied menu. The separator will only be added, if the previous item is not a separator. */ protected void maybeAddSeparator(JMenu m) { JPopupMenu pm = m.getPopupMenu(); if (pm.getComponentCount() > 0 // && !(pm.getComponent(pm.getComponentCount() - 1) instanceof JSeparator)) { m.addSeparator(); } }
@Override public void acceleratorChanged(AFreeplaneAction action, KeyStroke oldStroke, KeyStroke newStroke) { for (Entry entry : entries.entries(action)) { Object component = new EntryAccessor().getComponent(entry); if (component instanceof JMenu) component = ((JMenu) component).getPopupMenu().getComponent(0); if (component instanceof JMenuItem) ((JMenuItem) component).setAccelerator(newStroke); } } }
private JMenuItem getFirstSubMenuItem(Entry entry) { JMenu menu = (JMenu) new EntryAccessor().getComponent(entry); final JMenuItem menuItem = (JMenuItem) menu.getPopupMenu().getComponent(0); return menuItem; }
@Test public void createsMenuItemWithSelectableAction() { menuEntry.addChild(actionEntry); when(action.isSelectable()).thenReturn(true); new EntryAccessor().setComponent(menuEntry, menu); menuActionGroupBuilder.visit(actionEntry); JAutoCheckBoxMenuItem item = (JAutoCheckBoxMenuItem)new EntryAccessor().getComponent(actionEntry); final AccelerateableAction itemAction = (AccelerateableAction) item.getAction(); assertThat(itemAction.getOriginalAction(), CoreMatchers.<Action> equalTo(action)); assertThat(item.getParent(), CoreMatchers.<Container>equalTo(menu.getPopupMenu())); }
@Test public void whenPopupMenuBecomesVisible_itsOwnPopupListenerIsCalled() { menuEntry.addChild(actionEntry); menuActionGroupBuilder.visit(menuEntry); JMenu item = (JMenu)new EntryAccessor().getComponent(menuEntry); item.getPopupMenu().setVisible(true); verify(popupListener).childEntriesWillBecomeVisible(menuEntry); }
@Test public void whenPopupMenuBecomesVisible_itsChildActionPopupListenerIsCalled() { menuEntry.addChild(actionEntry); menuActionGroupBuilder.visit(menuEntry); JMenu item = (JMenu) new EntryAccessor().getComponent(menuEntry); item.getPopupMenu().setVisible(true); verify(popupListener).childEntriesWillBecomeVisible(actionEntry); }
@Test public void whenPopupMenuBecomesVisible_itsChildGroupPopupListenerIsCalled() { menuEntry.addChild(groupEntry); menuActionGroupBuilder.visit(menuEntry); JMenu menu = (JMenu) new EntryAccessor().getComponent(menuEntry); menu.getPopupMenu().setVisible(true); verify(popupListener).childEntriesWillBecomeVisible(groupEntry); }
@Test public void createsMenuSeparator() { new EntryAccessor().setComponent(menuEntry, menu); Entry separatorEntry = new Entry(); separatorEntry.setBuilders(asList("separator")); menuEntry.addChild(separatorEntry); menuActionGroupBuilder.visit(separatorEntry); JPopupMenu.Separator separator = (JPopupMenu.Separator)new EntryAccessor().getComponent(separatorEntry); assertThat(separator.getParent(), CoreMatchers.<Container>equalTo(menu.getPopupMenu())); }
@Test public void createsSubmenuWithoutAction() { Entry parentMenuEntry = new Entry(); final JMenu parentMenu = new JMenu(); new EntryAccessor().setComponent(parentMenuEntry, parentMenu); parentMenuEntry.addChild(menuEntry); menuEntry.addChild(actionEntry); menuActionGroupBuilder.visit(menuEntry); JMenu item = (JMenu)new EntryAccessor().getComponent(menuEntry); assertThat(item.getParent(), CoreMatchers.<Container>equalTo(parentMenu.getPopupMenu())); }
@Test public void createsMenuButtonWithAction() { new EntryAccessor().setComponent(menuEntry, menu); menuEntry.addChild(actionEntry); menuActionGroupBuilder.visit(actionEntry); JMenuItem item = (JMenuItem)new EntryAccessor().getComponent(actionEntry); assertThatMenuItemHasCorrectAction(item); assertThat(item.getParent(), CoreMatchers.<Container>equalTo(menu.getPopupMenu())); }