Search in sources :

Example 1 with ErlangDebugElement

use of org.erlide.backend.debug.model.ErlangDebugElement in project erlide_eclipse by erlang.

the class InterpretedModulesView method contextActivated.

private void contextActivated(final ISelection selection) {
    if (!isAvailable() || !isVisible()) {
        return;
    }
    erlangDebugTarget = null;
    if (selection instanceof IStructuredSelection) {
        final IStructuredSelection structuredSelection = (IStructuredSelection) selection;
        final Object o = structuredSelection.getFirstElement();
        if (o instanceof ErlangDebugElement) {
            final ErlangDebugElement e = (ErlangDebugElement) o;
            erlangDebugTarget = e.getErlangDebugTarget();
        } else if (o instanceof ILaunch) {
            final ILaunch launch = (ILaunch) o;
            final IDebugTarget target = launch.getDebugTarget();
            if (target instanceof IErlangDebugNode) {
                final IErlangDebugNode edn = (IErlangDebugNode) target;
                erlangDebugTarget = edn.getErlangDebugTarget();
            }
        } else if (o instanceof RuntimeProcess) {
            final RuntimeProcess ep = (RuntimeProcess) o;
            final ILaunch launch = ep.getLaunch();
            final IDebugTarget target = launch.getDebugTarget();
            if (target instanceof IErlangDebugNode) {
                final IErlangDebugNode edn = (IErlangDebugNode) target;
                erlangDebugTarget = edn.getErlangDebugTarget();
            }
        }
        if (erlangDebugTarget == null) {
            ErlLogger.debug("no debug target found for " + selection);
            return;
        }
        final ILaunchConfiguration launchConfiguration = erlangDebugTarget.getLaunch().getLaunchConfiguration();
        setViewerInput(launchConfiguration);
        try {
            final EnumSet<ErlDebugFlags> debugFlags = ErlDebugFlags.makeSet(launchConfiguration.getAttribute(ErlRuntimeAttributes.DEBUG_FLAGS, ErlDebugFlags.getFlag(ErlDebugFlags.DEFAULT_DEBUG_FLAGS)));
            distributed = debugFlags.contains(ErlDebugFlags.DISTRIBUTED_DEBUG);
        } catch (final CoreException e1) {
            distributed = false;
        }
    }
    listViewer.refresh();
    showViewer();
// updateAction(VARIABLES_FIND_ELEMENT_ACTION);
// updateAction(FIND_ACTION);
}
Also used : ILaunchConfiguration(org.eclipse.debug.core.ILaunchConfiguration) IErlangDebugNode(org.erlide.backend.debug.IErlangDebugNode) CoreException(org.eclipse.core.runtime.CoreException) ErlDebugFlags(org.erlide.runtime.api.ErlDebugFlags) RuntimeProcess(org.eclipse.debug.core.model.RuntimeProcess) ILaunch(org.eclipse.debug.core.ILaunch) IDebugTarget(org.eclipse.debug.core.model.IDebugTarget) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) ErlangDebugElement(org.erlide.backend.debug.model.ErlangDebugElement)

Example 2 with ErlangDebugElement

use of org.erlide.backend.debug.model.ErlangDebugElement in project erlide_eclipse by erlang.

the class ErlangTracingAction method selectionChanged.

@Override
public void selectionChanged(final IAction action, final ISelection selection) {
    fLaunch = null;
    if (selection instanceof IStructuredSelection) {
        final IStructuredSelection ss = (IStructuredSelection) selection;
        for (final Object o : ss.toArray()) {
            if (o instanceof ErlangDebugElement) {
                final ErlangDebugElement d = (ErlangDebugElement) o;
                fLaunch = d.getLaunch();
            } else if (o instanceof ILaunch) {
                fLaunch = (ILaunch) o;
            } else if (o instanceof IProcess) {
                final IProcess p = (IProcess) o;
                fLaunch = p.getLaunch();
            }
        }
    }
}
Also used : ILaunch(org.eclipse.debug.core.ILaunch) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) IProcess(org.eclipse.debug.core.model.IProcess) ErlangDebugElement(org.erlide.backend.debug.model.ErlangDebugElement)

Aggregations

ILaunch (org.eclipse.debug.core.ILaunch)2 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)2 ErlangDebugElement (org.erlide.backend.debug.model.ErlangDebugElement)2 CoreException (org.eclipse.core.runtime.CoreException)1 ILaunchConfiguration (org.eclipse.debug.core.ILaunchConfiguration)1 IDebugTarget (org.eclipse.debug.core.model.IDebugTarget)1 IProcess (org.eclipse.debug.core.model.IProcess)1 RuntimeProcess (org.eclipse.debug.core.model.RuntimeProcess)1 IErlangDebugNode (org.erlide.backend.debug.IErlangDebugNode)1 ErlDebugFlags (org.erlide.runtime.api.ErlDebugFlags)1