From 70dec0bd0dc149533f80d0692f5cab2276a1507c Mon Sep 17 00:00:00 2001 From: Pawel Piech Date: Mon, 20 Oct 2008 22:55:30 +0000 Subject: [PATCH] [251452] - [update policies] Add a "Refresh All" action. --- .../.settings/.api_filters | 120 ++++----- .../META-INF/MANIFEST.MF | 1 - .../plugin.properties | 6 +- .../org.eclipse.dd.dsf.debug.ui/plugin.xml | 166 +++++++------ .../viewmodel/actions/IRefreshAllTarget.java | 31 +++ ...MCommandUtils.java => VMHandlerUtils.java} | 24 +- .../NumberFormatsContribution.java | 4 +- .../NumberFormatsPropertyTester.java | 4 +- .../update/actions/RefreshActionDelegate.java | 50 ---- .../actions/MessagesForVMActions.java} | 15 +- .../actions/RefreshAllRetargetAction.java | 37 +++ .../ui/viewmodel/actions/RefreshHandler.java | 31 +++ .../ui/viewmodel/actions/RetargetAction.java | 227 ++++++++++++++++++ .../actions/RetargetDebugContextAction.java | 148 ++++++++++++ .../actions/UpdatePoliciesContribution.java | 8 +- .../actions/UpdatePoliciesPropertyTester.java | 6 +- .../actions/UpdateScopesContribution.java | 8 +- .../actions/UpdateScopesPropertyTester.java | 6 +- .../viewmodel}/actions/messages.properties | 3 + 19 files changed, 688 insertions(+), 207 deletions(-) create mode 100644 plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/actions/IRefreshAllTarget.java rename plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/actions/{VMCommandUtils.java => VMHandlerUtils.java} (85%) delete mode 100644 plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/RefreshActionDelegate.java rename plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/{provisional/ui/viewmodel/update/actions/MessagesForVMUpdateActions.java => ui/viewmodel/actions/MessagesForVMActions.java} (66%) create mode 100644 plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RefreshAllRetargetAction.java create mode 100644 plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RefreshHandler.java create mode 100644 plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RetargetAction.java create mode 100644 plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RetargetDebugContextAction.java rename plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/{provisional/ui/viewmodel/update => ui/viewmodel}/actions/UpdatePoliciesContribution.java (93%) rename plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/{provisional/ui/viewmodel/update => ui/viewmodel}/actions/UpdatePoliciesPropertyTester.java (95%) rename plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/{provisional/ui/viewmodel/update => ui/viewmodel}/actions/UpdateScopesContribution.java (93%) rename plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/{provisional/ui/viewmodel/update => ui/viewmodel}/actions/UpdateScopesPropertyTester.java (95%) rename plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/{provisional/ui/viewmodel/update => ui/viewmodel}/actions/messages.properties (85%) diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/.settings/.api_filters b/plugins/org.eclipse.dd.dsf.debug.ui/.settings/.api_filters index 5a72f5a7afe..b82a6fb1259 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/.settings/.api_filters +++ b/plugins/org.eclipse.dd.dsf.debug.ui/.settings/.api_filters @@ -48,10 +48,10 @@ - + - + @@ -64,10 +64,10 @@ - + - + @@ -88,14 +88,6 @@ - - - - - - - - @@ -104,6 +96,14 @@ + + + + + + + + @@ -192,14 +192,6 @@ - - - - - - - - @@ -208,6 +200,14 @@ + + + + + + + + @@ -224,14 +224,6 @@ - - - - - - - - @@ -264,14 +256,6 @@ - - - - - - - - @@ -280,6 +264,14 @@ + + + + + + + + @@ -288,6 +280,22 @@ + + + + + + + + + + + + + + + + @@ -336,14 +344,6 @@ - - - - - - - - @@ -352,6 +352,14 @@ + + + + + + + + @@ -368,6 +376,14 @@ + + + + + + + + @@ -376,20 +392,4 @@ - - - - - - - - - - - - - - - - diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.dd.dsf.debug.ui/META-INF/MANIFEST.MF index 75fd46891b1..034abd8ff39 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.dd.dsf.debug.ui/META-INF/MANIFEST.MF @@ -37,7 +37,6 @@ Export-Package: org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.numberformat;x-internal:=true, org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.register;x-internal:=true, org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.update;x-internal:=true, - org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.update.actions;x-internal:=true, org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.variable;x-internal:=true, org.eclipse.dd.dsf.debug.ui, org.eclipse.dd.dsf.debug.ui.actions, diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/plugin.properties b/plugins/org.eclipse.dd.dsf.debug.ui/plugin.properties index 28d20409a8c..cb75b8ddd18 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/plugin.properties +++ b/plugins/org.eclipse.dd.dsf.debug.ui/plugin.properties @@ -28,8 +28,6 @@ commandContext.description= When debugging in assembly mode # actions action.breakpointProperties.label = Breakpoint Properties... -action.refresh.label = Refresh - menu.updatePolicy = Update Policy menu.threadsUpdatePolicy = Threads Update Policy menu.updateScope = Update Scope @@ -40,6 +38,10 @@ preferencePage.name = DSF action.expandStack.label = E&xpand Stack +action.refreshAll.name=Refresh Debug Views + +command.refresh.name=Refresh + # Preferences debugCallStack = Debug Call Stack diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/plugin.xml b/plugins/org.eclipse.dd.dsf.debug.ui/plugin.xml index d1b586a2b76..8127988b5eb 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/plugin.xml +++ b/plugins/org.eclipse.dd.dsf.debug.ui/plugin.xml @@ -55,61 +55,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -140,9 +85,21 @@ + class="org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions.UpdatePoliciesContribution"> - + + + + + + + + @@ -162,7 +119,7 @@ + class="org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions.UpdatePoliciesContribution"> + class="org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions.UpdateScopesContribution"> @@ -191,6 +148,18 @@ + + + + + + + + class="org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions.UpdatePoliciesContribution"> + class="org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions.UpdateScopesContribution"> @@ -238,6 +207,18 @@ + + + + + + + + class="org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions.UpdatePoliciesContribution"> + class="org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions.UpdateScopesContribution"> @@ -285,8 +266,30 @@ + + + + + + + + + + + + + + + + + + + + @@ -315,6 +323,11 @@ args="org.eclipse.dd.dsf.debug.ui" value="ACTIVE"/> + + + + + @@ -348,14 +361,14 @@ - + + + + + + + diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/actions/IRefreshAllTarget.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/actions/IRefreshAllTarget.java new file mode 100644 index 00000000000..8e306dfc4b2 --- /dev/null +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/actions/IRefreshAllTarget.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems 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: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.jface.viewers.ISelection; + +/** + * A retargetable action target which allows a debugger to refresh all of its + * active views with fresh data from the debug target. + * + * @since 1.1 + */ +public interface IRefreshAllTarget { + + /** + * Refreshes the debugger data of the given debug context. + * @param debugContext The active window debug context. + * + * @throws CoreException + */ + public void refresh(ISelection debugContext) throws CoreException; +} diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/actions/VMCommandUtils.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/actions/VMHandlerUtils.java similarity index 85% rename from plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/actions/VMCommandUtils.java rename to plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/actions/VMHandlerUtils.java index 24e3a25ac24..a89852da788 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/actions/VMCommandUtils.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/actions/VMHandlerUtils.java @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions; +import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.dd.dsf.ui.viewmodel.IVMAdapter; import org.eclipse.dd.dsf.ui.viewmodel.IVMContext; @@ -27,6 +28,7 @@ import org.eclipse.ui.ISelectionService; import org.eclipse.ui.IViewPart; import org.eclipse.ui.IViewSite; import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.handlers.HandlerUtil; import org.eclipse.ui.services.IServiceLocator; /** @@ -36,7 +38,7 @@ import org.eclipse.ui.services.IServiceLocator; * @since 1.1 */ @SuppressWarnings("restriction") -public class VMCommandUtils { +public class VMHandlerUtils { /** * Retrieves the active VM provider based on the currently active @@ -67,7 +69,25 @@ public class VMCommandUtils { return getVMProviderForPart(part); } } - + + /** + * Retrieves the active VM provider based on the given execution event. + * @param event The execution event which is usually given as an argument + * to the command handler execution call. + * + * @return The active VM provder. + */ + static public IVMProvider getActiveVMProvider(ExecutionEvent event) { + ISelection selection = HandlerUtil.getCurrentSelection(event); + if (selection != null && !selection.isEmpty()) { + return getVMProviderForSelection(selection); + } + else { + IWorkbenchPart part = HandlerUtil.getActivePart(event); + return getVMProviderForPart(part); + } + } + public static IVMProvider getVMProviderForPart(IWorkbenchPart part) { IDebugContextService contextService = DebugUITools.getDebugContextManager().getContextService(part.getSite().getWorkbenchWindow()); diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/numberformat/NumberFormatsContribution.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/numberformat/NumberFormatsContribution.java index fdd21934846..2f7d579060d 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/numberformat/NumberFormatsContribution.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/numberformat/NumberFormatsContribution.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.Map; import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.IDebugVMConstants; -import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMCommandUtils; +import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMHandlerUtils; import org.eclipse.dd.dsf.debug.service.IFormattedValues; import org.eclipse.dd.dsf.ui.viewmodel.IVMProvider; import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext; @@ -87,7 +87,7 @@ public class NumberFormatsContribution extends CompoundContributionItem implemen @Override protected IContributionItem[] getContributionItems() { - IVMProvider provider = VMCommandUtils.getActiveVMProvider(fServiceLocator); + IVMProvider provider = VMHandlerUtils.getActiveVMProvider(fServiceLocator); // If no part or selection, disable all. if (provider == null) { diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/numberformat/NumberFormatsPropertyTester.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/numberformat/NumberFormatsPropertyTester.java index 8245b9335df..358025017d8 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/numberformat/NumberFormatsPropertyTester.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/numberformat/NumberFormatsPropertyTester.java @@ -15,7 +15,7 @@ import java.util.List; import org.eclipse.core.expressions.PropertyTester; import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.IDebugVMConstants; -import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMCommandUtils; +import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMHandlerUtils; import org.eclipse.dd.dsf.debug.service.IFormattedValues; import org.eclipse.dd.dsf.ui.viewmodel.IVMContext; import org.eclipse.dd.dsf.ui.viewmodel.IVMProvider; @@ -65,7 +65,7 @@ public class NumberFormatsPropertyTester extends PropertyTester { return testProvider(provider, property, expectedValue); } } else if (receiver instanceof IDebugView) { - IVMProvider provider = VMCommandUtils.getVMProviderForPart((IDebugView)receiver); + IVMProvider provider = VMHandlerUtils.getVMProviderForPart((IDebugView)receiver); if (provider != null) { return testProvider(provider, property, expectedValue); } diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/RefreshActionDelegate.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/RefreshActionDelegate.java deleted file mode 100644 index 92f9da6f94a..00000000000 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/RefreshActionDelegate.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems 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: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.update.actions; - -import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.AbstractVMProviderActionDelegate; -import org.eclipse.dd.dsf.ui.viewmodel.IVMProvider; -import org.eclipse.dd.dsf.ui.viewmodel.update.ICachingVMProvider; -import org.eclipse.debug.ui.contexts.DebugContextEvent; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.ui.IViewPart; - -/** - * - */ -public class RefreshActionDelegate extends AbstractVMProviderActionDelegate { - - public void run(IAction action) { - IVMProvider provider = getVMProvider(); - if (provider instanceof ICachingVMProvider) { - ((ICachingVMProvider)provider).refresh(); - } - } - - @Override - public void init(IViewPart view) { - super.init(view); - getAction().setEnabled(getVMProvider() instanceof ICachingVMProvider); - } - - @Override - public void debugContextChanged(DebugContextEvent event) { - super.debugContextChanged(event); - getAction().setEnabled(getVMProvider() instanceof ICachingVMProvider); - } - - @Override - public void selectionChanged(IAction action, ISelection selection) { - super.selectionChanged(action, selection); - getAction().setEnabled(getVMProvider() instanceof ICachingVMProvider); - } -} diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/MessagesForVMUpdateActions.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/MessagesForVMActions.java similarity index 66% rename from plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/MessagesForVMUpdateActions.java rename to plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/MessagesForVMActions.java index bb20f1bd25c..43927224e44 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/MessagesForVMUpdateActions.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/MessagesForVMActions.java @@ -9,21 +9,24 @@ * Wind River Systems, Inc. - initial API and implementation *******************************************************************************/ -package org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.update.actions; +package org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions; import org.eclipse.osgi.util.NLS; -public class MessagesForVMUpdateActions extends NLS { +public class MessagesForVMActions extends NLS { - private static final String BUNDLE_NAME = "org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.update.actions.messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions.messages"; //$NON-NLS-1$ + public static String RetargetDebugContextAction_ErrorDialog_title; + public static String RetargetDebugContextAction_ErrorDialog_message; + public static String UpdatePoliciesContribution_EmptyPoliciesList_label; public static String UpdateScopesContribution_EmptyScopesList_label; - + static { // initialize resource bundle - NLS.initializeMessages(BUNDLE_NAME, MessagesForVMUpdateActions.class); + NLS.initializeMessages(BUNDLE_NAME, MessagesForVMActions.class); } - private MessagesForVMUpdateActions() {} + private MessagesForVMActions() {} } diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RefreshAllRetargetAction.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RefreshAllRetargetAction.java new file mode 100644 index 00000000000..37e203c199e --- /dev/null +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RefreshAllRetargetAction.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems 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: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.IRefreshAllTarget; +import org.eclipse.jface.viewers.ISelection; + +/** + * + */ +public class RefreshAllRetargetAction extends RetargetDebugContextAction { + + @Override + protected boolean canPerformAction(Object target, ISelection selection) { + return true; + } + + @Override + protected Class getAdapterClass() { + return IRefreshAllTarget.class; + } + + @Override + protected void performAction(Object target, ISelection debugContext) throws CoreException { + ((IRefreshAllTarget)target).refresh(debugContext); + } + +} diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RefreshHandler.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RefreshHandler.java new file mode 100644 index 00000000000..88432d7d2cb --- /dev/null +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RefreshHandler.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems 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: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMHandlerUtils; +import org.eclipse.dd.dsf.ui.viewmodel.IVMProvider; +import org.eclipse.dd.dsf.ui.viewmodel.update.ICachingVMProvider; + +public class RefreshHandler extends AbstractHandler { + + public Object execute(ExecutionEvent event) throws ExecutionException { + IVMProvider vmProvider = VMHandlerUtils.getActiveVMProvider(event); + + if (vmProvider instanceof ICachingVMProvider) { + ((ICachingVMProvider)vmProvider).refresh(); + } + + return null; + } +} diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RetargetAction.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RetargetAction.java new file mode 100644 index 00000000000..7e615e650ef --- /dev/null +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RetargetAction.java @@ -0,0 +1,227 @@ +/******************************************************************************* + * Copyright (c) 2000, 2007 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 + * Anton Leherbauer (Wind River Systems) - bug 183291 + *******************************************************************************/ +package org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IAdapterManager; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.dialogs.ErrorDialog; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IPartListener; +import org.eclipse.ui.IPartService; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.IWorkbenchWindowActionDelegate; +import org.eclipse.ui.texteditor.IUpdate; + +/** + * Global retargettable debug action. + * + * @since 3.0 + */ +public abstract class RetargetAction implements IWorkbenchWindowActionDelegate, IPartListener, IUpdate { + + protected IWorkbenchWindow fWindow = null; + private IWorkbenchPart fActivePart = null; + private Object fTargetAdapter = null; + private IAction fAction = null; + private static final ISelection EMPTY_SELECTION = new EmptySelection(); + + static class EmptySelection implements ISelection { + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ISelection#isEmpty() + */ + public boolean isEmpty() { + return true; + } + + } + + /** + * Returns the current selection in the active part, possibly + * and empty selection, but never null. + * + * @return the selection in the active part, possibly empty + */ + private ISelection getTargetSelection() { + if (fActivePart != null) { + ISelectionProvider selectionProvider = fActivePart.getSite().getSelectionProvider(); + if (selectionProvider != null) { + return selectionProvider.getSelection(); + } + } + return EMPTY_SELECTION; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose() + */ + public void dispose() { + fWindow.getPartService().removePartListener(this); + fActivePart = null; + fTargetAdapter = null; + + } + /* (non-Javadoc) + * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow) + */ + public void init(IWorkbenchWindow window) { + this.fWindow = window; + IPartService partService = window.getPartService(); + partService.addPartListener(this); + IWorkbenchPart part = partService.getActivePart(); + if (part != null) { + partActivated(part); + } + } + /* (non-Javadoc) + * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) + */ + public void run(IAction action) { + if (fTargetAdapter != null) { + try { + performAction(fTargetAdapter, getTargetSelection(), fActivePart); + } catch (CoreException e) { + ErrorDialog.openError(fWindow.getShell(), MessagesForVMActions.RetargetDebugContextAction_ErrorDialog_title, MessagesForVMActions.RetargetDebugContextAction_ErrorDialog_message, e.getStatus()); + } + } + } + + /** + * Performs the specific breakpoint toggling. + * + * @param selection selection in the active part + * @param part active part + * @throws CoreException if an exception occurrs + */ + protected abstract void performAction(Object target, ISelection selection, IWorkbenchPart part) throws CoreException; + + /* (non-Javadoc) + * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) + */ + public void selectionChanged(IAction action, ISelection selection) { + this.fAction = action; + // if the active part did not provide an adapter, see if the selectoin does + if (fTargetAdapter == null && selection instanceof IStructuredSelection) { + IStructuredSelection ss = (IStructuredSelection) selection; + if (!ss.isEmpty()) { + Object object = ss.getFirstElement(); + if (object instanceof IAdaptable) { + fTargetAdapter = getAdapter((IAdaptable) object); + } + } + } + update(); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener#partActivated(org.eclipse.ui.IWorkbenchPart) + */ + public void partActivated(IWorkbenchPart part) { + fActivePart = part; + IResource resource = (IResource) part.getAdapter(IResource.class); + if (resource == null && part instanceof IEditorPart) { + resource = (IResource) ((IEditorPart)part).getEditorInput().getAdapter(IResource.class); + } + if (resource != null) { + fTargetAdapter = getAdapter(resource); + } + if (fTargetAdapter == null) { + fTargetAdapter = getAdapter(part); + } + update(); + } + + protected Object getAdapter(IAdaptable adaptable) { + Object adapter = adaptable.getAdapter(getAdapterClass()); + if (adapter == null) { + IAdapterManager adapterManager = Platform.getAdapterManager(); + if (adapterManager.hasAdapter(adaptable, getAdapterClass().getName())) { + fTargetAdapter = adapterManager.loadAdapter(adaptable, getAdapterClass().getName()); + } + } + return adapter; + } + + /** + * Returns the type of adapter (target) this action works on. + * + * @return the type of adapter this action works on + */ + protected abstract Class getAdapterClass(); + + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener#partBroughtToTop(org.eclipse.ui.IWorkbenchPart) + */ + public void partBroughtToTop(IWorkbenchPart part) { + } + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener#partClosed(org.eclipse.ui.IWorkbenchPart) + */ + public void partClosed(IWorkbenchPart part) { + clearPart(part); + } + + /** + * Clears reference to active part and adapter when a relevant part + * is closed or deactivated. + * + * @param part workbench part that has been closed or deactivated + */ + protected void clearPart(IWorkbenchPart part) { + if (part.equals(fActivePart)) { + fActivePart = null; + fTargetAdapter = null; + } + } + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener#partDeactivated(org.eclipse.ui.IWorkbenchPart) + */ + public void partDeactivated(IWorkbenchPart part) { + clearPart(part); + } + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener#partOpened(org.eclipse.ui.IWorkbenchPart) + */ + public void partOpened(IWorkbenchPart part) { + } + /* (non-Javadoc) + * @see org.eclipse.ui.texteditor.IUpdate#update() + */ + public void update() { + if (fAction == null) { + return; + } + if (fTargetAdapter != null) { + fAction.setEnabled(canPerformAction(fTargetAdapter, getTargetSelection(), fActivePart)); + } else { + fAction.setEnabled(false); + } + } + + /** + * Returns whether the specific operation is supported. + * + * @param target the target adapter + * @param selection the selection to verify the operation on + * @param part the part the operation has been requested on + * @return whether the operation can be performed + */ + protected abstract boolean canPerformAction(Object target, ISelection selection, IWorkbenchPart part); +} diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RetargetDebugContextAction.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RetargetDebugContextAction.java new file mode 100644 index 00000000000..e888e015288 --- /dev/null +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/RetargetDebugContextAction.java @@ -0,0 +1,148 @@ +/******************************************************************************* + * Copyright (c) 2007, 2008 Wind River Systems 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: + * Ted R Williams (Wind River Systems, Inc.) - initial implementation + *******************************************************************************/ + +package org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IAdapterManager; +import org.eclipse.core.runtime.Platform; +import org.eclipse.debug.ui.DebugUITools; +import org.eclipse.debug.ui.contexts.DebugContextEvent; +import org.eclipse.debug.ui.contexts.IDebugContextListener; +import org.eclipse.debug.ui.contexts.IDebugContextService; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.dialogs.ErrorDialog; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.swt.widgets.Event; +import org.eclipse.ui.IActionDelegate2; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.IWorkbenchWindowActionDelegate; + +/** + * @since 1.1 + */ +abstract public class RetargetDebugContextAction implements IWorkbenchWindowActionDelegate, IDebugContextListener, IActionDelegate2 { + + private IWorkbenchWindow fWindow = null; + private IAction fAction = null; + private ISelection fDebugContext; + private Object fTargetAdapter = null; + + /* (non-Javadoc) + * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow) + */ + public void init(IWorkbenchWindow window) { + fWindow = window; + IDebugContextService debugContextService = DebugUITools.getDebugContextManager().getContextService(fWindow); + debugContextService.addPostDebugContextListener(this); + fDebugContext = debugContextService.getActiveContext(); + update(); + } + + + public void selectionChanged(IAction action, ISelection selection) { + if (fAction != action) { + fAction = action; + } + // Update on debug context changed events + } + + public void runWithEvent(IAction action, Event event) { + run(action); + } + + public void run(IAction action) { + if (fTargetAdapter != null) { + try { + performAction(fTargetAdapter, fDebugContext); + } catch (CoreException e) { + ErrorDialog.openError(fWindow.getShell(), MessagesForVMActions.RetargetDebugContextAction_ErrorDialog_title, MessagesForVMActions.RetargetDebugContextAction_ErrorDialog_message, e.getStatus()); + } + } + } + + /** + * Returns whether the specific operation is supported. + * + * @param target the target adapter + * @param selection the selection to verify the operation on + * @param part the part the operation has been requested on + * @return whether the operation can be performed + */ + protected abstract boolean canPerformAction(Object target, ISelection debugContext); + + /** + * Performs the specific breakpoint toggling. + * + * @param selection selection in the active part + * @param part active part + * @throws CoreException if an exception occurrs + */ + protected abstract void performAction(Object target, ISelection debugContext) throws CoreException; + + /** + * Returns the type of adapter (target) this action works on. + * + * @return the type of adapter this action works on + */ + protected abstract Class getAdapterClass(); + + public void init(IAction action) { + fAction = action; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.texteditor.IUpdate#update() + */ + public void update() { + if (fAction == null) { + return; + } + if (fTargetAdapter != null) { + fAction.setEnabled(canPerformAction(fTargetAdapter, fDebugContext)); + } else { + fAction.setEnabled(false); + } + } + + public void dispose() { + DebugUITools.getDebugContextManager().getContextService(fWindow).removePostDebugContextListener(this); + fTargetAdapter = null; + } + + public void debugContextChanged(DebugContextEvent event) { + fDebugContext = event.getContext(); + fTargetAdapter = null; + if (fDebugContext instanceof IStructuredSelection) { + IStructuredSelection ss = (IStructuredSelection) fDebugContext; + if (!ss.isEmpty()) { + Object object = ss.getFirstElement(); + if (object instanceof IAdaptable) { + fTargetAdapter = getAdapter((IAdaptable) object); + } + } + } + update(); + } + + protected Object getAdapter(IAdaptable adaptable) { + Object adapter = adaptable.getAdapter(getAdapterClass()); + if (adapter == null) { + IAdapterManager adapterManager = Platform.getAdapterManager(); + if (adapterManager.hasAdapter(adaptable, getAdapterClass().getName())) { + fTargetAdapter = adapterManager.loadAdapter(adaptable, getAdapterClass().getName()); + } + } + return adapter; + } +} diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/UpdatePoliciesContribution.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/UpdatePoliciesContribution.java similarity index 93% rename from plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/UpdatePoliciesContribution.java rename to plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/UpdatePoliciesContribution.java index 801e1e7a7a1..5ff4f9d6139 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/UpdatePoliciesContribution.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/UpdatePoliciesContribution.java @@ -8,12 +8,12 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.update.actions; +package org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions; import java.util.ArrayList; import java.util.List; -import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMCommandUtils; +import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMHandlerUtils; import org.eclipse.dd.dsf.ui.viewmodel.IVMProvider; import org.eclipse.dd.dsf.ui.viewmodel.update.ICachingVMProvider; import org.eclipse.dd.dsf.ui.viewmodel.update.IVMUpdatePolicy; @@ -61,7 +61,7 @@ public class UpdatePoliciesContribution extends CompoundContributionItem impleme public void fill(Menu menu, int index) { MenuItem item = new MenuItem(menu, SWT.NONE); item.setEnabled(false); - item.setText(MessagesForVMUpdateActions.UpdateScopesContribution_EmptyScopesList_label); + item.setText(MessagesForVMActions.UpdateScopesContribution_EmptyScopesList_label); } @Override @@ -73,7 +73,7 @@ public class UpdatePoliciesContribution extends CompoundContributionItem impleme @Override protected IContributionItem[] getContributionItems() { - IVMProvider provider = VMCommandUtils.getActiveVMProvider(fServiceLocator); + IVMProvider provider = VMHandlerUtils.getActiveVMProvider(fServiceLocator); // If no part or selection, disable all. if (provider == null || !(provider instanceof ICachingVMProvider)) { diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/UpdatePoliciesPropertyTester.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/UpdatePoliciesPropertyTester.java similarity index 95% rename from plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/UpdatePoliciesPropertyTester.java rename to plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/UpdatePoliciesPropertyTester.java index 279833a1903..7a1278edfd4 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/UpdatePoliciesPropertyTester.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/UpdatePoliciesPropertyTester.java @@ -8,10 +8,10 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.update.actions; +package org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions; import org.eclipse.core.expressions.PropertyTester; -import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMCommandUtils; +import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMHandlerUtils; import org.eclipse.dd.dsf.ui.viewmodel.IVMContext; import org.eclipse.dd.dsf.ui.viewmodel.IVMProvider; import org.eclipse.dd.dsf.ui.viewmodel.update.ICachingVMProvider; @@ -51,7 +51,7 @@ public class UpdatePoliciesPropertyTester extends PropertyTester { return testProvider((ICachingVMProvider)provider, property, expectedValue); } } else if (receiver instanceof IDebugView) { - IVMProvider provider = VMCommandUtils.getVMProviderForPart((IDebugView)receiver); + IVMProvider provider = VMHandlerUtils.getVMProviderForPart((IDebugView)receiver); if (provider instanceof ICachingVMProvider) { return testProvider((ICachingVMProvider)provider, property, expectedValue); } diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/UpdateScopesContribution.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/UpdateScopesContribution.java similarity index 93% rename from plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/UpdateScopesContribution.java rename to plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/UpdateScopesContribution.java index 54ed7a5b568..311659cb338 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/UpdateScopesContribution.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/UpdateScopesContribution.java @@ -8,12 +8,12 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.update.actions; +package org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions; import java.util.ArrayList; import java.util.List; -import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMCommandUtils; +import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMHandlerUtils; import org.eclipse.dd.dsf.ui.viewmodel.IVMProvider; import org.eclipse.dd.dsf.ui.viewmodel.update.ICachingVMProviderExtension; import org.eclipse.dd.dsf.ui.viewmodel.update.IVMUpdateScope; @@ -61,7 +61,7 @@ public class UpdateScopesContribution extends CompoundContributionItem implement public void fill(Menu menu, int index) { MenuItem item = new MenuItem(menu, SWT.NONE); item.setEnabled(false); - item.setText(MessagesForVMUpdateActions.UpdateScopesContribution_EmptyScopesList_label); + item.setText(MessagesForVMActions.UpdateScopesContribution_EmptyScopesList_label); } @Override @@ -73,7 +73,7 @@ public class UpdateScopesContribution extends CompoundContributionItem implement @Override protected IContributionItem[] getContributionItems() { - IVMProvider provider = VMCommandUtils.getActiveVMProvider(fServiceLocator); + IVMProvider provider = VMHandlerUtils.getActiveVMProvider(fServiceLocator); // If no part or selection, disable all. if (provider == null || !(provider instanceof ICachingVMProviderExtension)) { diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/UpdateScopesPropertyTester.java b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/UpdateScopesPropertyTester.java similarity index 95% rename from plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/UpdateScopesPropertyTester.java rename to plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/UpdateScopesPropertyTester.java index 95459fa56c2..ea01a5937ff 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/UpdateScopesPropertyTester.java +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/UpdateScopesPropertyTester.java @@ -8,10 +8,10 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.update.actions; +package org.eclipse.dd.dsf.debug.internal.ui.viewmodel.actions; import org.eclipse.core.expressions.PropertyTester; -import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMCommandUtils; +import org.eclipse.dd.dsf.debug.internal.provisional.ui.viewmodel.actions.VMHandlerUtils; import org.eclipse.dd.dsf.ui.viewmodel.IVMContext; import org.eclipse.dd.dsf.ui.viewmodel.IVMProvider; import org.eclipse.dd.dsf.ui.viewmodel.update.ICachingVMProviderExtension; @@ -51,7 +51,7 @@ public class UpdateScopesPropertyTester extends PropertyTester { return testProvider((ICachingVMProviderExtension)provider, property, expectedValue); } } else if (receiver instanceof IDebugView) { - IVMProvider provider = VMCommandUtils.getVMProviderForPart((IDebugView)receiver); + IVMProvider provider = VMHandlerUtils.getVMProviderForPart((IDebugView)receiver); if (provider instanceof ICachingVMProviderExtension) { return testProvider((ICachingVMProviderExtension)provider, property, expectedValue); } diff --git a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/messages.properties b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/messages.properties similarity index 85% rename from plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/messages.properties rename to plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/messages.properties index eb7f8f49e85..96a770ac132 100644 --- a/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/provisional/ui/viewmodel/update/actions/messages.properties +++ b/plugins/org.eclipse.dd.dsf.debug.ui/src/org/eclipse/dd/dsf/debug/internal/ui/viewmodel/actions/messages.properties @@ -9,5 +9,8 @@ # Wind River Systems Inc - copied for non-restricted version for DSDP/DD/DSF ############################################################################### +RetargetDebugContextAction_ErrorDialog_title=Error +RetargetDebugContextAction_ErrorDialog_message=Operation failed + UpdatePoliciesContribution_EmptyPoliciesList_label=No update policies available UpdateScopesContribution_EmptyScopesList_label=No update scopes available