/*
- * Copyright 2000-2011 JetBrains s.r.o.
+ * Copyright 2000-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import com.intellij.debugger.engine.LambdaMethodFilter;
import com.intellij.debugger.engine.MethodFilter;
import com.intellij.debugger.impl.DebuggerSession;
-import com.intellij.openapi.actionSystem.ActionManager;
-import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.fileEditor.TextEditor;
-import com.intellij.openapi.keymap.KeymapUtil;
-import com.intellij.openapi.ui.popup.ListPopup;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiMethod;
import com.intellij.ui.awt.RelativePoint;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
-import java.awt.event.ActionEvent;
import java.util.Collections;
import java.util.List;
session.stepInto(true, createMethodFilter(chosenTarget));
}
});
- final ListPopup popup = new ListPopupImpl(popupStep) {
- @Override
- protected JComponent createContent() {
- registerExtraHandleShortcuts(XDebuggerActions.STEP_INTO);
- registerExtraHandleShortcuts(XDebuggerActions.SMART_STEP_INTO);
- return super.createContent();
- }
-
- private void registerExtraHandleShortcuts(String actionName) {
- AnAction action = ActionManager.getInstance().getAction(actionName);
- KeyStroke stroke = KeymapUtil.getKeyStroke(action.getShortcutSet());
- if (stroke != null) {
- registerAction("handleSelection " + stroke, stroke, new AbstractAction() {
- @Override
- public void actionPerformed(ActionEvent e) {
- handleSelect(true);
- }
- });
- }
- }
- };
+ ListPopupImpl popup = new ListPopupImpl(popupStep);
+ DebuggerUIUtil.registerExtraHandleShortcuts(popup, XDebuggerActions.STEP_INTO);
+ DebuggerUIUtil.registerExtraHandleShortcuts(popup, XDebuggerActions.SMART_STEP_INTO);
popup.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
popupStep.getScopeHighlighter().dropHighlight();
import com.intellij.lang.Language;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataContext;
+import com.intellij.openapi.actionSystem.IdeActions;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.Result;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.fileEditor.OpenFileDescriptor;
import com.intellij.openapi.fileTypes.StdFileTypes;
import com.intellij.openapi.project.Project;
-import com.intellij.openapi.ui.popup.JBPopupFactory;
-import com.intellij.openapi.ui.popup.ListPopup;
import com.intellij.openapi.ui.popup.PopupStep;
import com.intellij.openapi.ui.popup.util.BaseListPopupStep;
import com.intellij.openapi.util.AsyncResult;
import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.ui.awt.RelativePoint;
+import com.intellij.ui.popup.list.ListPopupImpl;
import com.intellij.util.DocumentUtil;
import com.intellij.util.Processor;
import com.intellij.util.SmartList;
final int defaultIndex = defaultVariant != null ? variants.indexOf(defaultVariant) : 0;
final MySelectionListener selectionListener = new MySelectionListener();
- ListPopup popup = JBPopupFactory.getInstance().createListPopup(
+ ListPopupImpl popup = new ListPopupImpl(
new BaseListPopupStep<XLineBreakpointType.XLineBreakpointVariant>("Create breakpoint for", variants) {
@NotNull
@Override
return defaultIndex;
}
});
+ DebuggerUIUtil.registerExtraHandleShortcuts(popup, IdeActions.ACTION_TOGGLE_LINE_BREAKPOINT);
popup.addListSelectionListener(selectionListener);
popup.show(relativePoint);
result.setResult(res);
import com.intellij.execution.impl.ConsoleViewUtil;
import com.intellij.ide.startup.StartupManagerEx;
import com.intellij.openapi.Disposable;
+import com.intellij.openapi.actionSystem.IdeActions;
import com.intellij.openapi.actionSystem.ex.ActionManagerEx;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Document;
@Override
public void run() {
if (!myProject.isDisposed() && myProject.isInitialized() && file.isValid()) {
- ActionManagerEx.getInstanceEx().fireBeforeActionPerformed("ToggleLineBreakpoint", e.getMouseEvent());
+ ActionManagerEx.getInstanceEx().fireBeforeActionPerformed(IdeActions.ACTION_TOGGLE_LINE_BREAKPOINT, e.getMouseEvent());
AsyncResult<XLineBreakpoint> result = XBreakpointUtil.toggleLineBreakpoint(
myProject, XSourcePositionImpl.create(file, line), editor, mouseEvent.isAltDown(), false);
package com.intellij.xdebugger.impl.ui;
import com.intellij.codeInsight.hint.HintUtil;
+import com.intellij.openapi.actionSystem.ActionManager;
+import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.editor.LogicalPosition;
import com.intellij.openapi.editor.colors.EditorColorsScheme;
import com.intellij.openapi.editor.colors.EditorColorsUtil;
+import com.intellij.openapi.keymap.KeymapUtil;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.popup.*;
import com.intellij.openapi.util.Computable;
import com.intellij.ui.EditorTextField;
import com.intellij.ui.ScreenUtil;
import com.intellij.ui.awt.RelativePoint;
+import com.intellij.ui.popup.list.ListPopupImpl;
import com.intellij.xdebugger.XDebuggerManager;
import com.intellij.xdebugger.breakpoints.XBreakpoint;
import com.intellij.xdebugger.breakpoints.XBreakpointAdapter;
}
return true;
}
+
+ public static void registerExtraHandleShortcuts(final ListPopupImpl popup, String actionName) {
+ AnAction action = ActionManager.getInstance().getAction(actionName);
+ KeyStroke stroke = KeymapUtil.getKeyStroke(action.getShortcutSet());
+ if (stroke != null) {
+ popup.registerAction("handleSelection " + stroke, stroke, new AbstractAction() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ popup.handleSelect(true);
+ }
+ });
+ }
+ }
}