Search in sources :

Example 6 with XBreakpointBase

use of com.intellij.xdebugger.impl.breakpoints.XBreakpointBase in project intellij-community by JetBrains.

the class XBreakpointsTestCase method getAllBreakpoints.

protected List<XBreakpoint<?>> getAllBreakpoints() {
    final XBreakpointBase<?, ?, ?>[] breakpoints = ApplicationManager.getApplication().runReadAction((Computable<XBreakpointBase<?, ?, ?>[]>) () -> myBreakpointManager.getAllBreakpoints());
    final List<XBreakpoint<?>> result = new ArrayList<>();
    for (XBreakpointBase<?, ?, ?> breakpoint : breakpoints) {
        final XBreakpointType type = breakpoint.getType();
        if (type instanceof MySimpleBreakpointType || type instanceof MyLineBreakpointType) {
            result.add(breakpoint);
        }
    }
    result.sort((o1, o2) -> StringUtil.compare(((MyBreakpointProperties) o1.getProperties()).myOption, ((MyBreakpointProperties) o2.getProperties()).myOption, true));
    return result;
}
Also used : XBreakpointBase(com.intellij.xdebugger.impl.breakpoints.XBreakpointBase) XBreakpoint(com.intellij.xdebugger.breakpoints.XBreakpoint) XBreakpointType(com.intellij.xdebugger.breakpoints.XBreakpointType) ArrayList(java.util.ArrayList)

Example 7 with XBreakpointBase

use of com.intellij.xdebugger.impl.breakpoints.XBreakpointBase in project google-cloud-intellij by GoogleCloudPlatform.

the class BreakpointErrorStatusPanel method loadFrom.

@Override
public void loadFrom(@NotNull XLineBreakpoint<CloudLineBreakpointProperties> breakpoint) {
    XBreakpointBase lineBreakpointImpl = breakpoint instanceof XBreakpointBase ? (XBreakpointBase) breakpoint : null;
    Breakpoint javaBreakpoint = BreakpointManager.getJavaBreakpoint(breakpoint);
    CloudLineBreakpoint cloudBreakpoint = null;
    if (javaBreakpoint instanceof CloudLineBreakpoint) {
        cloudBreakpoint = (CloudLineBreakpoint) javaBreakpoint;
    }
    if (cloudBreakpoint == null || lineBreakpointImpl == null) {
        return;
    }
    errorPanel.setVisible(cloudBreakpoint.hasError());
    if (cloudBreakpoint.hasError()) {
        errorLabel.setForeground(JBColor.RED);
        errorDescription.setText(cloudBreakpoint.getErrorMessage());
    }
}
Also used : CloudLineBreakpoint(com.google.cloud.tools.intellij.debugger.CloudLineBreakpointType.CloudLineBreakpoint) XLineBreakpoint(com.intellij.xdebugger.breakpoints.XLineBreakpoint) Breakpoint(com.intellij.debugger.ui.breakpoints.Breakpoint) CloudLineBreakpoint(com.google.cloud.tools.intellij.debugger.CloudLineBreakpointType.CloudLineBreakpoint) XBreakpointBase(com.intellij.xdebugger.impl.breakpoints.XBreakpointBase)

Example 8 with XBreakpointBase

use of com.intellij.xdebugger.impl.breakpoints.XBreakpointBase in project google-cloud-intellij by GoogleCloudPlatform.

the class BreakpointConfigurationPanel method loadFrom.

@Override
public void loadFrom(@NotNull XLineBreakpoint<CloudLineBreakpointProperties> breakpoint) {
    XBreakpointBase lineBreakpointImpl = breakpoint instanceof XBreakpointBase ? (XBreakpointBase) breakpoint : null;
    Breakpoint javaBreakpoint = BreakpointManager.getJavaBreakpoint(breakpoint);
    CloudLineBreakpointType.CloudLineBreakpoint cloudBreakpoint = null;
    if (javaBreakpoint instanceof CloudLineBreakpointType.CloudLineBreakpoint) {
        cloudBreakpoint = (CloudLineBreakpointType.CloudLineBreakpoint) javaBreakpoint;
    }
    if (cloudBreakpoint == null || lineBreakpointImpl == null) {
        return;
    }
    XDebuggerEditorsProvider debuggerEditorsProvider = cloudLineBreakpointType.getEditorsProvider(breakpoint, cloudBreakpoint.getProject());
    if (debuggerEditorsProvider != null) {
        treePanel = new XDebuggerTreePanel(cloudBreakpoint.getProject(), debuggerEditorsProvider, this, breakpoint.getSourcePosition(), "GoogleCloudTools.BreakpointWatchContextMenu", null);
        List<XExpression> watches = new ArrayList<XExpression>();
        for (String watchExpression : breakpoint.getProperties().getWatchExpressions()) {
            watches.add(debuggerEditorsProvider.createExpression(((XBreakpointBase) breakpoint).getProject(), new DocumentImpl(watchExpression), getFileTypeLanguage(breakpoint), EvaluationMode.EXPRESSION));
        }
        rootNode = new WatchesRootNode(treePanel.getTree(), this, watches.toArray(new XExpression[watches.size()]));
        treePanel.getTree().setRoot(rootNode, false);
        watchPanel.removeAll();
        watchPanel.add(watchLabel, BorderLayout.NORTH);
        treePanel.getTree().getEmptyText().setText("There are no custom watches for this snapshot location.");
        final ToolbarDecorator decorator = ToolbarDecorator.createDecorator(treePanel.getTree()).disableUpDownActions();
        decorator.setToolbarPosition(ActionToolbarPosition.RIGHT);
        decorator.setAddAction(new AnActionButtonRunnable() {

            @Override
            public void run(AnActionButton button) {
                executeAction(XDebuggerActions.XNEW_WATCH);
            }
        });
        decorator.setRemoveAction(new AnActionButtonRunnable() {

            @Override
            public void run(AnActionButton button) {
                executeAction(XDebuggerActions.XREMOVE_WATCH);
            }
        });
        CustomLineBorder border = new CustomLineBorder(CaptionPanel.CNT_ACTIVE_BORDER_COLOR, SystemInfo.isMac ? 1 : 0, 0, SystemInfo.isMac ? 0 : 1, 0);
        decorator.setToolbarBorder(border);
        watchPanel.add(decorator.createPanel(), BorderLayout.CENTER);
    }
}
Also used : XLineBreakpoint(com.intellij.xdebugger.breakpoints.XLineBreakpoint) Breakpoint(com.intellij.debugger.ui.breakpoints.Breakpoint) AnActionButtonRunnable(com.intellij.ui.AnActionButtonRunnable) XBreakpointBase(com.intellij.xdebugger.impl.breakpoints.XBreakpointBase) XDebuggerTreePanel(com.intellij.xdebugger.impl.ui.tree.XDebuggerTreePanel) ArrayList(java.util.ArrayList) XDebuggerEditorsProvider(com.intellij.xdebugger.evaluation.XDebuggerEditorsProvider) DocumentImpl(com.intellij.openapi.editor.impl.DocumentImpl) AnActionButton(com.intellij.ui.AnActionButton) CustomLineBorder(com.intellij.ui.border.CustomLineBorder) WatchesRootNode(com.intellij.xdebugger.impl.ui.tree.nodes.WatchesRootNode) ToolbarDecorator(com.intellij.ui.ToolbarDecorator) XExpression(com.intellij.xdebugger.XExpression) CloudLineBreakpointType(com.google.cloud.tools.intellij.debugger.CloudLineBreakpointType)

Aggregations

XBreakpointBase (com.intellij.xdebugger.impl.breakpoints.XBreakpointBase)8 XBreakpoint (com.intellij.xdebugger.breakpoints.XBreakpoint)3 ArrayList (java.util.ArrayList)3 Breakpoint (com.intellij.debugger.ui.breakpoints.Breakpoint)2 XLineBreakpoint (com.intellij.xdebugger.breakpoints.XLineBreakpoint)2 JavaBreakpointProperties (org.jetbrains.java.debugger.breakpoints.properties.JavaBreakpointProperties)2 CloudLineBreakpointProperties (com.google.cloud.tools.intellij.debugger.CloudLineBreakpointProperties)1 CloudLineBreakpointType (com.google.cloud.tools.intellij.debugger.CloudLineBreakpointType)1 CloudLineBreakpoint (com.google.cloud.tools.intellij.debugger.CloudLineBreakpointType.CloudLineBreakpoint)1 UnsupportedExpressionException (com.intellij.debugger.engine.evaluation.expression.UnsupportedExpressionException)1 DocumentImpl (com.intellij.openapi.editor.impl.DocumentImpl)1 Project (com.intellij.openapi.project.Project)1 InvalidDataException (com.intellij.openapi.util.InvalidDataException)1 AnActionButton (com.intellij.ui.AnActionButton)1 AnActionButtonRunnable (com.intellij.ui.AnActionButtonRunnable)1 ToolbarDecorator (com.intellij.ui.ToolbarDecorator)1 CustomLineBorder (com.intellij.ui.border.CustomLineBorder)1 XExpression (com.intellij.xdebugger.XExpression)1 XBreakpointType (com.intellij.xdebugger.breakpoints.XBreakpointType)1 XDebuggerEditorsProvider (com.intellij.xdebugger.evaluation.XDebuggerEditorsProvider)1