Example usage for com.intellij.openapi.actionSystem PlatformDataKeys HELP_ID

List of usage examples for com.intellij.openapi.actionSystem PlatformDataKeys HELP_ID

Introduction

In this page you can find the example usage for com.intellij.openapi.actionSystem PlatformDataKeys HELP_ID.

Prototype

DataKey HELP_ID

To view the source code for com.intellij.openapi.actionSystem PlatformDataKeys HELP_ID.

Click Source Link

Document

Returns help id.

Usage

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");
    }//  w ww. ja v  a2  s.  c  o 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) ? 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.codeInsight.documentation.DocumentationComponent.java

License:Apache License

public DocumentationComponent(final DocumentationManager manager, final AnAction[] additionalActions) {
    myManager = manager;/*from w w w.java  2  s. c o m*/
    myIsEmpty = true;
    myIsShown = false;

    myEditorPane = new JEditorPane(UIUtil.HTML_MIME, "") {
        @Override
        public EditorKit getEditorKit() {
            return new HTMLEditorKit();
        }

        @Override
        public Dimension getPreferredScrollableViewportSize() {
            int em = myEditorPane.getFont().getSize();
            int prefWidth = PREFERRED_WIDTH_EM * em;
            int prefHeightMin = PREFERRED_HEIGHT_MIN_EM * em;
            int prefHeightMax = PREFERRED_HEIGHT_MAX_EM * em;

            if (getWidth() == 0 || getHeight() == 0) {
                setSize(prefWidth, prefHeightMax);
            }

            Insets ins = myEditorPane.getInsets();
            View rootView = myEditorPane.getUI().getRootView(myEditorPane);
            rootView.setSize(prefWidth, prefHeightMax); // Necessary! Without this line, the size won't increase when the content does

            int prefHeight = (int) rootView.getPreferredSpan(View.Y_AXIS) + ins.bottom + ins.top
                    + myScrollPane.getHorizontalScrollBar().getMaximumSize().height;
            prefHeight = Math.max(prefHeightMin, Math.min(prefHeightMax, prefHeight));
            return new Dimension(prefWidth, prefHeight);
        }

        {
            enableEvents(AWTEvent.KEY_EVENT_MASK);
        }

        @Override
        protected void processKeyEvent(KeyEvent e) {
            KeyStroke keyStroke = KeyStroke.getKeyStrokeForEvent(e);
            ActionListener listener = myKeyboardActions.get(keyStroke);
            if (listener != null) {
                listener.actionPerformed(new ActionEvent(DocumentationComponent.this, 0, ""));
                e.consume();
                return;
            }
            super.processKeyEvent(e);
        }

        @Override
        protected void paintComponent(Graphics g) {
            GraphicsUtil.setupAntialiasing(g);
            super.paintComponent(g);
        }

        @Override
        public void setDocument(Document doc) {
            super.setDocument(doc);
            if (doc instanceof StyledDocument) {
                doc.putProperty("imageCache", myImageProvider);
            }
        }
    };
    DataProvider helpDataProvider = new DataProvider() {
        @Override
        public Object getData(@NonNls String dataId) {
            return PlatformDataKeys.HELP_ID.is(dataId) ? DOCUMENTATION_TOPIC_ID : null;
        }
    };
    myEditorPane.putClientProperty(DataManager.CLIENT_PROPERTY_DATA_PROVIDER, helpDataProvider);
    myText = "";
    myEditorPane.setEditable(false);
    myEditorPane.setBackground(HintUtil.INFORMATION_COLOR);
    myEditorPane.setEditorKit(UIUtil.getHTMLEditorKit());
    myScrollPane = new JBScrollPane(myEditorPane) {
        @Override
        protected void processMouseWheelEvent(MouseWheelEvent e) {
            if (!EditorSettingsExternalizable.getInstance().isWheelFontChangeEnabled()
                    || !EditorUtil.isChangeFontSize(e)) {
                super.processMouseWheelEvent(e);
                return;
            }

            int change = Math.abs(e.getWheelRotation());
            boolean increase = e.getWheelRotation() <= 0;
            EditorColorsManager colorsManager = EditorColorsManager.getInstance();
            EditorColorsScheme scheme = colorsManager.getGlobalScheme();
            FontSize newFontSize = scheme.getQuickDocFontSize();
            for (; change > 0; change--) {
                if (increase) {
                    newFontSize = newFontSize.larger();
                } else {
                    newFontSize = newFontSize.smaller();
                }
            }

            if (newFontSize == scheme.getQuickDocFontSize()) {
                return;
            }

            scheme.setQuickDocFontSize(newFontSize);
            applyFontSize();
            setFontSizeSliderSize(newFontSize);
        }
    };
    myScrollPane.setBorder(null);
    myScrollPane.putClientProperty(DataManager.CLIENT_PROPERTY_DATA_PROVIDER, helpDataProvider);

    final MouseAdapter mouseAdapter = new MouseAdapter() {
        @Override
        public void mousePressed(MouseEvent e) {
            myManager.requestFocus();
            myShowSettingsButton.hideSettings();
        }
    };
    myEditorPane.addMouseListener(mouseAdapter);
    Disposer.register(this, new Disposable() {
        @Override
        public void dispose() {
            myEditorPane.removeMouseListener(mouseAdapter);
        }
    });

    final FocusAdapter focusAdapter = new FocusAdapter() {
        @Override
        public void focusLost(FocusEvent e) {
            Component previouslyFocused = WindowManagerEx.getInstanceEx()
                    .getFocusedComponent(manager.getProject(getElement()));

            if (!(previouslyFocused == myEditorPane)) {
                if (myHint != null && !myHint.isDisposed())
                    myHint.cancel();
            }
        }
    };
    myEditorPane.addFocusListener(focusAdapter);

    Disposer.register(this, new Disposable() {
        @Override
        public void dispose() {
            myEditorPane.removeFocusListener(focusAdapter);
        }
    });

    setLayout(new BorderLayout());
    JLayeredPane layeredPane = new JBLayeredPane() {
        @Override
        public void doLayout() {
            final Rectangle r = getBounds();
            for (Component component : getComponents()) {
                if (component instanceof JScrollPane) {
                    component.setBounds(0, 0, r.width, r.height);
                } else {
                    int insets = 2;
                    Dimension d = component.getPreferredSize();
                    component.setBounds(r.width - d.width - insets, insets, d.width, d.height);
                }
            }
        }

        @Override
        public Dimension getPreferredSize() {
            Dimension editorPaneSize = myEditorPane.getPreferredScrollableViewportSize();
            Dimension controlPanelSize = myControlPanel.getPreferredSize();
            return new Dimension(Math.max(editorPaneSize.width, controlPanelSize.width),
                    editorPaneSize.height + controlPanelSize.height);
        }
    };
    layeredPane.add(myScrollPane);
    layeredPane.setLayer(myScrollPane, 0);

    mySettingsPanel = createSettingsPanel();
    layeredPane.add(mySettingsPanel);
    layeredPane.setLayer(mySettingsPanel, JLayeredPane.POPUP_LAYER);
    add(layeredPane, BorderLayout.CENTER);
    setOpaque(true);
    myScrollPane.setViewportBorder(JBScrollPane.createIndentBorder());

    final DefaultActionGroup actions = new DefaultActionGroup();
    final BackAction back = new BackAction();
    final ForwardAction forward = new ForwardAction();
    EditDocumentationSourceAction edit = new EditDocumentationSourceAction();
    actions.add(back);
    actions.add(forward);
    actions.add(myExternalDocAction = new ExternalDocAction());
    actions.add(edit);

    back.registerCustomShortcutSet(CustomShortcutSet.fromString("LEFT"), this);
    forward.registerCustomShortcutSet(CustomShortcutSet.fromString("RIGHT"), this);
    myExternalDocAction.registerCustomShortcutSet(CustomShortcutSet.fromString("UP"), this);
    edit.registerCustomShortcutSet(CommonShortcuts.getEditSource(), this);
    if (additionalActions != null) {
        for (final AnAction action : additionalActions) {
            actions.add(action);
            ShortcutSet shortcutSet = action.getShortcutSet();
            if (shortcutSet != null) {
                action.registerCustomShortcutSet(shortcutSet, this);
            }
        }
    }

    myToolBar = ActionManager.getInstance().createActionToolbar(ActionPlaces.JAVADOC_TOOLBAR, actions, true);

    myControlPanel = new JPanel(new BorderLayout(5, 5));
    myControlPanel.setBorder(IdeBorderFactory.createBorder(SideBorder.BOTTOM));

    myElementLabel = new JLabel();
    myElementLabel.setMinimumSize(new Dimension(100, 0)); // do not recalculate size according to the text

    myControlPanel.add(myToolBar.getComponent(), BorderLayout.WEST);
    myControlPanel.add(myElementLabel, BorderLayout.CENTER);
    myControlPanel.add(myShowSettingsButton = new MyShowSettingsButton(), BorderLayout.EAST);
    myControlPanelVisible = false;

    final HyperlinkListener hyperlinkListener = new HyperlinkListener() {
        @Override
        public void hyperlinkUpdate(HyperlinkEvent e) {
            HyperlinkEvent.EventType type = e.getEventType();
            if (type == HyperlinkEvent.EventType.ACTIVATED) {
                manager.navigateByLink(DocumentationComponent.this, e.getDescription());
            }
        }
    };
    myEditorPane.addHyperlinkListener(hyperlinkListener);
    Disposer.register(this, new Disposable() {
        @Override
        public void dispose() {
            myEditorPane.removeHyperlinkListener(hyperlinkListener);
        }
    });

    registerActions();

    updateControlState();
}

From source file:com.intellij.codeInspection.ui.InspectionResultsView.java

License:Apache License

@Override
public Object getData(String dataId) {
    if (PlatformDataKeys.HELP_ID.is(dataId))
        return HELP_ID;
    if (DATA_KEY.is(dataId))
        return this;
    if (myTree == null)
        return null;
    TreePath[] paths = myTree.getSelectionPaths();

    if (paths == null || paths.length == 0)
        return null;

    if (paths.length > 1) {
        if (LangDataKeys.PSI_ELEMENT_ARRAY.is(dataId)) {
            return collectPsiElements();
        }//from   w  w w. ja  v a  2 s  .  c  o m
        return null;
    }

    TreePath path = paths[0];

    InspectionTreeNode selectedNode = (InspectionTreeNode) path.getLastPathComponent();

    if (selectedNode instanceof RefElementNode) {
        final RefElementNode refElementNode = (RefElementNode) selectedNode;
        RefEntity refElement = refElementNode.getElement();
        if (refElement == null)
            return null;
        final RefEntity item = refElement.getRefManager().getRefinedElement(refElement);

        if (!item.isValid())
            return null;

        PsiElement psiElement = item instanceof RefElement ? ((RefElement) item).getElement() : null;
        if (psiElement == null)
            return null;

        final CommonProblemDescriptor problem = refElementNode.getProblem();
        if (problem != null) {
            if (problem instanceof ProblemDescriptor) {
                psiElement = ((ProblemDescriptor) problem).getPsiElement();
                if (psiElement == null)
                    return null;
            } else {
                return null;
            }
        }

        if (CommonDataKeys.NAVIGATABLE.is(dataId)) {
            return getSelectedNavigatable(problem, psiElement);
        } else if (CommonDataKeys.PSI_ELEMENT.is(dataId)) {
            return psiElement.isValid() ? psiElement : null;
        }
    } else if (selectedNode instanceof ProblemDescriptionNode && CommonDataKeys.NAVIGATABLE.is(dataId)) {
        return getSelectedNavigatable(((ProblemDescriptionNode) selectedNode).getDescriptor());
    }

    return null;
}

From source file:com.intellij.cyclicDependencies.ui.CyclicDependenciesPanel.java

License:Apache License

@Nullable
@NonNls//w ww  . j a v a2  s. co m
public Object getData(@NonNls String dataId) {
    if (PlatformDataKeys.HELP_ID.is(dataId)) {
        return "dependency.viewer.tool.window";
    }
    return null;
}

From source file:com.intellij.debugger.ui.impl.ThreadsPanel.java

License:Apache License

@Override
public Object getData(String dataId) {
    if (PlatformDataKeys.HELP_ID.is(dataId)) {
        return HELP_ID;
    }// w  w w  . ja v a2s  .c o  m
    return super.getData(dataId);
}

From source file:com.intellij.debugger.ui.impl.WatchPanel.java

License:Apache License

public Object getData(String dataId) {
    if (PlatformDataKeys.HELP_ID.is(dataId)) {
        return HELP_ID;
    }//  w  w w  .j  a v  a  2 s  . c om
    return super.getData(dataId);
}

From source file:com.intellij.diff.tools.dir.DirDiffViewer.java

License:Apache License

public DirDiffViewer(@NotNull DiffContext context, @NotNull ContentDiffRequest request) {
    myContext = context;//  w  ww .  java  2s .  co  m
    myRequest = request;

    List<DiffContent> contents = request.getContents();
    DiffElement element1 = createDiffElement(contents.get(0));
    DiffElement element2 = createDiffElement(contents.get(1));

    Project project = context.getProject();
    if (project == null)
        project = DefaultProjectFactory.getInstance().getDefaultProject();

    DirDiffTableModel model = new DirDiffTableModel(project, element1, element2, new DirDiffSettings());

    myDirDiffPanel = new DirDiffPanel(model, new DirDiffWindow((DirDiffFrame) null) {
        @Override
        public Window getWindow() {
            return null;
        }

        @Override
        public Disposable getDisposable() {
            return DirDiffViewer.this;
        }

        @Override
        public void setTitle(String title) {
        }
    });

    myPanel = new JPanel(new BorderLayout());
    myPanel.add(myDirDiffPanel.getPanel(), BorderLayout.CENTER);
    DataManager.registerDataProvider(myPanel, new DataProvider() {
        @Override
        public Object getData(@NonNls String dataId) {
            if (PlatformDataKeys.HELP_ID.is(dataId)) {
                return "reference.dialogs.diff.folder";
            }
            return myDirDiffPanel.getData(dataId);
        }
    });
}

From source file:com.intellij.execution.impl.ConsoleViewImpl.java

License:Apache License

@Override
public Object getData(final String dataId) {
    if (CommonDataKeys.NAVIGATABLE.is(dataId)) {
        if (myEditor == null) {
            return null;
        }/*from  w  w  w.j a  va 2  s.c o  m*/
        final LogicalPosition pos = myEditor.getCaretModel().getLogicalPosition();
        final HyperlinkInfo info = myHyperlinks.getHyperlinkInfoByLineAndCol(pos.line, pos.column);
        final OpenFileDescriptor openFileDescriptor = info instanceof FileHyperlinkInfo
                ? ((FileHyperlinkInfo) info).getDescriptor()
                : null;
        if (openFileDescriptor == null || !openFileDescriptor.getFile().isValid()) {
            return null;
        }
        return openFileDescriptor;
    }

    if (CommonDataKeys.EDITOR.is(dataId)) {
        return myEditor;
    }
    if (PlatformDataKeys.HELP_ID.is(dataId)) {
        return myHelpId;
    }
    if (LangDataKeys.CONSOLE_VIEW.is(dataId)) {
        return this;
    }
    return null;
}

From source file:com.intellij.execution.ui.RunContentManagerImpl.java

License:Apache License

private void registerToolwindow(@NotNull final Executor executor,
        @NotNull ToolWindowManagerEx toolWindowManager) {
    final String toolWindowId = executor.getToolWindowId();
    if (toolWindowManager.getToolWindow(toolWindowId) != null) {
        return;// w  w w  .  j  a  va 2 s . c o m
    }

    final ToolWindow toolWindow = toolWindowManager.registerToolWindow(toolWindowId, true,
            ToolWindowAnchor.BOTTOM, this, true);
    final ContentManager contentManager = toolWindow.getContentManager();
    contentManager.addDataProvider(new DataProvider() {
        private int myInsideGetData = 0;

        @Override
        public Object getData(String dataId) {
            myInsideGetData++;
            try {
                if (PlatformDataKeys.HELP_ID.is(dataId)) {
                    return executor.getHelpId();
                } else {
                    return myInsideGetData == 1 ? DataManager.getInstance()
                            .getDataContext(contentManager.getComponent()).getData(dataId) : null;
                }
            } finally {
                myInsideGetData--;
            }
        }
    });

    toolWindow.setIcon(executor.getToolWindowIcon());
    myToolwindowIdToBaseIconMap.put(toolWindowId, executor.getToolWindowIcon());
    new ContentManagerWatcher(toolWindow, contentManager);
    contentManager.addContentManagerListener(new ContentManagerAdapter() {
        @Override
        public void selectionChanged(final ContentManagerEvent event) {
            if (event.getOperation() == ContentManagerEvent.ContentOperation.add) {
                Content content = event.getContent();
                getSyncPublisher().contentSelected(
                        content == null ? null : getRunContentDescriptorByContent(content), executor);
            }
        }
    });
    myToolwindowIdToContentManagerMap.put(toolWindowId, contentManager);
    Disposer.register(contentManager, new Disposable() {
        @Override
        public void dispose() {
            myToolwindowIdToContentManagerMap.remove(toolWindowId).removeAllContents(true);
            myToolwindowIdZBuffer.remove(toolWindowId);
            myToolwindowIdToBaseIconMap.remove(toolWindowId);
        }
    });
    myToolwindowIdZBuffer.addLast(toolWindowId);
}

From source file:com.intellij.ide.actions.ContextHelpAction.java

License:Apache License

@Nullable
protected String getHelpId(DataContext dataContext) {
    return myHelpID != null ? myHelpID : PlatformDataKeys.HELP_ID.getData(dataContext);
}