diff options
author | Curtis Windatt | 2008-03-11 01:53:54 +0000 |
---|---|---|
committer | Curtis Windatt | 2008-03-11 01:53:54 +0000 |
commit | 0cff7dfb8269efd827dbe89319deef162bfb0dae (patch) | |
tree | 0eeb828f7452f1fe715145422043b9ce208220b5 /org.eclipse.debug.examples.ui/src | |
parent | 0eef3bce739f6ed1fda09bd791ca46e880b6e601 (diff) | |
download | eclipse.platform.debug-0cff7dfb8269efd827dbe89319deef162bfb0dae.tar.gz eclipse.platform.debug-0cff7dfb8269efd827dbe89319deef162bfb0dae.tar.xz eclipse.platform.debug-0cff7dfb8269efd827dbe89319deef162bfb0dae.zip |
Added example step over handler
Diffstat (limited to 'org.eclipse.debug.examples.ui/src')
2 files changed, 53 insertions, 1 deletions
diff --git a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/adapters/MidiAdapterFactory.java b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/adapters/MidiAdapterFactory.java index 2fe6cc27c..26696b1c6 100644 --- a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/adapters/MidiAdapterFactory.java +++ b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/adapters/MidiAdapterFactory.java @@ -14,6 +14,7 @@ import javax.sound.midi.MidiEvent; import javax.sound.midi.Track; import org.eclipse.core.runtime.IAdapterFactory; +import org.eclipse.debug.core.commands.IStepOverHandler; import org.eclipse.debug.examples.core.midi.launcher.MidiLaunch; import org.eclipse.debug.examples.core.midi.launcher.SequencerControl; import org.eclipse.debug.internal.ui.viewers.model.provisional.IColumnPresentationFactory; @@ -43,6 +44,8 @@ public class MidiAdapterFactory implements IAdapterFactory { private static IModelProxyFactory fgSequencerModelProxyFactory = new SequencerModelProxyFactory(); private static IElementMementoProvider fgMementoProvider = new ControlsMementoProvider(); + + private static IStepOverHandler fgStepOverHandler = new MidiStepOverHandler(); public Object getAdapter(Object adaptableObject, Class adapterType) { if (IElementContentProvider.class.equals(adapterType)) { @@ -86,10 +89,13 @@ public class MidiAdapterFactory implements IAdapterFactory { if (IElementMementoProvider.class.equals(adapterType)) { return fgMementoProvider; } + if (IStepOverHandler.class.equals(adapterType)) { + return fgStepOverHandler; + } return null; } public Class[] getAdapterList() { - return new Class[]{IElementContentProvider.class, IElementLabelProvider.class}; + return new Class[]{IElementContentProvider.class, IElementLabelProvider.class, IStepOverHandler.class}; } } diff --git a/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/adapters/MidiStepOverHandler.java b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/adapters/MidiStepOverHandler.java new file mode 100644 index 000000000..fb2bdaafa --- /dev/null +++ b/org.eclipse.debug.examples.ui/src/org/eclipse/debug/examples/ui/midi/adapters/MidiStepOverHandler.java @@ -0,0 +1,46 @@ +/******************************************************************************* + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.debug.examples.ui.midi.adapters; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.debug.core.commands.IDebugCommandRequest; +import org.eclipse.debug.core.commands.IEnabledStateRequest; +import org.eclipse.debug.core.commands.IStepOverHandler; + +/** + * Provides an example command handler for the step over action. + * On execute, it simply returns a status that is opened in an + * error dialog. + */ +public class MidiStepOverHandler implements IStepOverHandler { + + /* (non-Javadoc) + * @see org.eclipse.debug.core.commands.IDebugCommandHandler#canExecute(org.eclipse.debug.core.commands.IEnabledStateRequest) + */ + public void canExecute(IEnabledStateRequest request) { + // We could create a job here, schedule it, then return to be asynchronous + request.setEnabled(request.getElements().length > 0); + request.done(); + } + + /* (non-Javadoc) + * @see org.eclipse.debug.core.commands.IDebugCommandHandler#execute(org.eclipse.debug.core.commands.IDebugCommandRequest) + */ + public boolean execute(IDebugCommandRequest request) { + // We could create a job to do this work, schedule it, then return to be asynchronous + // If running asynchronously, remember to return the enablement you want the action to have while this action is run + request.setStatus(new Status(IStatus.WARNING,"org.eclipse.debug.examples.ui","This is an example command handler overriding the default using an adapter on " + request.getElements()[0].getClass().getName())); + request.done(); + return true; + } + +} |