List of usage examples for com.intellij.openapi.ui.popup ListPopupStep ListPopupStep
ListPopupStep
From source file:com.mnr.java.intellij.idea.plugin.base64helper.MainActionHandler.java
License:Apache License
private ListPopupStep getStep(final Editor editor) { return new ListPopupStep() { @NotNull/*from w w w . j ava2 s .c om*/ @Override public List getValues() { return getPopupItems(); } @Override public boolean isSelectable(Object o) { return ((PopupItem) o).isSelectable(getEditorSelectedText(editor)); } @Nullable @Override public Icon getIconFor(Object o) { return null; } @NotNull @Override public String getTextFor(Object o) { return ((PopupItem) o).getText(); } @Nullable @Override public ListSeparator getSeparatorAbove(Object o) { if (o instanceof EncoderPopupItem) { return new ListSeparator(ENCODER_SEPARATOR_TITLE); } else if (o instanceof HexEncoderPopupItem) { return new ListSeparator(HEX_ENCODER_SEPARATOR_STRING); } return null; } @Override public int getDefaultOptionIndex() { return 0; } @Nullable @Override public String getTitle() { return POPUP_MENU_TITLE; } @Nullable @Override public PopupStep onChosen(final Object o, boolean b) { processSelection((PopupItem) o, editor); return null; } @Override public boolean hasSubstep(Object o) { return false; } @Override public void canceled() { } @Override public boolean isMnemonicsNavigationEnabled() { return false; } @Nullable @Override public MnemonicNavigationFilter getMnemonicNavigationFilter() { return null; } @Override public boolean isSpeedSearchEnabled() { return false; } @Nullable @Override public SpeedSearchFilter getSpeedSearchFilter() { return null; } @Override public boolean isAutoSelectionEnabled() { return false; } @Nullable @Override public Runnable getFinalRunnable() { return null; } }; }
From source file:org.intellij.erlang.quickfixes.ErlangFindIncludeQuickFix.java
License:Apache License
private static void displayPopupListDialog(final Project project, final PsiElement problem, final PsiFile[] files, final boolean setDirectHrlLink, final String includeString, final String includeFileName) { final Editor problemEditor = PsiUtilBase.findEditor(problem); if (problemEditor == null) { return;// w w w.j a v a2s . c o m } ListPopup p = JBPopupFactory.getInstance().createListPopup(new ListPopupStep() { @NotNull @Override public List getValues() { return Arrays.asList(files); } @Override public boolean isSelectable(Object o) { return true; } @Nullable @Override public Icon getIconFor(Object o) { return ErlangIcons.HEADER; } @NotNull @Override public String getTextFor(Object o) { //Uses relative path to project root if possible (if not - full path) VirtualFile f = ((PsiFile) o).getVirtualFile(); String projectRootRelativePath = VfsUtilCore.getRelativePath(f, project.getBaseDir(), INCLUDE_STRING_PATH_SEPARATOR); return projectRootRelativePath == null ? f.getPath() : projectRootRelativePath; } @Nullable @Override public ListSeparator getSeparatorAbove(Object o) { return null; } @Override public int getDefaultOptionIndex() { return 0; } @Nullable @Override public String getTitle() { return "Multiple files found"; } @Nullable @Override public PopupStep onChosen(Object o, boolean b) { final PsiFile f = (PsiFile) o; CommandProcessor.getInstance().executeCommand(project, () -> ApplicationManager.getApplication().runWriteAction(() -> { fixUsingIncludeFile(problem, f); renameIncludeString(project, problem, setDirectHrlLink, includeString, includeFileName); FileContentUtilCore .reparseFiles(Arrays.asList(problem.getContainingFile().getVirtualFile())); }), "add facet action(find include quick fix)", null, problemEditor.getDocument()); return null; } @Override public boolean hasSubstep(Object o) { return false; } @Override public void canceled() { } @Override public boolean isMnemonicsNavigationEnabled() { return false; } @Nullable @Override public MnemonicNavigationFilter getMnemonicNavigationFilter() { return null; } @Override public boolean isSpeedSearchEnabled() { return false; } @Nullable @Override public SpeedSearchFilter getSpeedSearchFilter() { return null; } @Override public boolean isAutoSelectionEnabled() { return false; } @Nullable @Override public Runnable getFinalRunnable() { return null; } }); p.showInBestPositionFor(problemEditor); }