Example usage for com.intellij.openapi.ui SimpleToolWindowPanel setContent

List of usage examples for com.intellij.openapi.ui SimpleToolWindowPanel setContent

Introduction

In this page you can find the example usage for com.intellij.openapi.ui SimpleToolWindowPanel setContent.

Prototype

public void setContent(@NotNull JComponent c) 

Source Link

Usage

From source file:com.deepsky.findUsages.workarounds.UsageView2Impl.java

License:Apache License

public UsageView2Impl(@NotNull Project project, @NotNull UsageViewPresentation presentation,
        @NotNull UsageTarget[] targets, Factory<UsageSearcher> usageSearcherFactory) {
    myPresentation = presentation;//from ww w.  j  ava2  s .  c o m
    myTargets = targets;
    myUsageSearcherFactory = usageSearcherFactory;
    myProject = project;
    myTree = new Tree() {
        {
            ToolTipManager.sharedInstance().registerComponent(this);
        }

        public String getToolTipText(MouseEvent e) {
            TreePath path = getPathForLocation(e.getX(), e.getY());
            if (path != null) {
                if (getCellRenderer() instanceof UsageViewTreeCellRenderer) {
                    return UsageViewTreeCellRenderer.getTooltipText(path.getLastPathComponent());
                }
            }
            return null;
        }

        public boolean isPathEditable(final TreePath path) {
            return path.getLastPathComponent() instanceof UsageViewTreeModelBuilder.TargetsRootNode;
        }
    };
    myRootPanel = new MyPanel(myTree);
    myModelTracker = new UsageModelTracker(project);
    Disposer.register(this, myModelTracker);

    myModel = new UsageViewTreeModelBuilder(myPresentation, targets);
    myRoot = (GroupNode) myModel.getRoot();

    myBuilder = new UsageNodeTreeBuilder(getActiveGroupingRules(project), getActiveFilteringRules(project),
            myRoot);

    final MessageBusConnection messageBusConnection = myProject.getMessageBus().connect(this);

    messageBusConnection.subscribe(UsageFilteringRuleProvider.RULES_CHANGED, new Runnable() {
        public void run() {
            rulesChanged();
        }
    });

    if (!myPresentation.isDetachedMode()) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                if (isDisposed)
                    return;
                myTree.setModel(myModel);

                myRootPanel.setLayout(new BorderLayout());

                final SimpleToolWindowPanel twPanel = new SimpleToolWindowPanel(false, true);
                myRootPanel.add(twPanel, BorderLayout.CENTER);

                JPanel toolbarPanel = new JPanel(new BorderLayout());
                toolbarPanel.add(createActionsToolbar(), BorderLayout.WEST);
                toolbarPanel.add(createFiltersToolbar(), BorderLayout.CENTER);
                twPanel.setToolbar(toolbarPanel);

                myCentralPanel = new JPanel();
                myCentralPanel.setLayout(new BorderLayout());
                setupCentralPanel();

                initTree();
                twPanel.setContent(myCentralPanel);

                myTree.setCellRenderer(new UsageViewTreeCellRenderer(UsageView2Impl.this));
                collapseAll();

                myModelTracker.addListener(UsageView2Impl.this);

                if (myPresentation.isShowCancelButton()) {
                    addButtonToLowerPane(new Runnable() {
                        public void run() {
                            close();
                        }
                    }, UsageViewBundle.message("usage.view.cancel.button"));
                }

                myTree.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener() {
                    public void valueChanged(final TreeSelectionEvent e) {
                        SwingUtilities.invokeLater(new Runnable() {
                            public void run() {
                                if (isDisposed)
                                    return;
                                java.util.List<UsageInfo> infos = getSelectedUsageInfos();
                                if (infos != null && myUsagePreviewPanel != null) {
                                    myUsagePreviewPanel.updateLayout(infos);
                                }
                            }
                        });
                    }
                });
            }
        });
    }
}

From source file:com.headwire.aem.tooling.intellij.console.ConsoleLogToolWindowFactory.java

License:Apache License

static void createContent(Project project, ToolWindow toolWindow, ConsoleLogConsole console, String title) {
    // update default Event Log tab title
    ContentManager contentManager = toolWindow.getContentManager();
    Content generalContent = contentManager.getContent(0);
    if (generalContent != null && contentManager.getContentCount() == 1) {
        generalContent.setDisplayName("General");
    }/*from ww  w  . ja v  a 2  s  .  com*/

    final Editor editor = console.getConsoleEditor();

    SimpleToolWindowPanel panel = new SimpleToolWindowPanel(false, true) {
        @Override
        public Object getData(@NonNls String dataId) {
            return PlatformDataKeys.HELP_ID.is(dataId) ? ConsoleLog.HELP_ID : super.getData(dataId);
        }
    };
    panel.setContent(editor.getComponent());
    panel.addAncestorListener(new LogShownTracker(project));

    ActionToolbar toolbar = createToolbar(project, editor, console);
    toolbar.setTargetComponent(editor.getContentComponent());
    panel.setToolbar(toolbar.getComponent());

    Content content = ContentFactory.SERVICE.getInstance().createContent(panel, title, false);
    contentManager.addContent(content);
    contentManager.setSelectedContent(content);
}

From source file:com.intellij.notification.EventLogToolWindowFactory.java

License:Apache License

static void createContent(Project project, ToolWindow toolWindow, EventLogConsole console, String title) {
    // update default Event Log tab title
    ContentManager contentManager = toolWindow.getContentManager();
    Content generalContent = contentManager.getContent(0);
    if (generalContent != null && contentManager.getContentCount() == 1) {
        generalContent.setDisplayName("General");
    }// www. j a  va  2  s.co m

    final Editor editor = console.getConsoleEditor();

    SimpleToolWindowPanel panel = new SimpleToolWindowPanel(false, true) {
        @Override
        public Object getData(@NonNls String dataId) {
            return PlatformDataKeys.HELP_ID.is(dataId) ? EventLog.HELP_ID : super.getData(dataId);
        }
    };
    panel.setContent(editor.getComponent());
    panel.addAncestorListener(new LogShownTracker(project));

    ActionToolbar toolbar = createToolbar(project, editor, console);
    toolbar.setTargetComponent(editor.getContentComponent());
    panel.setToolbar(toolbar.getComponent());

    Content content = ContentFactory.SERVICE.getInstance().createContent(panel, title, false);
    contentManager.addContent(content);
    contentManager.setSelectedContent(content);
}

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

License:Apache License

UsageViewImpl(@NotNull final Project project, @NotNull UsageViewPresentation presentation,
        @NotNull UsageTarget[] targets, Factory<UsageSearcher> usageSearcherFactory) {
    myPresentation = presentation;// w  w w.j a  v  a  2s  . c o  m
    myTargets = targets;
    myUsageSearcherFactory = usageSearcherFactory;
    myProject = project;
    myTree = new Tree() {
        {
            ToolTipManager.sharedInstance().registerComponent(this);
        }

        @Override
        public String getToolTipText(MouseEvent e) {
            TreePath path = getPathForLocation(e.getX(), e.getY());
            if (path != null) {
                if (getCellRenderer() instanceof UsageViewTreeCellRenderer) {
                    return UsageViewTreeCellRenderer.getTooltipFromPresentation(path.getLastPathComponent());
                }
            }
            return null;
        }

        @Override
        public boolean isPathEditable(final TreePath path) {
            return path.getLastPathComponent() instanceof UsageViewTreeModelBuilder.TargetsRootNode;
        }

        // hack to avoid quadratic expandAll()
        @Override
        public Enumeration<TreePath> getExpandedDescendants(TreePath parent) {
            return expandingAll ? EmptyEnumeration.<TreePath>getInstance()
                    : super.getExpandedDescendants(parent);
        }
    };
    myRootPanel = new MyPanel(myTree);
    Disposer.register(this, myRootPanel);
    myModelTracker = new UsageModelTracker(project);
    Disposer.register(this, myModelTracker);

    myModel = new UsageViewTreeModelBuilder(myPresentation, targets);
    myRoot = (GroupNode) myModel.getRoot();
    myBuilder = new UsageNodeTreeBuilder(myTargets, getActiveGroupingRules(project),
            getActiveFilteringRules(project), myRoot);

    final MessageBusConnection messageBusConnection = myProject.getMessageBus().connect(this);
    messageBusConnection.subscribe(UsageFilteringRuleProvider.RULES_CHANGED, new Runnable() {
        @Override
        public void run() {
            rulesChanged();
        }
    });

    myUsageViewTreeCellRenderer = new UsageViewTreeCellRenderer(this);
    if (!myPresentation.isDetachedMode()) {
        UIUtil.invokeLaterIfNeeded(new Runnable() {
            @Override
            public void run() {
                // lock here to avoid concurrent execution of this init and dispose in other thread
                synchronized (lock) {
                    if (isDisposed)
                        return;
                    myTree.setModel(myModel);

                    myRootPanel.setLayout(new BorderLayout());

                    SimpleToolWindowPanel toolWindowPanel = new SimpleToolWindowPanel(false, true);
                    myRootPanel.add(toolWindowPanel, BorderLayout.CENTER);

                    JPanel toolbarPanel = new JPanel(new BorderLayout());
                    toolbarPanel.add(createActionsToolbar(), BorderLayout.WEST);
                    toolbarPanel.add(createFiltersToolbar(), BorderLayout.CENTER);
                    toolWindowPanel.setToolbar(toolbarPanel);

                    myCentralPanel = new JPanel(new BorderLayout());
                    setupCentralPanel();

                    initTree();
                    toolWindowPanel.setContent(myCentralPanel);

                    myTree.setCellRenderer(myUsageViewTreeCellRenderer);
                    collapseAll();

                    myModelTracker.addListener(UsageViewImpl.this);

                    if (myPresentation.isShowCancelButton()) {
                        addButtonToLowerPane(new Runnable() {
                            @Override
                            public void run() {
                                close();
                            }
                        }, UsageViewBundle.message("usage.view.cancel.button"));
                    }

                    myTree.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener() {
                        @Override
                        public void valueChanged(final TreeSelectionEvent e) {
                            SwingUtilities.invokeLater(new Runnable() {
                                @Override
                                public void run() {
                                    if (isDisposed || myProject.isDisposed())
                                        return;
                                    updateOnSelectionChanged();
                                }
                            });
                        }
                    });
                }
            }
        });
    }
    myTransferToEDTQueue = new TransferToEDTQueue<Runnable>("Insert usages", new Processor<Runnable>() {
        @Override
        public boolean process(Runnable runnable) {
            runnable.run();
            return true;
        }
    }, new Condition<Object>() {
        @Override
        public boolean value(Object o) {
            return isDisposed || project.isDisposed();
        }
    }, 200);
}

From source file:com.urswolfer.intellij.plugin.gerrit.ui.GerritToolWindow.java

License:Apache License

public SimpleToolWindowPanel createToolWindowContent(final Project project) {
    changeListPanel.registerChangeListPanel(this);
    diffManager.registerDiffTool(commentsDiffTool);

    SimpleToolWindowPanel panel = new SimpleToolWindowPanel(true, true);

    ActionToolbar toolbar = createToolbar(project);
    toolbar.setTargetComponent(changeListPanel);
    panel.setToolbar(toolbar.getComponent());

    RepositoryChangesBrowser repositoryChangesBrowser = repositoryChangesBrowserProvider.get(project,
            changeListPanel);//from w w  w .  j  av  a  2  s.  co m

    Splitter detailsSplitter = new Splitter(true, 0.6f);
    detailsSplitter.setShowDividerControls(true);

    changeListPanel
            .setBorder(IdeBorderFactory.createBorder(SideBorder.TOP | SideBorder.RIGHT | SideBorder.BOTTOM));
    detailsSplitter.setFirstComponent(changeListPanel);

    detailsPanel = new GerritChangeDetailsPanel(project);
    changeListPanel.addListSelectionListener(new Consumer<ChangeInfo>() {
        @Override
        public void consume(ChangeInfo changeInfo) {
            changeSelected(changeInfo, project);
        }
    });
    JPanel details = detailsPanel.getComponent();
    details.setBorder(IdeBorderFactory.createBorder(SideBorder.TOP | SideBorder.RIGHT));
    detailsSplitter.setSecondComponent(details);

    Splitter horizontalSplitter = new Splitter(false, 0.7f);
    horizontalSplitter.setShowDividerControls(true);
    horizontalSplitter.setFirstComponent(detailsSplitter);
    horizontalSplitter.setSecondComponent(repositoryChangesBrowser);

    panel.setContent(horizontalSplitter);

    reloadChanges(project, false);

    changeListPanel.showSetupHintWhenRequired(project);

    return panel;
}

From source file:edu.wpi.tjclark.netconsole.NetConsoleToolWindowFactory.java

License:Open Source License

@Override
public void createToolWindowContent(Project project, ToolWindow toolWindow) {
    final Document document = new PlainDocument();
    final NetConsoleClient netConsole = new NetConsoleClient(document);

    final JXTextArea textArea = new JXTextArea();
    textArea.setDocument(document);/*from  w w w .j  a  v a 2  s. co  m*/
    textArea.setEditable(false);

    final DefaultActionGroup actionGroup = new DefaultActionGroup();
    actionGroup.addAction(new AutoScrollAction(netConsole, textArea));
    actionGroup.addAction(new ClearAction(netConsole));
    actionGroup.addAction(new DisableAction(netConsole, textArea));

    final SimpleToolWindowPanel netConsolePanel = new SimpleToolWindowPanel(false, false);
    final ActionToolbar toolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN,
            actionGroup, false);
    netConsolePanel.setToolbar(toolbar.getComponent());
    netConsolePanel.setContent(new JBScrollPane(textArea));

    final ContentFactory contentFactory = ContentFactory.SERVICE.getInstance();
    final Content content = contentFactory.createContent(netConsolePanel, "", true);
    toolWindow.getContentManager().addContent(content);
}

From source file:io.flutter.console.FlutterConsole.java

License:Open Source License

private static void show(@NotNull Module module, @NotNull ConsoleView console, String processTitle) {
    final SimpleToolWindowPanel toolWindowPanel = new SimpleToolWindowPanel(false, true);
    toolWindowPanel.setContent(console.getComponent());

    final Content content = ContentFactory.SERVICE.getInstance().createContent(toolWindowPanel.getComponent(),
            processTitle, true);/*from w  w w . j a  v  a2 s .  c o  m*/
    Disposer.register(content, console);

    final Project project = module.getProject();

    final MessageView messageView = MessageView.SERVICE.getInstance(project);
    messageView.runWhenInitialized(() -> {
        final ContentManager contentManager = messageView.getContentManager();
        contentManager.addContent(content);
        contentManager.setSelectedContent(content);

        final ToolWindow toolWindow = ToolWindowManager.getInstance(project)
                .getToolWindow(ToolWindowId.MESSAGES_WINDOW);
        toolWindow.activate(null, true);
    });
}

From source file:io.flutter.console.FlutterConsoleHelper.java

License:Open Source License

/**
 * We share one Flutter console per Module, and have one global Flutter console (for tasks which don't
 * take a module, like 'flutter doctor'). We could revisit to have one global, shared flutter console
 * instance./*from  w  w w.ja v  a 2  s  . co m*/
 */
private static void show(@NotNull Project project, @Nullable Module module,
        @NotNull OSProcessHandler processHandler, @Nullable Runnable runOnActive) {
    final MessageView messageView = MessageView.SERVICE.getInstance(project);

    messageView.runWhenInitialized(() -> {
        final ToolWindow toolWindow = ToolWindowManager.getInstance(project)
                .getToolWindow(ToolWindowId.MESSAGES_WINDOW);
        final ContentManager contentManager = messageView.getContentManager();
        FlutterConsoleInfo info = findExistingInfoForCommand(project, module);

        if (info != null) {
            info.console.clear();
            contentManager.setSelectedContent(info.content);
        } else {
            final ConsoleView console = createConsole(project, module);
            info = new FlutterConsoleInfo(console, module);

            final String title = module != null ? "[" + module.getName() + "] Flutter" : "Flutter";
            final SimpleToolWindowPanel toolWindowPanel = new SimpleToolWindowPanel(false, true);
            toolWindowPanel.setContent(info.console.getComponent());

            info.content = ContentFactory.SERVICE.getInstance().createContent(toolWindowPanel.getComponent(),
                    title, true);
            info.content.putUserData(FLUTTER_MESSAGES_KEY, info);
            Disposer.register(info.content, info.console);

            contentManager.addContent(info.content);
            contentManager.setSelectedContent(info.content);
        }
        info.console.attachToProcess(processHandler);
        toolWindow.activate(runOnActive, true);
    });
}

From source file:io.flutter.view.FlutterView.java

License:Open Source License

public void initToolWindow(@NotNull ToolWindow toolWindow) {
    final ContentFactory contentFactory = ContentFactory.SERVICE.getInstance();

    final Content toolContent = contentFactory.createContent(null, null, false);
    final SimpleToolWindowPanel toolWindowPanel = new SimpleToolWindowPanel(true, true);
    toolContent.setComponent(toolWindowPanel);
    //Disposer.register(this, toolWindowPanel);
    toolContent.setCloseable(false);//from   ww  w  . j a va2 s.  c  o m

    final DefaultActionGroup toolbarGroup = new DefaultActionGroup();
    toolbarGroup.add(new DebugDrawAction(this));
    toolbarGroup.add(new RepaintRainbowAction(this));
    toolbarGroup.add(new PerformanceOverlayAction(this));
    toolbarGroup.add(new TimeDilationAction(this));
    toolbarGroup.addSeparator();
    toolbarGroup.add(new ObservatoryTimelineAction(this));

    final JPanel mainContent = new JPanel(new BorderLayout());

    toolWindowPanel.setToolbar(ActionManager.getInstance()
            .createActionToolbar("FlutterViewToolbar", toolbarGroup, true).getComponent());
    toolWindowPanel.setContent(mainContent);

    final ContentManager contentManager = toolWindow.getContentManager();
    contentManager.addContent(toolContent);
    contentManager.setSelectedContent(toolContent);
}

From source file:net.orfjackal.sbt.plugin.SbtConsole.java

License:Open Source License

public void attachToToolWindow(ToolWindow window) {
    // org.jetbrains.idea.maven.embedder.MavenConsoleImpl#ensureAttachedToToolWindow
    SimpleToolWindowPanel toolWindowPanel = new SimpleToolWindowPanel(false, true);
    JComponent consoleComponent = consoleView.getComponent();
    toolWindowPanel.setContent(consoleComponent);
    StartSbtAction startSbtAction = new StartSbtAction();
    toolWindowPanel.setToolbar(createToolbar(startSbtAction));
    startSbtAction.registerCustomShortcutSet(CommonShortcuts.getRerun(), consoleComponent);

    Content content = ContentFactory.SERVICE.getInstance().createContent(toolWindowPanel, title, true);
    content.putUserData(CONSOLE_KEY, SbtConsole.this);

    window.getContentManager().addContent(content);
    window.getContentManager().setSelectedContent(content);

    removeUnusedTabs(window, content);//from w ww.  j a v  a 2 s.  co  m
}