mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
breakpoints-ui. deny multiple breakpoints popups.
This commit is contained in:
+6
-2
@@ -27,6 +27,7 @@ import com.intellij.openapi.editor.ex.EditorGutterComponentEx;
|
||||
import com.intellij.openapi.editor.markup.GutterIconRenderer;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.popup.Balloon;
|
||||
import com.intellij.openapi.ui.popup.JBPopup;
|
||||
import com.intellij.openapi.ui.popup.JBPopupListener;
|
||||
import com.intellij.openapi.ui.popup.LightweightWindowEvent;
|
||||
import com.intellij.openapi.util.Key;
|
||||
@@ -93,8 +94,11 @@ public class JavaEditBreakpointActionHandler extends EditBreakpointActionHandler
|
||||
UIUtil.invokeLaterIfNeeded(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
BreakpointsMasterDetailPopupFactory.
|
||||
getInstance(project).createPopup(javaBreakpoint).showCenteredInCurrentWindow(project);
|
||||
final JBPopup popup = BreakpointsMasterDetailPopupFactory.
|
||||
getInstance(project).createPopup(javaBreakpoint);
|
||||
if (popup != null) {
|
||||
popup.showCenteredInCurrentWindow(project);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
+6
-2
@@ -26,6 +26,7 @@ import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
import com.intellij.openapi.ui.popup.JBPopup;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.xdebugger.impl.breakpoints.XBreakpointUtil;
|
||||
import com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsConfigurationDialogFactory;
|
||||
@@ -56,8 +57,11 @@ public class ViewBreakpointsAction extends AnAction implements AnAction.Transpar
|
||||
}
|
||||
|
||||
if (Registry.is("debugger.breakpoint.use.breakpoints.popup")) {
|
||||
BreakpointsMasterDetailPopupFactory.
|
||||
getInstance(project).createPopup(myInitialBreakpoint).showCenteredInCurrentWindow(project);
|
||||
final JBPopup popup = BreakpointsMasterDetailPopupFactory.
|
||||
getInstance(project).createPopup(myInitialBreakpoint);
|
||||
if (popup != null) {
|
||||
popup.showCenteredInCurrentWindow(project);
|
||||
}
|
||||
}
|
||||
else {
|
||||
DialogWrapper dialog = BreakpointsConfigurationDialogFactory.getInstance(project).createDialog(myInitialBreakpoint);
|
||||
|
||||
+8
@@ -35,6 +35,8 @@ public class BreakpointsMasterDetailPopupFactory {
|
||||
private Project myProject;
|
||||
private Balloon myBalloonToHide;
|
||||
private Object myBreakpoint;
|
||||
private JBPopup myPopupShowing;
|
||||
|
||||
|
||||
public BreakpointsMasterDetailPopupFactory(Project project) {
|
||||
myProject = project;
|
||||
@@ -63,7 +65,11 @@ public class BreakpointsMasterDetailPopupFactory {
|
||||
return ServiceManager.getService(project, BreakpointsMasterDetailPopupFactory.class);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public JBPopup createPopup(@Nullable Object initialBreakpoint) {
|
||||
if (myPopupShowing != null) {
|
||||
return null;
|
||||
}
|
||||
BreakpointMasterDetailPopupBuilder builder = new BreakpointMasterDetailPopupBuilder(myProject);
|
||||
builder.setInitialBreakpoint(initialBreakpoint != null ? initialBreakpoint : myBreakpoint);
|
||||
builder.setBreakpointsPanelProviders(collectPanelProviders());
|
||||
@@ -84,6 +90,7 @@ public class BreakpointsMasterDetailPopupFactory {
|
||||
myBalloonToHide.hide();
|
||||
myBalloonToHide = null;
|
||||
}
|
||||
myPopupShowing = popup;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -91,6 +98,7 @@ public class BreakpointsMasterDetailPopupFactory {
|
||||
for (BreakpointPanelProvider provider : collectPanelProviders()) {
|
||||
provider.onDialogClosed(myProject);
|
||||
}
|
||||
myPopupShowing = null;
|
||||
}
|
||||
});
|
||||
return popup;
|
||||
|
||||
@@ -199,8 +199,11 @@ public class DebuggerUIUtil {
|
||||
public void run() {
|
||||
propertiesPanel.saveProperties();
|
||||
//showXBreakpointEditorBalloon(project, point, component, true, breakpoint);
|
||||
BreakpointsMasterDetailPopupFactory.
|
||||
getInstance(project).createPopup(breakpoint).showCenteredInCurrentWindow(project);
|
||||
final JBPopup popup = BreakpointsMasterDetailPopupFactory.
|
||||
getInstance(project).createPopup(breakpoint);
|
||||
if (popup != null) {
|
||||
popup.showCenteredInCurrentWindow(project);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user