Example usage for com.intellij.openapi.wm ToolWindowId FIND

List of usage examples for com.intellij.openapi.wm ToolWindowId FIND

Introduction

In this page you can find the example usage for com.intellij.openapi.wm ToolWindowId FIND.

Prototype

String FIND

To view the source code for com.intellij.openapi.wm ToolWindowId FIND.

Click Source Link

Usage

From source file:com.intellij.refactoring.typeMigration.TypeMigrationProcessor.java

License:Apache License

@Override
protected void previewRefactoring(final UsageInfo[] usages) {
    MigrationPanel panel = new MigrationPanel(myRoot[0], myLabeler, myProject, isPreviewUsages());
    String text;// ww  w  .j  a  va2  s  .  c om
    if (myRoot[0] instanceof PsiField) {
        text = "field \'" + ((PsiField) myRoot[0]).getName() + "\'";
    } else if (myRoot[0] instanceof PsiParameter) {
        text = "parameter \'" + ((PsiParameter) myRoot[0]).getName() + "\'";
    } else if (myRoot[0] instanceof PsiLocalVariable) {
        text = "variable \'" + ((PsiLocalVariable) myRoot[0]).getName() + "\'";
    } else if (myRoot[0] instanceof PsiMethod) {
        text = "method \'" + ((PsiMethod) myRoot[0]).getName() + "\' return";
    } else {
        text = Arrays.toString(myRoot);
    }
    Content content = UsageViewManager.getInstance(myProject).addContent("Migrate Type of " + text + " from \'"
            + TypeMigrationLabeler.getElementType(myRoot[0]).getPresentableText() + "\' to \'"
            + myRules.getMigrationRootType().getPresentableText() + "\'", false, panel, true, true);
    panel.setContent(content);
    ToolWindowManager.getInstance(myProject).getToolWindow(ToolWindowId.FIND).activate(null);
}

From source file:com.intellij.usages.impl.SearchForUsagesRunnable.java

License:Apache License

private static void notifyByFindBalloon(@Nullable final HyperlinkListener listener,
        @NotNull final MessageType info, @NotNull FindUsagesProcessPresentation processPresentation,
        @NotNull final Project project, @NotNull final List<String> lines) {
    com.intellij.usageView.UsageViewManager.getInstance(project); // in case tool window not registered

    final Collection<PsiFile> largeFiles = processPresentation.getLargeFiles();
    List<String> resultLines = new ArrayList<String>(lines);
    HyperlinkListener resultListener = listener;
    if (!largeFiles.isEmpty()) {
        String shortMessage = "(<a href='" + LARGE_FILES_HREF_TARGET + "'>"
                + UsageViewBundle.message("large.files.were.ignored", largeFiles.size()) + "</a>)";

        resultLines.add(shortMessage);//from  ww  w . jav  a 2 s. c  om
        resultListener = addHrefHandling(resultListener, LARGE_FILES_HREF_TARGET, new Runnable() {
            @Override
            public void run() {
                String detailedMessage = detailedLargeFilesMessage(largeFiles);
                List<String> strings = new ArrayList<String>(lines);
                strings.add(detailedMessage);
                //noinspection SSBasedInspection
                ToolWindowManager.getInstance(project).notifyByBalloon(ToolWindowId.FIND, info,
                        wrapInHtml(strings), AllIcons.Actions.Find, listener);
            }
        });
    }

    Runnable searchIncludingProjectFileUsages = processPresentation.searchIncludingProjectFileUsages();
    if (searchIncludingProjectFileUsages != null) {
        resultLines.add("Occurrences in " + ApplicationNamesInfo.getInstance().getProductName()
                + " project files are skipped. " + "<a href='" + SHOW_PROJECT_FILE_OCCURRENCES_HREF_TARGET
                + "'>Include them</a>");
        resultListener = addHrefHandling(resultListener, SHOW_PROJECT_FILE_OCCURRENCES_HREF_TARGET,
                searchIncludingProjectFileUsages);
    }

    //noinspection SSBasedInspection
    ToolWindowManager.getInstance(project).notifyByBalloon(ToolWindowId.FIND, info, wrapInHtml(resultLines),
            AllIcons.Actions.Find, resultListener);
}

From source file:com.intellij.usages.impl.SearchForUsagesRunnable.java

License:Apache License

private void searchUsages(@NotNull final AtomicBoolean findStartedBalloonShown) {
    ProgressIndicator indicator = ProgressWrapper.unwrap(ProgressManager.getInstance().getProgressIndicator());
    assert indicator != null : "must run find usages under progress";
    TooManyUsagesStatus.createFor(indicator);
    Alarm findUsagesStartedBalloon = new Alarm();
    findUsagesStartedBalloon.addRequest(new Runnable() {
        @Override/*from w w  w.j  av  a  2  s . c  om*/
        public void run() {
            notifyByFindBalloon(null, MessageType.WARNING, myProcessPresentation, myProject,
                    Collections.singletonList(
                            StringUtil.escapeXml(UsageViewManagerImpl.getProgressTitle(myPresentation))));
            findStartedBalloonShown.set(true);
        }
    }, 300, ModalityState.NON_MODAL);
    UsageSearcher usageSearcher = mySearcherFactory.create();

    usageSearcher.generate(new Processor<Usage>() {
        @Override
        public boolean process(final Usage usage) {
            ProgressIndicator indicator = ProgressWrapper
                    .unwrap(ProgressManager.getInstance().getProgressIndicator());
            assert indicator != null : "must run find usages under progress";
            if (indicator.isCanceled())
                return false;

            if (!UsageViewManagerImpl.isInScope(usage, mySearchScopeToWarnOfFallingOutOf)) {
                myOutOfScopeUsages.incrementAndGet();
                return true;
            }

            boolean incrementCounter = !UsageViewManager.isSelfUsage(usage, mySearchFor);

            if (incrementCounter) {
                final int usageCount = myUsageCountWithoutDefinition.incrementAndGet();
                if (usageCount == 1 && !myProcessPresentation.isShowPanelIfOnlyOneUsage()) {
                    myFirstUsage.compareAndSet(null, usage);
                }

                final UsageViewImpl usageView = getUsageView(indicator);

                TooManyUsagesStatus tooManyUsagesStatus;
                if (usageCount > UsageLimitUtil.USAGES_LIMIT
                        && (tooManyUsagesStatus = TooManyUsagesStatus.getFrom(indicator))
                                .switchTooManyUsagesStatus()) {
                    UsageViewManagerImpl.showTooManyUsagesWarning(myProject, tooManyUsagesStatus, indicator,
                            myPresentation, usageCount, usageView);
                }

                if (usageView != null) {
                    ApplicationManager.getApplication().runReadAction(new Runnable() {
                        @Override
                        public void run() {
                            usageView.appendUsage(usage);
                        }
                    });
                }
            }
            return !indicator.isCanceled();
        }
    });
    if (getUsageView(indicator) != null) {
        ApplicationManager.getApplication().invokeLater(new Runnable() {
            @Override
            public void run() {
                myUsageViewManager.showToolWindow(true);
            }
        }, myProject.getDisposed());
    }
    Disposer.dispose(findUsagesStartedBalloon);
    ApplicationManager.getApplication().invokeLater(new Runnable() {
        @Override
        public void run() {
            if (findStartedBalloonShown.get()) {
                Balloon balloon = ToolWindowManager.getInstance(myProject)
                        .getToolWindowBalloon(ToolWindowId.FIND);
                if (balloon != null) {
                    balloon.hide();
                }
            }
        }
    }, myProject.getDisposed());
}

From source file:com.intellij.usages.impl.UsageViewManagerImpl.java

License:Apache License

void showToolWindow(boolean activateWindow) {
    ToolWindow toolWindow = ToolWindowManager.getInstance(myProject).getToolWindow(ToolWindowId.FIND);
    toolWindow.show(null);/*from   w  w  w.jav a  2s  . c  o m*/
    if (activateWindow && !toolWindow.isActive()) {
        toolWindow.activate(null);
    }
}

From source file:com.intellij.usageView.impl.UsageViewManagerImpl.java

License:Apache License

public UsageViewManagerImpl(final Project project, final ToolWindowManager toolWindowManager) {
    ToolWindow toolWindow = toolWindowManager.registerToolWindow(ToolWindowId.FIND, true,
            ToolWindowAnchor.BOTTOM, project, true);
    toolWindow.setToHideOnEmptyContent(true);
    toolWindow.setIcon(AllIcons.Toolwindows.ToolWindowFind);
    myFindContentManager = toolWindow.getContentManager();
    myFindContentManager.addContentManagerListener(new ContentManagerAdapter() {
        @Override//  w  w w.ja  v a 2s .co m
        public void contentRemoved(ContentManagerEvent event) {
            event.getContent().release();
        }
    });
    new ContentManagerWatcher(toolWindow, myFindContentManager);
}

From source file:com.intellij.usageView.UsageContextDataflowToPanel.java

License:Apache License

@NotNull
protected JComponent createPanel(@NotNull PsiElement element, final boolean dataFlowToThis) {
    ToolWindow toolWindow = ToolWindowManager.getInstance(myProject).getToolWindow(ToolWindowId.FIND);
    SliceAnalysisParams params = createParams(element, dataFlowToThis);

    SliceRootNode rootNode = new SliceRootNode(myProject, new DuplicateMap(),
            SliceUsage.createRootUsage(element, params));

    return new SlicePanel(myProject, dataFlowToThis, rootNode, false, toolWindow) {
        @Override//from w ww  . j  a  va  2 s. com
        public boolean isToShowAutoScrollButton() {
            return false;
        }

        @Override
        public boolean isToShowPreviewButton() {
            return false;
        }

        @Override
        public boolean isToShowCloseButton() {
            return false;
        }

        @Override
        public boolean isAutoScroll() {
            return false;
        }

        @Override
        public void setAutoScroll(boolean autoScroll) {
        }

        @Override
        public boolean isPreview() {
            return false;
        }

        @Override
        public void setPreview(boolean preview) {
        }
    };
}

From source file:org.intellij.plugins.xpathView.eval.EvalExpressionDialog.java

License:Apache License

protected void init() {
    final ToolWindow findWindow = ToolWindowManager.getInstance(myProject).getToolWindow(ToolWindowId.FIND);
    final boolean available = findWindow != null && findWindow.isAvailable();
    final boolean enabled = mySettings.OPEN_NEW_TAB && available;

    myForm.getNewTabCheckbox().setEnabled(available);
    myForm.getNewTabCheckbox().setSelected(enabled);

    myForm.getHighlightCheckbox().setSelected(mySettings.HIGHLIGHT_RESULTS);
    myForm.getHighlightCheckbox().addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            updateOkAction();//  w  ww  .  j  a v a 2  s. c  o m
        }
    });
    myForm.getUsageViewCheckbox().setSelected(mySettings.SHOW_USAGE_VIEW);
    myForm.getUsageViewCheckbox().addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            myForm.getNewTabCheckbox().setEnabled(available && myForm.getUsageViewCheckbox().isSelected());
            updateOkAction();
        }
    });

    super.init();
}

From source file:org.intellij.plugins.xpathView.search.FindByExpressionDialog.java

License:Apache License

protected void init() {
    final ToolWindow findWindow = ToolWindowManager.getInstance(myProject).getToolWindow(ToolWindowId.FIND);
    final boolean available = findWindow != null && findWindow.isAvailable();
    final boolean enabled = mySettings.OPEN_NEW_TAB && available;

    myForm.getNewTabCheckbox().setEnabled(available);
    myForm.getNewTabCheckbox().setSelected(enabled);

    myForm.getScopePanel().addPropertyChangeListener("scope", new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            updateOkAction();//from  w ww.  j a va 2 s  .  c  o m
        }
    });

    myForm.getMatchEachNode().setSelected(mySettings.MATCH_RECURSIVELY);
    myForm.getMatchRootNode().setSelected(!mySettings.MATCH_RECURSIVELY);

    Disposer.register(myDisposable, myForm);
    super.init();
}