List of usage examples for com.intellij.openapi.ui.popup ComponentPopupBuilder createPopup
@NotNull JBPopup createPopup();
From source file:com.google.cloud.tools.intellij.login.ui.GoogleLoginAction.java
License:Apache License
/** * Opens up the Google Login panel as a popup. *//*from ww w . j av a 2 s . co m*/ private static void showPopup(AnActionEvent event) { GoogleLoginUsersPanel usersPanel = new GoogleLoginUsersPanel(); JComponent source = (JComponent) event.getInputEvent().getSource(); ComponentPopupBuilder popupBuilder = JBPopupFactory.getInstance().createComponentPopupBuilder(usersPanel, usersPanel.getList()); JBPopup popup = popupBuilder.createPopup(); JComponent component = popup.getContent(); int startingPoint = (int) (source.getWidth() - component.getPreferredSize().getWidth()); popup.show(new RelativePoint(source, new Point(startingPoint, source.getHeight() - 1))); }
From source file:com.google.cloud.tools.intellij.resources.ProjectSelector.java
License:Apache License
@Override public void showPopup(RelativePoint showTarget) { if (popup == null || popup.isDisposed()) { popupPanel = new PopupPanel(); popupPanel.initializeContent(getText()); ComponentPopupBuilder popup = JBPopupFactory.getInstance().createComponentPopupBuilder(popupPanel, popupPanel.getInitialFocus()); this.popup = popup.createPopup(); }/*from w w w . ja v a 2s .c om*/ if (!popup.isVisible()) { popup.show(showTarget); } }
From source file:com.google.cloud.tools.intellij.resources.RepositorySelector.java
License:Open Source License
@Override public void showPopup(RelativePoint showTarget) { if (user != null) { if (popup == null || popup.isDisposed()) { panel = new RepositoryPanel(); ComponentPopupBuilder popupBuilder = JBPopupFactory.getInstance().createComponentPopupBuilder(panel, null);//from w ww . ja v a 2s .c o m popup = popupBuilder.createPopup(); } if (!popup.isVisible()) { popup.show(showTarget); } } else { panel = new ProjectNotSelectedPanel(); ComponentPopupBuilder popupBuilder = JBPopupFactory.getInstance().createComponentPopupBuilder(panel, null); popup = popupBuilder.createPopup(); popup.show(showTarget); } }
From source file:com.google.cloud.tools.intellij.resources.UserSelector.java
License:Apache License
@Override public void showPopup(RelativePoint showTarget) { if (popup == null || popup.isDisposed()) { PopupPanel popupPanel = new PopupPanel(); popupPanel.initializeContent(getText()); ComponentPopupBuilder popup = JBPopupFactory.getInstance().createComponentPopupBuilder(popupPanel, popupPanel.getInitialFocus()); this.popup = popup.createPopup(); }/*from w w w. j a v a2 s. c o m*/ if (!popup.isVisible()) { popup.show(showTarget); } }
From source file:com.google.gct.idea.elysium.ProjectSelector.java
License:Apache License
@Override public void showPopup(RelativePoint showTarget) { if (myJBPopup == null || myJBPopup.isDisposed()) { myPopupPanel = new PopupPanel(); myPopupPanel.initializeContent(getText()); ComponentPopupBuilder popup = JBPopupFactory.getInstance().createComponentPopupBuilder(myPopupPanel, myPopupPanel.getInitialFocus()); myJBPopup = popup.createPopup(); }/*from ww w. j a v a2 s . c o m*/ if (!myJBPopup.isVisible()) { myJBPopup.show(showTarget); } }
From source file:com.google.gct.idea.elysium.UserSelector.java
License:Apache License
@Override public void showPopup(RelativePoint showTarget) { if (myPopup == null || myPopup.isDisposed()) { PopupPanel popupPanel = new PopupPanel(); popupPanel.initializeContent(getText()); ComponentPopupBuilder popup = JBPopupFactory.getInstance().createComponentPopupBuilder(popupPanel, popupPanel.getInitialFocus()); myPopup = popup.createPopup(); }//from w ww . ja va 2s.co m if (!myPopup.isVisible()) { myPopup.show(showTarget); } }
From source file:com.google.gct.login.ui.GoogleLoginAction.java
License:Apache License
/** * Opens up the Google Login panel as a popup. *///from ww w. j a v a 2 s . c o m private static void showPopup(AnActionEvent e) { GoogleLoginUsersPanel usersPanel = new GoogleLoginUsersPanel(); JComponent source = (JComponent) e.getInputEvent().getSource(); ComponentPopupBuilder popupBuilder = JBPopupFactory.getInstance().createComponentPopupBuilder(usersPanel, usersPanel.getList()); JBPopup popup = popupBuilder.createPopup(); JComponent component = popup.getContent(); int startingPoint = (int) (source.getWidth() - component.getPreferredSize().getWidth()); popup.show(new RelativePoint(source, new Point(startingPoint, source.getHeight() - 1))); }
From source file:com.intellij.ide.favoritesTreeView.TaskDefaultFavoriteListProvider.java
License:Apache License
private void showNotePopup(Project project, final DnDAwareTree tree, final Consumer<String> after, final String initText) { final JTextArea textArea = new JTextArea(3, 50); textArea.setFont(UIUtil.getTreeFont()); textArea.setText(initText);//from w w w . jav a 2 s . c o m final JBScrollPane pane = new JBScrollPane(textArea); final ComponentPopupBuilder builder = JBPopupFactory.getInstance() .createComponentPopupBuilder(pane, textArea).setCancelOnClickOutside(true) .setAdText(KeymapUtil.getShortcutsText(CommonShortcuts.CTRL_ENTER.getShortcuts()) + " to finish") .setTitle("Comment").setMovable(true).setRequestFocus(true).setResizable(true).setMayBeParent(true); final JBPopup popup = builder.createPopup(); final JComponent content = popup.getContent(); final AnAction action = new AnAction() { @Override public void actionPerformed(AnActionEvent e) { popup.closeOk(e.getInputEvent()); unregisterCustomShortcutSet(content); after.consume(textArea.getText()); } }; action.registerCustomShortcutSet(CommonShortcuts.CTRL_ENTER, content); ApplicationManager.getApplication().invokeLater(new Runnable() { @Override public void run() { popup.showInCenterOf(tree); } }, ModalityState.NON_MODAL, project.getDisposed()); }
From source file:com.intellij.ide.util.gotoByName.ChooseByNameBase.java
License:Apache License
protected void showTextFieldPanel() { final JLayeredPane layeredPane = getLayeredPane(); final Dimension preferredTextFieldPanelSize = myTextFieldPanel.getPreferredSize(); final int x = (layeredPane.getWidth() - preferredTextFieldPanelSize.width) / 2; final int paneHeight = layeredPane.getHeight(); final int y = paneHeight / 3 - preferredTextFieldPanelSize.height / 2; VISIBLE_LIST_SIZE_LIMIT = Math.max(10, (paneHeight - (y + preferredTextFieldPanelSize.height)) / (preferredTextFieldPanelSize.height / 2) - 1);//from www . j a va2 s . c o m ComponentPopupBuilder builder = JBPopupFactory.getInstance().createComponentPopupBuilder(myTextFieldPanel, myTextField); builder.setCancelCallback(new Computable<Boolean>() { @Override public Boolean compute() { myTextPopup = null; close(false); return Boolean.TRUE; } }).setFocusable(true).setRequestFocus(true).setModalContext(false).setCancelOnClickOutside(false); Point point = new Point(x, y); SwingUtilities.convertPointToScreen(point, layeredPane); Rectangle bounds = new Rectangle(point, new Dimension(preferredTextFieldPanelSize.width + 20, preferredTextFieldPanelSize.height)); myTextPopup = builder.createPopup(); myTextPopup.setSize(bounds.getSize()); myTextPopup.setLocation(bounds.getLocation()); new MnemonicHelper().register(myTextFieldPanel); if (myProject != null && !myProject.isDefault()) { DaemonCodeAnalyzer.getInstance(myProject).disableUpdateByTimer(myTextPopup); } Disposer.register(myTextPopup, new Disposable() { @Override public void dispose() { cancelListUpdater(); } }); myTextPopup.show(layeredPane); if (myTextPopup instanceof AbstractPopup) { Window window = ((AbstractPopup) myTextPopup).getPopupWindow(); if (window instanceof JDialog) { ((JDialog) window).getRootPane().putClientProperty(WindowAction.NO_WINDOW_ACTIONS, Boolean.TRUE); } } }
From source file:com.intellij.ide.util.gotoByName.ChooseByNamePopup.java
License:Apache License
@Override protected void showList() { final JLayeredPane layeredPane = myTextField.getRootPane().getLayeredPane(); Rectangle bounds = new Rectangle(myTextFieldPanel.getLocationOnScreen(), myTextField.getSize()); bounds.y += myTextFieldPanel.getHeight() + (SystemInfo.isMac ? 3 : 1); final Dimension preferredScrollPaneSize = myListScrollPane.getPreferredSize(); if (myList.getModel().getSize() == 0) { preferredScrollPaneSize.height = UIManager.getFont("Label.font").getSize(); }/*from ww w. j av a 2s . c o m*/ preferredScrollPaneSize.width = Math.max(myTextFieldPanel.getWidth(), preferredScrollPaneSize.width); Rectangle preferredBounds = new Rectangle(bounds.x, bounds.y, preferredScrollPaneSize.width, preferredScrollPaneSize.height); Rectangle original = new Rectangle(preferredBounds); ScreenUtil.fitToScreen(preferredBounds); if (original.width > preferredBounds.width) { int height = myListScrollPane.getHorizontalScrollBar().getPreferredSize().height; preferredBounds.height += height; } myListScrollPane.setVisible(true); myListScrollPane.setBorder(null); String adText = getAdText(); if (myDropdownPopup == null) { ComponentPopupBuilder builder = JBPopupFactory.getInstance() .createComponentPopupBuilder(myListScrollPane, myListScrollPane); builder.setFocusable(false).setRequestFocus(false).setCancelKeyEnabled(false) .setFocusOwners(new JComponent[] { myTextField }).setBelongsToGlobalPopupStack(false) .setModalContext(false).setAdText(adText).setMayBeParent(true); builder.setCancelCallback(new Computable<Boolean>() { @Override public Boolean compute() { return Boolean.TRUE; } }); myDropdownPopup = builder.createPopup(); myDropdownPopup.setLocation(preferredBounds.getLocation()); myDropdownPopup.setSize(preferredBounds.getSize()); myDropdownPopup.show(layeredPane); } else { myDropdownPopup.setLocation(preferredBounds.getLocation()); // in 'focus follows mouse' mode, to avoid focus escaping to editor, don't reduce popup size when list size is reduced final Dimension currentSize = myDropdownPopup.getSize(); if (UISettings.getInstance().HIDE_NAVIGATION_ON_FOCUS_LOSS || preferredBounds.width > currentSize.width || preferredBounds.height > currentSize.height) { myDropdownPopup.setSize(preferredBounds.getSize()); } } }