Search in sources :

Example 11 with NodeDescriptorImpl

use of com.intellij.debugger.ui.impl.watch.NodeDescriptorImpl in project intellij-community by JetBrains.

the class JavaMarkObjectActionHandler method isMarked.

@Override
public boolean isMarked(@NotNull Project project, @NotNull AnActionEvent event) {
    final DebuggerTreeNodeImpl node = DebuggerAction.getSelectedNode(event.getDataContext());
    if (node == null)
        return false;
    final NodeDescriptorImpl descriptor = node.getDescriptor();
    if (!(descriptor instanceof ValueDescriptor))
        return false;
    DebugProcess debugProcess = node.getTree().getDebuggerContext().getDebugProcess();
    return ((ValueDescriptor) descriptor).getMarkup(debugProcess) != null;
}
Also used : DebugProcess(com.intellij.debugger.engine.DebugProcess) DebuggerTreeNodeImpl(com.intellij.debugger.ui.impl.watch.DebuggerTreeNodeImpl) ValueDescriptor(com.intellij.debugger.ui.tree.ValueDescriptor) NodeDescriptorImpl(com.intellij.debugger.ui.impl.watch.NodeDescriptorImpl)

Example 12 with NodeDescriptorImpl

use of com.intellij.debugger.ui.impl.watch.NodeDescriptorImpl in project intellij-community by JetBrains.

the class ResumeThreadAction method update.

public void update(AnActionEvent e) {
    DebuggerTreeNodeImpl[] selectedNodes = getSelectedNodes(e.getDataContext());
    boolean visible = false;
    boolean enabled = false;
    String text = DebuggerBundle.message("action.resume.thread.text.resume");
    if (selectedNodes != null && selectedNodes.length > 0) {
        visible = true;
        enabled = true;
        for (DebuggerTreeNodeImpl selectedNode : selectedNodes) {
            final NodeDescriptorImpl threadDescriptor = selectedNode.getDescriptor();
            if (!(threadDescriptor instanceof ThreadDescriptorImpl) || !((ThreadDescriptorImpl) threadDescriptor).isSuspended()) {
                visible = false;
                break;
            }
        }
    }
    final Presentation presentation = e.getPresentation();
    presentation.setText(text);
    presentation.setVisible(visible);
    presentation.setEnabled(enabled);
}
Also used : DebuggerTreeNodeImpl(com.intellij.debugger.ui.impl.watch.DebuggerTreeNodeImpl) ThreadDescriptorImpl(com.intellij.debugger.ui.impl.watch.ThreadDescriptorImpl) Presentation(com.intellij.openapi.actionSystem.Presentation) NodeDescriptorImpl(com.intellij.debugger.ui.impl.watch.NodeDescriptorImpl)

Example 13 with NodeDescriptorImpl

use of com.intellij.debugger.ui.impl.watch.NodeDescriptorImpl in project android by JetBrains.

the class InstancesTreeView method getTargetFiles.

@Nullable
private PsiClassNavigation[] getTargetFiles() {
    Object node = myDebuggerTree.getSelectionPath().getLastPathComponent();
    String className = null;
    if (node instanceof DebuggerTreeNodeImpl) {
        NodeDescriptorImpl nodeDescriptor = ((DebuggerTreeNodeImpl) node).getDescriptor();
        if (nodeDescriptor instanceof InstanceFieldDescriptorImpl) {
            Instance instance = ((InstanceFieldDescriptorImpl) nodeDescriptor).getInstance();
            if (instance != null) {
                if (instance instanceof ClassObj) {
                    className = ((ClassObj) instance).getClassName();
                } else {
                    className = instance.getClassObj().getClassName();
                    if (instance instanceof ArrayInstance) {
                        className = className.replace("[]", "");
                    }
                }
            }
        }
    }
    return PsiClassNavigation.getNavigationForClass(myProject, className);
}
Also used : DebuggerTreeNodeImpl(com.intellij.debugger.ui.impl.watch.DebuggerTreeNodeImpl) NodeDescriptorImpl(com.intellij.debugger.ui.impl.watch.NodeDescriptorImpl) Nullable(org.jetbrains.annotations.Nullable)

Aggregations

NodeDescriptorImpl (com.intellij.debugger.ui.impl.watch.NodeDescriptorImpl)13 DebuggerTreeNodeImpl (com.intellij.debugger.ui.impl.watch.DebuggerTreeNodeImpl)10 DebugProcessImpl (com.intellij.debugger.engine.DebugProcessImpl)5 DebuggerContextImpl (com.intellij.debugger.impl.DebuggerContextImpl)5 ThreadDescriptorImpl (com.intellij.debugger.ui.impl.watch.ThreadDescriptorImpl)4 ValueDescriptor (com.intellij.debugger.ui.tree.ValueDescriptor)4 ValueDescriptorImpl (com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl)3 DebuggerSession (com.intellij.debugger.impl.DebuggerSession)2 Presentation (com.intellij.openapi.actionSystem.Presentation)2 Project (com.intellij.openapi.project.Project)2 Nullable (org.jetbrains.annotations.Nullable)2 SourcePosition (com.intellij.debugger.SourcePosition)1 DebugProcess (com.intellij.debugger.engine.DebugProcess)1 Modifier (com.intellij.debugger.engine.evaluation.expression.Modifier)1 DebuggerCommandImpl (com.intellij.debugger.engine.events.DebuggerCommandImpl)1 DebuggerContextCommandImpl (com.intellij.debugger.engine.events.DebuggerContextCommandImpl)1 ThreadReferenceProxyImpl (com.intellij.debugger.jdi.ThreadReferenceProxyImpl)1 TreeBuilder (com.intellij.debugger.ui.impl.tree.TreeBuilder)1 DebuggerTree (com.intellij.debugger.ui.impl.watch.DebuggerTree)1 WatchItemDescriptor (com.intellij.debugger.ui.impl.watch.WatchItemDescriptor)1