Search in sources :

Example 16 with Usage

use of com.intellij.usages.Usage in project intellij-community by JetBrains.

the class RemoveUsageAction method process.

private static void process(@NotNull Usage[] usages, @NotNull UsageView usageView) {
    ApplicationManager.getApplication().assertIsDispatchThread();
    if (usages.length == 0)
        return;
    Arrays.sort(usages, UsageViewImpl.USAGE_COMPARATOR);
    final Usage nextToSelect = getNextToSelect(usageView, usages[usages.length - 1]);
    for (Usage usage : usages) {
        usageView.removeUsage(usage);
    }
    if (nextToSelect != null) {
        usageView.selectUsages(new Usage[] { nextToSelect });
    }
}
Also used : Usage(com.intellij.usages.Usage)

Example 17 with Usage

use of com.intellij.usages.Usage in project intellij-community by JetBrains.

the class DeclarationConflictChecker method showConflicts.

/**
   * Shows a panel with name redefinition conflicts, if needed.
   * @param project
   * @param conflicts what {@link #findDefinitions} would return
   * @param obscured name or its topmost qualifier that is obscured, used at top of pane.
   * @param name full name (maybe qualified) to show as obscured and display as qualifier in "would be" chunks.
   * @return true iff conflicts is not empty and the panel is shown.
   */
public static boolean showConflicts(Project project, List<Pair<PsiElement, PsiElement>> conflicts, String obscured, @Nullable String name) {
    if (conflicts.size() > 0) {
        Usage[] usages = new Usage[conflicts.size()];
        int i = 0;
        for (Pair<PsiElement, PsiElement> pair : conflicts) {
            usages[i] = new NameUsage(pair.getFirst(), pair.getSecond(), name != null ? name : obscured, name != null);
            i += 1;
        }
        UsageViewPresentation prsnt = new UsageViewPresentation();
        prsnt.setTabText(PyBundle.message("CONFLICT.name.$0.obscured", obscured));
        prsnt.setCodeUsagesString(PyBundle.message("CONFLICT.name.$0.obscured.cannot.convert", obscured));
        prsnt.setUsagesWord(PyBundle.message("CONFLICT.occurrence.sing"));
        prsnt.setUsagesString(PyBundle.message("CONFLICT.occurrence.pl"));
        UsageViewManager.getInstance(project).showUsages(UsageTarget.EMPTY_ARRAY, usages, prsnt);
        return true;
    }
    return false;
}
Also used : UsageViewPresentation(com.intellij.usages.UsageViewPresentation) Usage(com.intellij.usages.Usage) PsiElement(com.intellij.psi.PsiElement)

Aggregations

Usage (com.intellij.usages.Usage)17 VirtualFile (com.intellij.openapi.vfs.VirtualFile)5 NotNull (org.jetbrains.annotations.NotNull)5 Project (com.intellij.openapi.project.Project)4 PsiFile (com.intellij.psi.PsiFile)4 UsageInfo2UsageAdapter (com.intellij.usages.UsageInfo2UsageAdapter)4 RelativePoint (com.intellij.ui.awt.RelativePoint)3 SmartList (com.intellij.util.SmartList)3 AbstractTreeNode (com.intellij.ide.util.treeView.AbstractTreeNode)2 PsiElement (com.intellij.psi.PsiElement)2 UsageInfo (com.intellij.usageView.UsageInfo)2 Nullable (org.jetbrains.annotations.Nullable)2 CommonBundle (com.intellij.CommonBundle)1 com.intellij.find (com.intellij.find)1 ShowUsagesAction (com.intellij.find.actions.ShowUsagesAction)1 CustomUsageSearcher (com.intellij.find.findUsages.CustomUsageSearcher)1 FindUsagesOptions (com.intellij.find.findUsages.FindUsagesOptions)1 AllIcons (com.intellij.icons.AllIcons)1 FavoritesManager (com.intellij.ide.favoritesTreeView.FavoritesManager)1 AbstractUrl (com.intellij.ide.projectView.impl.AbstractUrl)1