diff options
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views')
156 files changed, 5267 insertions, 4511 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java index a5674d048..a12318450 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2010 IBM Corporation and others. + * Copyright (c) 2008, 2013 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 @@ -29,7 +29,7 @@ public class ViewContextManager implements IWindowListener { /** * Map of services */ - private Map fWindowToService = new HashMap(); + private Map<IWorkbenchWindow, ViewContextService> fWindowToService = new HashMap<IWorkbenchWindow, ViewContextService>(); // singleton manager private static ViewContextManager fgManager; @@ -60,20 +60,23 @@ public class ViewContextManager implements IWindowListener { /* (non-Javadoc) * @see org.eclipse.ui.IWindowListener#windowActivated(org.eclipse.ui.IWorkbenchWindow) */ + @Override public void windowActivated(IWorkbenchWindow window) { } /* (non-Javadoc) * @see org.eclipse.ui.IWindowListener#windowDeactivated(org.eclipse.ui.IWorkbenchWindow) */ + @Override public void windowDeactivated(IWorkbenchWindow window) { } /* (non-Javadoc) * @see org.eclipse.ui.IWindowListener#windowClosed(org.eclipse.ui.IWorkbenchWindow) */ + @Override public void windowClosed(IWorkbenchWindow window) { - ViewContextService service = (ViewContextService) fWindowToService.get(window); + ViewContextService service = fWindowToService.get(window); if (service != null) { fWindowToService.remove(window); service.dispose(); @@ -83,8 +86,9 @@ public class ViewContextManager implements IWindowListener { /* (non-Javadoc) * @see org.eclipse.ui.IWindowListener#windowOpened(org.eclipse.ui.IWorkbenchWindow) */ + @Override public void windowOpened(IWorkbenchWindow window) { - ViewContextService service = (ViewContextService) fWindowToService.get(window); + ViewContextService service = fWindowToService.get(window); if (service == null) { service = new ViewContextService(window); fWindowToService.put(window, service); @@ -98,7 +102,7 @@ public class ViewContextManager implements IWindowListener { * @return view context service or <code>null</code> */ public ViewContextService getService(IWorkbenchWindow window) { - return (ViewContextService) fWindowToService.get(window); + return fWindowToService.get(window); } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java index d4bcd72ba..bc2aebb6d 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/ViewContextService.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. + * Copyright (c) 2006, 2013 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 @@ -75,22 +75,22 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi /** * Maps the perspectives in this window to its last activated workbench context */ - private final Map fPerspectiveToActiveContext = new HashMap(); + private final Map<IPerspectiveDescriptor, String> fPerspectiveToActiveContext = new HashMap<IPerspectiveDescriptor, String>(); /** * Map of the perspectives to all workbench contexts activated in that perspective */ - private final Map fPerspectiveToActivatedContexts = new HashMap(); + private final Map<IPerspectiveDescriptor, Set<String>> fPerspectiveToActivatedContexts = new HashMap<IPerspectiveDescriptor, Set<String>>(); /** * Map of context id's to context view bindings */ - private Map fContextIdsToBindings; + private Map<String, DebugContextViewBindings> fContextIdsToBindings; /** * List of perspectives that debugging is allowed in */ - private Set fEnabledPerspectives = new HashSet(); + private Set<String> fEnabledPerspectives = new HashSet<String>(); /** * Whether to ignore perspective change call backs (set to @@ -140,10 +140,10 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi private static final String XML_VALUE_CLOSED = "closed"; //$NON-NLS-1$ // ids of base debug views in debug perspective that should not be auto-closed - private static Set fgBaseDebugViewIds = null; + private static Set<String> fgBaseDebugViewIds = null; static { - fgBaseDebugViewIds = new HashSet(); + fgBaseDebugViewIds = new HashSet<String>(); fgBaseDebugViewIds.add(IDebugUIConstants.ID_DEBUG_VIEW); fgBaseDebugViewIds.add(IDebugUIConstants.ID_VARIABLE_VIEW); fgBaseDebugViewIds.add(IDebugUIConstants.ID_BREAKPOINT_VIEW); @@ -166,7 +166,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi // all bindings including inherited bindings, top down in activation order private String[] fAllViewBindingIds = null; // associated binding to activate - private final Map fAllViewIdToBindings = new HashMap(); + private final Map<String, ViewBinding> fAllViewIdToBindings = new HashMap<String, ViewBinding>(); // all context id's in this context hierarchy (top down order) private String[] fAllConetxtIds = null; @@ -222,7 +222,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi if (fParentId == null) { return null; } - return (DebugContextViewBindings) fContextIdsToBindings.get(fParentId); + return fContextIdsToBindings.get(fParentId); } /** @@ -232,7 +232,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi * @param perspective the perspective description * @param allViewIds that are relevant to the chain activation. */ - public void activateChain(IWorkbenchPage page, IPerspectiveDescriptor perspective, Set allViewIds) { + public void activateChain(IWorkbenchPage page, IPerspectiveDescriptor perspective, Set<String> allViewIds) { initializeChain(); doActivation(page, perspective, allViewIds, fAllConetxtIds); } @@ -251,7 +251,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi * @param allViewIds id's of all the views that are relevant in this context activation * @param contextIds associated contexts that are activated */ - private void doActivation(IWorkbenchPage page, IPerspectiveDescriptor perspective, Set allViewIds, String[] contextIds) { + private void doActivation(IWorkbenchPage page, IPerspectiveDescriptor perspective, Set<String> allViewIds, String[] contextIds) { // note activation of all the relevant contexts for (int i = 0; i < contextIds.length; i++) { addActivated(contextIds[i]); @@ -261,7 +261,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi // activate the view bindings and bring most relevant views to top for (int i = 0; i < fAllViewBindingIds.length; i++) { String viewId = fAllViewBindingIds[i]; - ViewBinding binding = (ViewBinding) fAllViewIdToBindings.get(viewId); + ViewBinding binding = fAllViewIdToBindings.get(viewId); binding.activated(page, perspective); binding.checkZOrder(page, allViewIds); } @@ -273,18 +273,16 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi */ private synchronized void initializeChain() { if (fAllViewBindingIds == null) { - List orderedIds = new ArrayList(); - List contexts = new ArrayList(); + List<String> orderedIds = new ArrayList<String>(); + List<DebugContextViewBindings> contexts = new ArrayList<DebugContextViewBindings>(); DebugContextViewBindings context = this; while (context != null) { contexts.add(0, context); context = context.getParentContext(); } - Iterator iterator = contexts.iterator(); fAllConetxtIds = new String[contexts.size()]; int pos = 0; - while (iterator.hasNext()) { - DebugContextViewBindings bindings = (DebugContextViewBindings) iterator.next(); + for (DebugContextViewBindings bindings : contexts) { fAllConetxtIds[pos] = bindings.getId(); pos++; for (int i = 0; i < bindings.fViewBindingIds.length; i++) { @@ -298,7 +296,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi } } } - fAllViewBindingIds = (String[]) orderedIds.toArray(new String[orderedIds.size()]); + fAllViewBindingIds = orderedIds.toArray(new String[orderedIds.size()]); } } @@ -315,7 +313,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi } for (int i = 0; i < fViewBindingIds.length; i++) { String viewId = fViewBindingIds[i]; - ViewBinding binding = (ViewBinding) fAllViewIdToBindings.get(viewId); + ViewBinding binding = fAllViewIdToBindings.get(viewId); binding.deactivated(page, perspective); } } @@ -328,7 +326,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi */ public void setViewOpened(boolean opened, String viewId) { initializeChain(); - ViewBinding binding = (ViewBinding)fAllViewIdToBindings.get(viewId); + ViewBinding binding = fAllViewIdToBindings.get(viewId); if (binding != null) { if (opened) { binding.userOpened(); @@ -340,7 +338,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi public void applyUserSettings(String viewId, Element viewElement) { initializeChain(); - ViewBinding binding = (ViewBinding) fAllViewIdToBindings.get(viewId); + ViewBinding binding = fAllViewIdToBindings.get(viewId); if (binding != null) { binding.applyUserSettings(viewElement); } @@ -353,12 +351,12 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi * @param root the root XML element * @param alreadyDone views already done */ - public void saveBindings(Document document, Element root, Set alreadyDone) { + public void saveBindings(Document document, Element root, Set<String> alreadyDone) { for (int i = 0; i < fViewBindingIds.length; i++) { String viewId = fViewBindingIds[i]; if (!alreadyDone.contains(viewId)) { alreadyDone.add(viewId); - ViewBinding binding = (ViewBinding) fAllViewIdToBindings.get(viewId); + ViewBinding binding = fAllViewIdToBindings.get(viewId); binding.saveBindings(document, root); } } @@ -373,15 +371,15 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi /** * Set of perspectives this view was opened in by the user */ - private final Set fUserOpened = new HashSet(); + private final Set<String> fUserOpened = new HashSet<String>(); /** * Set of perspectives this view was closed in by the user */ - private final Set fUserClosed = new HashSet(); + private final Set<String> fUserClosed = new HashSet<String>(); /** * Set of perspectives this view was auto-opened by view management. */ - private final Set fAutoOpened = new HashSet(); + private final Set<String> fAutoOpened = new HashSet<String>(); public ViewBinding(IConfigurationElement element) { fElement = element; @@ -512,7 +510,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi * @param page the page to check * @param relevantViews the array of view identifiers */ - public void checkZOrder(IWorkbenchPage page, Set relevantViews) { + public void checkZOrder(IWorkbenchPage page, Set<String> relevantViews) { // see if view is open already IViewPart part = page.findView(getViewId()); if (part != null) { @@ -572,8 +570,8 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi } } - private void appendPerspectives(Document document, Element parent, Set perpectives, String xmlValue) { - String[] ids = (String[]) perpectives.toArray(new String[perpectives.size()]); + private void appendPerspectives(Document document, Element parent, Set<String> perpectives, String xmlValue) { + String[] ids = perpectives.toArray(new String[perpectives.size()]); for (int i = 0; i < ids.length; i++) { String id = ids[i]; Element element = document.createElement(XML_ELEMENT_PERSPECTIVE); @@ -654,7 +652,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi * Loads extensions which map context id's to view bindings. */ private void loadContextToViewExtensions() { - fContextIdsToBindings = new HashMap(); + fContextIdsToBindings = new HashMap<String, DebugContextViewBindings>(); IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), ID_CONTEXT_VIEW_BINDINGS); IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements(); for (int i = 0; i < configurationElements.length; i++) { @@ -666,7 +664,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi continue; } ViewBinding info = new ViewBinding(element); - DebugContextViewBindings bindings = (DebugContextViewBindings) fContextIdsToBindings.get(contextId); + DebugContextViewBindings bindings = fContextIdsToBindings.get(contextId); if (bindings == null) { bindings = new DebugContextViewBindings(contextId); fContextIdsToBindings.put(contextId, bindings); @@ -694,9 +692,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi Element entry = (Element) node; if(entry.getNodeName().equalsIgnoreCase(XML_ELEMENT_VIEW)){ String id = entry.getAttribute(XML_ATTR_ID); - Iterator bindings = fContextIdsToBindings.values().iterator(); - while (bindings.hasNext()) { - DebugContextViewBindings binding = (DebugContextViewBindings) bindings.next(); + for (DebugContextViewBindings binding : fContextIdsToBindings.values()) { binding.applyUserSettings(id, entry); } } @@ -753,8 +749,8 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi * * @return list */ - public static Set parseList(String listString) { - Set list = new HashSet(10); + public static Set<String> parseList(String listString) { + Set<String> list = new HashSet<String>(10); StringTokenizer tokenizer = new StringTokenizer(listString, ","); //$NON-NLS-1$ while (tokenizer.hasMoreTokens()) { String token = tokenizer.nextToken(); @@ -771,9 +767,8 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi * * @since 3.5 */ - public static Set getDefaultEnabledPerspectives() { - Set perspectives = new HashSet(4); - + public static Set<String> getDefaultEnabledPerspectives() { + Set<String> perspectives = new HashSet<String>(4); IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), ID_CONTEXT_VIEW_BINDINGS); IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements(); for (int i = 0; i < configurationElements.length; i++) { @@ -793,7 +788,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi if (isEnabledPerspective()) { if (selection instanceof IStructuredSelection && !selection.isEmpty()) { IStructuredSelection ss = (IStructuredSelection) selection; - Iterator iterator = ss.iterator(); + Iterator<?> iterator = ss.iterator(); while (iterator.hasNext()) { Object target = iterator.next(); ILaunch launch = DebugModelContextBindingManager.getLaunch(target); @@ -806,24 +801,24 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi // Include the word '.internal.' so the context is filtered from the key binding pref page (Bug 144019) also see PerspectiveManager.handleBreakpointHit() if (fContextService.getActiveContextIds().contains(type.getIdentifier() + ".internal." + getActivePerspective().getId())) { //$NON-NLS-1$ // get the leaf contexts to be activated - List workbenchContexts = DebugModelContextBindingManager.getDefault().getWorkbenchContextsForDebugContext(target); + List<String> workbenchContexts = DebugModelContextBindingManager.getDefault().getWorkbenchContextsForDebugContext(target); // TODO: do we need to check if contexts are actually enabled in workbench first? if (!workbenchContexts.isEmpty()) { // Quickly check if any contexts need activating boolean needToActivate = false; for (int i = 0; i < workbenchContexts.size(); i++) { - if (!isActivated((String)workbenchContexts.get(i))) { + if (!isActivated(workbenchContexts.get(i))) { needToActivate = true; break; } } if (needToActivate) { - Set allViewIds = getAllContextsViewIDs(workbenchContexts); + Set<String> allViewIds = getAllContextsViewIDs(workbenchContexts); // if all contexts already activate and last context is already active context == done for (int i = 0; i < workbenchContexts.size(); i++) { - String contextId = (String)workbenchContexts.get(i); + String contextId = workbenchContexts.get(i); if (!isActivated(contextId)) { activateChain(contextId, getActivePerspective(), allViewIds); } @@ -850,7 +845,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi private boolean isActiveContext(String contextId) { IPerspectiveDescriptor activePerspective = getActivePerspective(); if (activePerspective != null) { - String activeId = (String) fPerspectiveToActiveContext.get(activePerspective); + String activeId = fPerspectiveToActiveContext.get(activePerspective); return contextId.equals(activeId); } return false; @@ -865,7 +860,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi private boolean isActivated(String contextId) { IPerspectiveDescriptor activePerspective = getActivePerspective(); if (activePerspective != null) { - Set contexts = (Set) fPerspectiveToActivatedContexts.get(activePerspective); + Set<String> contexts = fPerspectiveToActivatedContexts.get(activePerspective); if (contexts != null) { return contexts.contains(contextId); } @@ -876,9 +871,9 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi private void addActivated(String contextId) { IPerspectiveDescriptor activePerspective = getActivePerspective(); if (activePerspective != null) { - Set contexts = (Set) fPerspectiveToActivatedContexts.get(activePerspective); + Set<String> contexts = fPerspectiveToActivatedContexts.get(activePerspective); if (contexts == null) { - contexts = new HashSet(); + contexts = new HashSet<String>(); fPerspectiveToActivatedContexts.put(activePerspective, contexts); } contexts.add(contextId); @@ -888,13 +883,14 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi private void removeActivated(String contextId) { IPerspectiveDescriptor activePerspective = getActivePerspective(); if (activePerspective != null) { - Set contexts = (Set) fPerspectiveToActivatedContexts.get(activePerspective); + Set<String> contexts = fPerspectiveToActivatedContexts.get(activePerspective); if (contexts != null) { contexts.remove(contextId); } } } + @Override public void debugContextChanged(DebugContextEvent event) { if ((event.getFlags() & DebugContextEvent.ACTIVATED) > 0) { contextActivated(event.getContext()); @@ -904,18 +900,21 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener3#perspectiveOpened(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor) */ + @Override public void perspectiveOpened(IWorkbenchPage page, IPerspectiveDescriptor perspective) { } /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener3#perspectiveClosed(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor) */ + @Override public void perspectiveClosed(IWorkbenchPage page, IPerspectiveDescriptor perspective) { } /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener3#perspectiveDeactivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor) */ + @Override public void perspectiveDeactivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) { } @@ -925,12 +924,10 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi * @param perspective the perspective descriptor */ private void clean(IPerspectiveDescriptor perspective) { - Set contexts = (Set) fPerspectiveToActivatedContexts.remove(perspective); + Set<String> contexts = fPerspectiveToActivatedContexts.remove(perspective); fPerspectiveToActiveContext.remove(perspective); if (contexts != null) { - Iterator iterator = contexts.iterator(); - while (iterator.hasNext()) { - String id = (String) iterator.next(); + for (String id : contexts) { deactivate(id, perspective); } } @@ -939,23 +936,23 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener3#perspectiveSavedAs(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor, org.eclipse.ui.IPerspectiveDescriptor) */ + @Override public void perspectiveSavedAs(IWorkbenchPage page, IPerspectiveDescriptor oldPerspective, IPerspectiveDescriptor newPerspective) { } /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener2#perspectiveChanged(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor, org.eclipse.ui.IWorkbenchPartReference, java.lang.String) */ + @Override public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, IWorkbenchPartReference partRef, String changeId) { if (!fIgnoreChanges && page.getWorkbenchWindow().equals(fWindow)) { if(partRef != null) { if (IWorkbenchPage.CHANGE_VIEW_SHOW == changeId || IWorkbenchPage.CHANGE_VIEW_HIDE == changeId) { // Update only the contexts which are currently active (Bug 128065) - Set activatedContexts = (Set)fPerspectiveToActivatedContexts.get(perspective); + Set<String> activatedContexts = fPerspectiveToActivatedContexts.get(perspective); if (activatedContexts != null) { - Iterator iterator = activatedContexts.iterator(); - while (iterator.hasNext()) { - DebugContextViewBindings bindings = - (DebugContextViewBindings)fContextIdsToBindings.get(iterator.next()); + for (String id : activatedContexts) { + DebugContextViewBindings bindings = fContextIdsToBindings.get(id); if (bindings != null) { bindings.setViewOpened(IWorkbenchPage.CHANGE_VIEW_SHOW == changeId, partRef.getId()); } @@ -969,6 +966,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor) */ + @Override public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) { if (page.getWorkbenchWindow().equals(fWindow)) { fActivePerspective = perspective; @@ -982,6 +980,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener#perspectiveChanged(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor, java.lang.String) */ + @Override public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) { } @@ -991,30 +990,28 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi * @param contextId the identifier of the {@link DebugContextViewBindings} to activate * @param perspective the perspective description */ - private void activateChain(String contextId, IPerspectiveDescriptor perspective, Set allViewIds) { - if (fWindow == null) - { + private void activateChain(String contextId, IPerspectiveDescriptor perspective, Set<String> allViewIds) { + if (fWindow == null) { return; // disposed } IWorkbenchPage page = fWindow.getActivePage(); if (page != null) { - DebugContextViewBindings bindings= (DebugContextViewBindings) fContextIdsToBindings.get(contextId); + DebugContextViewBindings bindings= fContextIdsToBindings.get(contextId); if (bindings != null) { bindings.activateChain(page, perspective, allViewIds); } } } - private Set getAllContextsViewIDs(List contextsIds) { - if (fWindow == null) - { + private Set<String> getAllContextsViewIDs(List<String> contextsIds) { + if (fWindow == null) { return Collections.EMPTY_SET; // disposed } - TreeSet viewIds = new TreeSet(); + TreeSet<String> viewIds = new TreeSet<String>(); for (int i = 0; i < contextsIds.size(); i++) { - DebugContextViewBindings bindings= (DebugContextViewBindings) fContextIdsToBindings.get(contextsIds.get(i)); + DebugContextViewBindings bindings= fContextIdsToBindings.get(contextsIds.get(i)); if (bindings != null) { String[] bindingViewIds = bindings.getAllViewBindingsIds(); for (int j = 0; j < bindingViewIds.length; j++) { @@ -1029,13 +1026,10 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi * Links each debug context view bindings with its parent context bindings */ private void linkParentContexts() { - Iterator iterator = fContextIdsToBindings.entrySet().iterator(); - while (iterator.hasNext()) { - Entry entry = (Entry)iterator.next(); - String contextId = (String) entry.getKey(); - DebugContextViewBindings bindings = (DebugContextViewBindings) entry.getValue(); + for (Entry<String, DebugContextViewBindings> entry : fContextIdsToBindings.entrySet()) { + DebugContextViewBindings bindings = entry.getValue(); if (!bindings.getId().equals(DEBUG_CONTEXT)) { - Context context = fContextService.getContext(contextId); + Context context = fContextService.getContext(entry.getKey()); try { bindings.setParentId(context.getParentId()); } catch (NotDefinedException e) { @@ -1063,13 +1057,12 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi /* (non-Javadoc) * @see org.eclipse.core.commands.contexts.IContextManagerListener#contextManagerChanged(org.eclipse.core.commands.contexts.ContextManagerEvent) */ + @Override public void contextManagerChanged(ContextManagerEvent event) { if (event.isActiveContextsChanged() && getActivePerspective() != null) { - Set disabledContexts = getDisabledContexts(event); + Set<String> disabledContexts = getDisabledContexts(event); if (!disabledContexts.isEmpty()) { - Iterator contexts = disabledContexts.iterator(); - while (contexts.hasNext()) { - String contextId = (String)contexts.next(); + for (String contextId : disabledContexts) { if (isViewContext(contextId)) { if (isActivated(contextId)) { deactivate(contextId, getActivePerspective()); @@ -1090,7 +1083,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi IWorkbenchPage page = fWindow.getActivePage(); if (page != null) { - DebugContextViewBindings bindings = (DebugContextViewBindings) fContextIdsToBindings.get(contextId); + DebugContextViewBindings bindings = fContextIdsToBindings.get(contextId); if (bindings != null) { bindings.deactivate(page, perspective); } @@ -1103,9 +1096,9 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi * @param event the event * @return disabled context id's */ - private Set getDisabledContexts(ContextManagerEvent event) { - Set prev = new HashSet(event.getPreviouslyActiveContextIds()); - Set activeContextIds = event.getContextManager().getActiveContextIds(); + private Set<String> getDisabledContexts(ContextManagerEvent event) { + Set<String> prev = new HashSet<String>(event.getPreviouslyActiveContextIds()); + Set<String> activeContextIds = event.getContextManager().getActiveContextIds(); if (activeContextIds != null) { prev.removeAll(activeContextIds); } @@ -1130,10 +1123,8 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi Document document = DebugPlugin.newDocument(); Element root = document.createElement(XML_ELEMENT_VIEW_BINDINGS); document.appendChild(root); - Set done = new HashSet(); - Iterator bindings = fContextIdsToBindings.values().iterator(); - while (bindings.hasNext()) { - DebugContextViewBindings binding = (DebugContextViewBindings) bindings.next(); + Set<String> done = new HashSet<String>(); + for (DebugContextViewBindings binding : fContextIdsToBindings.values()) { binding.saveBindings(document, root, done); } String prefValue = IInternalDebugCoreConstants.EMPTY_STRING; @@ -1156,7 +1147,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi * @return the array of perspective identifiers in which debugging is enabled */ public String[] getEnabledPerspectives() { - return (String[]) fEnabledPerspectives.toArray(new String[fEnabledPerspectives.size()]); + return fEnabledPerspectives.toArray(new String[fEnabledPerspectives.size()]); } /** @@ -1189,6 +1180,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener4#perspectivePreDeactivate(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor) */ + @Override public void perspectivePreDeactivate(IWorkbenchPage page, IPerspectiveDescriptor perspective) { if (page.getWorkbenchWindow().equals(fWindow)) { fActivePerspective = null; @@ -1196,6 +1188,7 @@ public class ViewContextService implements IDebugContextListener, IPerspectiveLi } } + @Override public void preferenceChange(PreferenceChangeEvent event) { if (!fIgnoreChanges) { if (IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES.equals(event.getKey())) { diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java index 4f0116d41..cdd141032 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainer.java @@ -39,12 +39,12 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap /** * Child breakpoints - inserting new element into this collection should use the insertBreakpoint method */ - final private List fBreakpoints = new ArrayList(); + final private List<IBreakpoint> fBreakpoints = new ArrayList<IBreakpoint>(); /** * Child containers - inserting new element into this container should use the insertChildContainer method */ - final private List fChildContainers = new ArrayList(); + final private List<BreakpointContainer> fChildContainers = new ArrayList<BreakpointContainer>(); /** * The category for this container @@ -158,8 +158,9 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap } int index = fBreakpoints.size(); for (; fComparator != null && index > 0; index--) { - if (fComparator.compare(fBreakpoints.get(index-1), breakpoint) < 0) - break; + if (fComparator.compare(fBreakpoints.get(index-1), breakpoint) < 0) { + break; + } } if (index < 0) { index = 0; @@ -177,12 +178,14 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap private int insertChildContainer(BreakpointContainer container) { int index = fChildContainers.size(); for (; fComparator != null && index > 0; index--) { - if (fComparator.compare(fChildContainers.get(index-1), container) < 0) - break; + if (fComparator.compare(fChildContainers.get(index-1), container) < 0) { + break; + } } - if (index < 0) - index = 0; + if (index < 0) { + index = 0; + } fChildContainers.add(index, container); return index; @@ -225,10 +228,9 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap */ private static IAdaptable[] getCategories(IBreakpoint breakpoint, IBreakpointOrganizer organizer) { IAdaptable[] categories = organizer.getCategories(breakpoint); - - if (categories == null || categories.length == 0) - categories = OtherBreakpointCategory.getCategories(organizer); - + if (categories == null || categories.length == 0) { + categories = OtherBreakpointCategory.getCategories(organizer); + } return categories; } @@ -239,21 +241,13 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap * @param category the category * @return the breakpoint container, can be <code>null</code>. */ - private static BreakpointContainer findExistingContainer(List containers, IAdaptable category) { - BreakpointContainer container = null; - - Iterator containerIt = containers.iterator(); - while (containerIt.hasNext()) { - container = (BreakpointContainer) containerIt.next(); - IAdaptable containerCategory = container.getCategory(); - - if (category.equals(containerCategory)) - break; - - container = null; + private static BreakpointContainer findExistingContainer(List<BreakpointContainer> containers, IAdaptable category) { + for (BreakpointContainer c : containers) { + if (category.equals(c.getCategory())) { + return c; + } } - - return container; + return null; } // TODO [pchuong]: can be remove if BreakpointsContentProvider no longer uses this class @@ -270,7 +264,9 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap */ public void addBreakpoint(IBreakpoint breakpoint, ModelDelta rootDelta) { final int bpIndex = insertBreakpoint(breakpoint); - if (bpIndex < 0) return; + if (bpIndex < 0) { + return; + } if (hasNesting()) { IBreakpointOrganizer organizer = fNesting[0]; @@ -329,10 +325,9 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap if (removed) { boolean addRemoveBpDelta = getContainers().length == 0; - Iterator it = fChildContainers.iterator(); + Iterator<BreakpointContainer> it = fChildContainers.iterator(); while (it.hasNext()) { - BreakpointContainer container = (BreakpointContainer) it.next(); - + BreakpointContainer container = it.next(); // if the breakpoint contains in the container and it is the only breakpoint, // than remove the container from the collection if (container.contains(breakpoint)) { @@ -344,7 +339,6 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap } else { childDelta = rootDelta.addNode(container, IModelDelta.STATE); } - // remove the breakpoint from the nested containers container.removeBreakpoint(breakpoint, childDelta); } @@ -376,11 +370,12 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap * @param breakpoints the breakpoint to update * @param add true if breakpoint should be added to the cache, otherwise remove the breakpoint from the cache */ - private static void updateSelfAndAncestorsBreakpointCache(BreakpointContainer container, List breakpoints, boolean add) { + private static void updateSelfAndAncestorsBreakpointCache(BreakpointContainer container, List<IBreakpoint> breakpoints, boolean add) { if (container != null) { container.fBreakpoints.removeAll(breakpoints); - if (add) - container.fBreakpoints.addAll(breakpoints); + if (add) { + container.fBreakpoints.addAll(breakpoints); + } updateSelfAndAncestorsBreakpointCache(container.getParent(), breakpoints, add); } } @@ -396,7 +391,7 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap int index = destContainer.insertBreakpoint(breakpoint); Assert.isTrue(index >= 0); - List breakpoints = destContainer.fBreakpoints; + List<IBreakpoint> breakpoints = destContainer.fBreakpoints; destContainerDelta.addNode(breakpoint, index/*breakpoints.indexOf(breakpoint)*/, IModelDelta.ADDED|IModelDelta.INSTALL, 0); destContainerDelta.setFlags(destContainerDelta.getFlags() | IModelDelta.EXPAND); @@ -416,7 +411,7 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap sourceContainer.fParent = destContainer; // add the breakpoints to the parent containers. - List breakpoints = Arrays.asList(sourceContainer.getBreakpoints()); + List<IBreakpoint> breakpoints = Arrays.asList(sourceContainer.getBreakpoints()); updateSelfAndAncestorsBreakpointCache(destContainer, breakpoints, true); int index = destContainer.fChildContainers.indexOf(sourceContainer); @@ -457,7 +452,7 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap */ static public void removeBreakpoint(BreakpointContainer container, IBreakpoint breakpoint, ModelDelta containerDelta) { container.removeBreakpoint(breakpoint, containerDelta); - List breakpoints = new ArrayList(); + List<IBreakpoint> breakpoints = new ArrayList<IBreakpoint>(); breakpoints.add(breakpoint); updateSelfAndAncestorsBreakpointCache(container.getParent(), breakpoints, false); } @@ -476,11 +471,10 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap } if (container.fChildContainers.size() == 0) { - List breakpoints = new ArrayList(); - - Iterator iterator = container.fBreakpoints.iterator(); + List<IBreakpoint> breakpoints = new ArrayList<IBreakpoint>(); + Iterator<IBreakpoint> iterator = container.fBreakpoints.iterator(); while (iterator.hasNext()) { - Object obj = iterator.next(); + IBreakpoint obj = iterator.next(); breakpoints.add(obj); delta.addNode(obj, IModelDelta.UNINSTALL|IModelDelta.REMOVED); iterator.remove(); @@ -491,12 +485,11 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap return; } - Iterator iterator = container.fChildContainers.iterator(); + Iterator<BreakpointContainer> iterator = container.fChildContainers.iterator(); while (iterator.hasNext()) { - BreakpointContainer childContainer = (BreakpointContainer) iterator.next(); + BreakpointContainer childContainer = iterator.next(); ModelDelta childDelta = delta.addNode(childContainer, IModelDelta.REMOVED|IModelDelta.UNINSTALL); iterator.remove(); - removeAll(childContainer, childDelta); } } @@ -515,8 +508,9 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap * * @return the breakpoints in this container */ - public IBreakpoint[] getBreakpoints() { - return (IBreakpoint[]) fBreakpoints.toArray(new IBreakpoint[fBreakpoints.size()]); + @Override + public IBreakpoint[] getBreakpoints() { + return fBreakpoints.toArray(new IBreakpoint[fBreakpoints.size()]); } /** @@ -524,7 +518,8 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap * * @return container category */ - public IAdaptable getCategory() { + @Override + public IAdaptable getCategory() { return fCategory; } @@ -559,7 +554,7 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap * @return the containers nested in this container, can be empty. */ public BreakpointContainer[] getContainers() { - return (BreakpointContainer[]) fChildContainers.toArray(new BreakpointContainer[fChildContainers.size()]); + return fChildContainers.toArray(new BreakpointContainer[fChildContainers.size()]); } /** @@ -567,7 +562,8 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap * * @return this container's organizer */ - public IBreakpointOrganizer getOrganizer() { + @Override + public IBreakpointOrganizer getOrganizer() { return fOrganizer; } @@ -577,7 +573,8 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap * @param breakpoint the breakpoint to check * @return true if this container contains the given breakpoint */ - public boolean contains(IBreakpoint breakpoint) { + @Override + public boolean contains(IBreakpoint breakpoint) { return fBreakpoints.contains(breakpoint); } @@ -593,7 +590,7 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap if (containers.length == 0) { return new BreakpointContainer[]{this}; } - ArrayList list = new ArrayList(); + ArrayList<BreakpointContainer> list = new ArrayList<BreakpointContainer>(); for (int i = 0; i < containers.length; i++) { BreakpointContainer container = containers[i]; BreakpointContainer[] subcontainers = container.getContainers(breakpoint); @@ -603,7 +600,7 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap } } } - return (BreakpointContainer[]) list.toArray(new BreakpointContainer[list.size()]); + return list.toArray(new BreakpointContainer[list.size()]); } return new BreakpointContainer[0]; } @@ -612,18 +609,16 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap * (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ + @Override public boolean equals(Object obj) { if (obj instanceof BreakpointContainer) { - BreakpointContainer container = (BreakpointContainer) obj; - // With Group by "Advanced" the same category can contain a different subset of breakpoints, // therefore to have the same category is not enough to be equal. if (! (fParent != null && container.fParent != null && fParent.equals(container.fParent) || fParent == null && container.fParent == null) ) { return false; } - if (getCategory() != null && container.getCategory() != null) { return getCategory().equals(container.getCategory()); } else { @@ -632,11 +627,12 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap } return super.equals(obj); } - + /* * (non-Javadoc) * @see org.eclipse.debug.internal.ui.model.elements.ElementContentProvider#getChildCount(java.lang.Object, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate) */ + @Override protected int getChildCount(Object element, IPresentationContext context, IViewerUpdate monitor) throws CoreException { return getChildren().length; } @@ -645,6 +641,7 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap * (non-Javadoc) * @see org.eclipse.debug.internal.ui.model.elements.ElementContentProvider#getChildren(java.lang.Object, int, int, org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext, org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate) */ + @Override protected Object[] getChildren(Object parent, int index, int length, IPresentationContext context, IViewerUpdate monitor) throws CoreException { return getElements(getChildren(), index, length); } @@ -653,6 +650,7 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap * (non-Javadoc) * @see org.eclipse.debug.internal.ui.model.elements.ElementContentProvider#supportsContextId(java.lang.String) */ + @Override protected boolean supportsContextId(String id) { return id.equals(IDebugUIConstants.ID_BREAKPOINT_VIEW); } @@ -661,6 +659,7 @@ public class BreakpointContainer extends ElementContentProvider implements IAdap * (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ + @Override public Object getAdapter(Class adapter) { return Platform.getAdapterManager().getAdapter(this, adapter); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainerWorkbenchAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainerWorkbenchAdapter.java index a1f3f7e5a..7a0c9dd2e 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainerWorkbenchAdapter.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointContainerWorkbenchAdapter.java @@ -28,7 +28,8 @@ public class BreakpointContainerWorkbenchAdapter implements IWorkbenchAdapter, I /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object) */ - public Object[] getChildren(Object o) { + @Override + public Object[] getChildren(Object o) { // not used return null; } @@ -36,7 +37,8 @@ public class BreakpointContainerWorkbenchAdapter implements IWorkbenchAdapter, I /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object) */ - public ImageDescriptor getImageDescriptor(Object object) { + @Override + public ImageDescriptor getImageDescriptor(Object object) { if (object instanceof IBreakpointContainer) { IBreakpointContainer container = (IBreakpointContainer) object; IAdaptable category = container.getCategory(); @@ -54,7 +56,8 @@ public class BreakpointContainerWorkbenchAdapter implements IWorkbenchAdapter, I /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object) */ - public String getLabel(Object object) { + @Override + public String getLabel(Object object) { if (object instanceof IBreakpointContainer) { IBreakpointContainer container = (IBreakpointContainer) object; IAdaptable category = container.getCategory(); @@ -72,14 +75,16 @@ public class BreakpointContainerWorkbenchAdapter implements IWorkbenchAdapter, I /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object) */ - public Object getParent(Object o) { + @Override + public Object getParent(Object o) { return null; } /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter2#getForeground(java.lang.Object) */ - public RGB getForeground(Object object) { + @Override + public RGB getForeground(Object object) { if (object instanceof IBreakpointContainer) { IBreakpointContainer container = (IBreakpointContainer) object; IAdaptable category = container.getCategory(); @@ -94,7 +99,8 @@ public class BreakpointContainerWorkbenchAdapter implements IWorkbenchAdapter, I /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter2#getBackground(java.lang.Object) */ - public RGB getBackground(Object object) { + @Override + public RGB getBackground(Object object) { if (object instanceof IBreakpointContainer) { IBreakpointContainer container = (IBreakpointContainer) object; IAdaptable category = container.getCategory(); @@ -109,7 +115,8 @@ public class BreakpointContainerWorkbenchAdapter implements IWorkbenchAdapter, I /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter2#getFont(java.lang.Object) */ - public FontData getFont(Object object) { + @Override + public FontData getFont(Object object) { if (object instanceof IBreakpointContainer) { IBreakpointContainer container = (IBreakpointContainer) object; IAdaptable category = container.getCategory(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFactory.java index 221587fd2..b7a88d77d 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFactory.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointFactory.java @@ -27,7 +27,8 @@ public class BreakpointFactory implements IElementFactory { /* (non-Javadoc) * @see org.eclipse.ui.IElementFactory#createElement(org.eclipse.ui.IMemento) */ - public IAdaptable createElement(IMemento memento) { + @Override + public IAdaptable createElement(IMemento memento) { String longString = memento.getString(BreakpointPersistableElementAdapter.TAG_MARKER_ID); String factoryId = memento.getString(BreakpointPersistableElementAdapter.TAG_RESOURCE_FACTORY_ID); if (factoryId != null && longString != null) { diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerExtension.java index fc1385156..36b064707 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerExtension.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerExtension.java @@ -47,6 +47,7 @@ public class BreakpointOrganizerExtension implements IBreakpointOrganizer, IBrea * * @return image descriptor */ + @Override public ImageDescriptor getImageDescriptor() { if (fDescriptor == null) { fDescriptor = DebugUIPlugin.getImageDescriptor(fElement, ATTR_ICON); @@ -62,6 +63,7 @@ public class BreakpointOrganizerExtension implements IBreakpointOrganizer, IBrea * * @return this organizer's label */ + @Override public String getLabel() { return fElement.getAttribute(ATTR_LABEL); } @@ -71,7 +73,8 @@ public class BreakpointOrganizerExtension implements IBreakpointOrganizer, IBrea * * @return this organizer's identifier */ - public String getIdentifier() { + @Override + public String getIdentifier() { return fElement.getAttribute(ATTR_ID); } @@ -94,56 +97,64 @@ public class BreakpointOrganizerExtension implements IBreakpointOrganizer, IBrea /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint) */ - public IAdaptable[] getCategories(IBreakpoint breakpoint) { + @Override + public IAdaptable[] getCategories(IBreakpoint breakpoint) { return getOrganizer().getCategories(breakpoint); } /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) */ - public void addPropertyChangeListener(IPropertyChangeListener listener) { + @Override + public void addPropertyChangeListener(IPropertyChangeListener listener) { getOrganizer().addPropertyChangeListener(listener); } /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) */ - public void removePropertyChangeListener(IPropertyChangeListener listener) { + @Override + public void removePropertyChangeListener(IPropertyChangeListener listener) { getOrganizer().removePropertyChangeListener(listener); } /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#addBreakpoint(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable) */ - public void addBreakpoint(IBreakpoint breakpoint, IAdaptable category) { + @Override + public void addBreakpoint(IBreakpoint breakpoint, IAdaptable category) { getOrganizer().addBreakpoint(breakpoint, category); } /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#removeBreakpoint(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable) */ - public void removeBreakpoint(IBreakpoint breakpoint, IAdaptable category) { + @Override + public void removeBreakpoint(IBreakpoint breakpoint, IAdaptable category) { getOrganizer().removeBreakpoint(breakpoint, category); } /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canAdd(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable) */ - public boolean canAdd(IBreakpoint breakpoint, IAdaptable category) { + @Override + public boolean canAdd(IBreakpoint breakpoint, IAdaptable category) { return getOrganizer().canAdd(breakpoint, category); } /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canRemove(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.runtime.IAdaptable) */ - public boolean canRemove(IBreakpoint breakpoint, IAdaptable category) { + @Override + public boolean canRemove(IBreakpoint breakpoint, IAdaptable category) { return getOrganizer().canRemove(breakpoint, category); } /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#dispose() */ - public void dispose() { + @Override + public void dispose() { // don't instantiate the delegate if it has not been used if (fDelegate != null) { fDelegate.dispose(); @@ -153,7 +164,8 @@ public class BreakpointOrganizerExtension implements IBreakpointOrganizer, IBrea /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.breakpoints.IBreakpointOrganizer#getOthersLabel() */ - public String getOthersLabel() { + @Override + public String getOthersLabel() { String attribute = fElement.getAttribute(ATTR_OTHERS_LABEL); if (attribute == null) { return DebugUIViewsMessages.OtherBreakpointOrganizer_0; @@ -164,13 +176,15 @@ public class BreakpointOrganizerExtension implements IBreakpointOrganizer, IBrea /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories() */ - public IAdaptable[] getCategories() { + @Override + public IAdaptable[] getCategories() { return getOrganizer().getCategories(); } /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegateExtension#addBreakpoints(org.eclipse.debug.core.model.IBreakpoint[], org.eclipse.core.runtime.IAdaptable) */ + @Override public void addBreakpoints(IBreakpoint[] breakpoints, IAdaptable category) { IBreakpointOrganizerDelegate organizer = getOrganizer(); if (organizer instanceof IBreakpointOrganizerDelegateExtension) { @@ -185,6 +199,7 @@ public class BreakpointOrganizerExtension implements IBreakpointOrganizer, IBrea /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegateExtension#removeBreakpoints(org.eclipse.debug.core.model.IBreakpoint[], org.eclipse.core.runtime.IAdaptable) */ + @Override public void removeBreakpoints(IBreakpoint[] breakpoints, IAdaptable category) { IBreakpointOrganizerDelegate organizer = getOrganizer(); if (organizer instanceof IBreakpointOrganizerDelegateExtension) { diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java index 4d39bf90e..eb09e90a9 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointOrganizerManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2011 IBM Corporation and others. + * Copyright (c) 2004, 2012 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 @@ -42,9 +42,9 @@ public class BreakpointOrganizerManager { private static BreakpointOrganizerManager fgManager; // map for lookup by id - private Map fOrganizers = new HashMap(); + private Map<String, IBreakpointOrganizer> fOrganizers = new HashMap<String, IBreakpointOrganizer>(); // cached sorted list by label - private List fSorted = null; + private List<IBreakpointOrganizer> fSorted = null; /** * Returns the singleton instance of the breakpoint container @@ -69,14 +69,15 @@ public class BreakpointOrganizerManager { } /** - * Forces instantiation of orgranizer delegate. + * Forces instantiation of organizer delegate. * * @param organizerId organizer to start */ private void start(String organizerId) { IBreakpointOrganizer organizer = getOrganizer(organizerId); IPropertyChangeListener listener = new IPropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { + @Override + public void propertyChange(PropertyChangeEvent event) { } }; organizer.addPropertyChangeListener(listener); @@ -117,22 +118,19 @@ public class BreakpointOrganizerManager { */ public IBreakpointOrganizer[] getOrganizers() { if (fSorted == null) { - Collection collection = fOrganizers.values(); - fSorted = new ArrayList(); + Collection<IBreakpointOrganizer> collection = fOrganizers.values(); + fSorted = new ArrayList<IBreakpointOrganizer>(); fSorted.addAll(collection); - Collections.sort(fSorted, new Comparator() { + Collections.sort(fSorted, new Comparator<Object>() { + @Override public int compare(Object o1, Object o2) { IBreakpointOrganizer b1 = (IBreakpointOrganizer)o1; IBreakpointOrganizer b2 = (IBreakpointOrganizer)o2; return b1.getLabel().compareTo(b2.getLabel()); } - - public boolean equals(Object obj) { - return this == obj; - } }); } - return (IBreakpointOrganizer[]) fSorted.toArray(new IBreakpointOrganizer[fSorted.size()]); + return fSorted.toArray(new IBreakpointOrganizer[fSorted.size()]); } /** @@ -141,7 +139,7 @@ public class BreakpointOrganizerManager { * @return breakpoint organizer or <code>null</code> */ public IBreakpointOrganizer getOrganizer(String id) { - return (IBreakpointOrganizer) fOrganizers.get(id); + return fOrganizers.get(id); } /** diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointPersistableElementAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointPersistableElementAdapter.java index 45c10845b..41af99aa5 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointPersistableElementAdapter.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointPersistableElementAdapter.java @@ -38,14 +38,16 @@ public class BreakpointPersistableElementAdapter implements IPersistableElement /* (non-Javadoc) * @see org.eclipse.ui.IPersistableElement#getFactoryId() */ - public String getFactoryId() { + @Override + public String getFactoryId() { return "org.eclipse.debug.ui.elementFactory.breakpoints"; //$NON-NLS-1$ } /* (non-Javadoc) * @see org.eclipse.ui.IPersistableElement#saveState(org.eclipse.ui.IMemento) */ - public void saveState(IMemento memento) { + @Override + public void saveState(IMemento memento) { IMarker marker = fBreakpoint.getMarker(); if (marker != null) { IResource resource = marker.getResource(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java index 1725bd43e..ec22c8ff2 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointSetOrganizer.java @@ -13,11 +13,10 @@ package org.eclipse.debug.internal.ui.views.breakpoints; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; -import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.Map.Entry; +import java.util.Set; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IMarkerDelta; @@ -80,8 +79,9 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate * * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint) */ + @Override public IAdaptable[] getCategories(IBreakpoint breakpoint) { - List result = new ArrayList(); + List<IAdaptable> result = new ArrayList<IAdaptable>(); IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets(); for (int i = 0; i < workingSets.length; i++) { IWorkingSet set = workingSets[i]; @@ -96,7 +96,7 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate } } } - return (IAdaptable[]) result.toArray(new IAdaptable[result.size()]); + return result.toArray(new IAdaptable[result.size()]); } /* @@ -104,6 +104,7 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate * * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#dispose() */ + @Override public void dispose() { fWorkingSetManager.removePropertyChangeListener(this); fWorkingSetManager = null; @@ -117,6 +118,7 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate * * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) */ + @Override public void propertyChange(PropertyChangeEvent event) { String property = event.getProperty(); if (property.equals(IInternalDebugUIConstants.MEMENTO_BREAKPOINT_WORKING_SET_NAME)) { @@ -170,8 +172,9 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate * * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsAdded(org.eclipse.debug.core.model.IBreakpoint[]) */ + @Override public void breakpointsAdded(IBreakpoint[] breakpoints) { - Map setToBreakpoints = new HashMap(); + Map<IWorkingSet, List<IBreakpoint>> setToBreakpoints = new HashMap<IWorkingSet, List<IBreakpoint>>(); for (int i = 0; i < breakpoints.length; i++) { IMarker marker = breakpoints[i].getMarker(); String[] names = getWorkingsetAttributeFromMarker(marker, IInternalDebugUIConstants.WORKING_SET_NAME); @@ -189,19 +192,17 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate } } } - Iterator iterator = setToBreakpoints.entrySet().iterator(); - while (iterator.hasNext()) { - Entry entry = (Entry) iterator.next(); - IWorkingSet set = (IWorkingSet) entry.getKey(); - List list = (List) entry.getValue(); - addBreakpointsToSet((IBreakpoint[]) list.toArray(new IBreakpoint[list.size()]), set); + for (Entry<IWorkingSet, List<IBreakpoint>> entry : setToBreakpoints.entrySet()) { + IWorkingSet set = entry.getKey(); + List<IBreakpoint> list = entry.getValue(); + addBreakpointsToSet(list.toArray(new IBreakpoint[list.size()]), set); } } - private void queueToSet(IBreakpoint breakpoint, IWorkingSet set, Map queue) { - List list = (List) queue.get(set); + private void queueToSet(IBreakpoint breakpoint, IWorkingSet set, Map<IWorkingSet, List<IBreakpoint>> queue) { + List<IBreakpoint> list = queue.get(set); if (list == null) { - list = new ArrayList(); + list = new ArrayList<IBreakpoint>(); queue.put(set, list); } list.add(breakpoint); @@ -217,8 +218,8 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate private void addBreakpointsToSet(IBreakpoint[] breakpoints, IWorkingSet set) { if (set != null) { IAdaptable[] elements = set.getElements(); - Set collection = new HashSet(elements.length); - List list = new ArrayList(elements.length + breakpoints.length); + Set<IAdaptable> collection = new HashSet<IAdaptable>(elements.length); + List<IAdaptable> list = new ArrayList<IAdaptable>(elements.length + breakpoints.length); for(int i = 0; i < elements.length; i++) { collection.add(elements[i]); list.add(elements[i]); @@ -231,7 +232,7 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate fCache.flushMarkerCache(breakpoint.getMarker()); } } - set.setElements((IAdaptable[]) list.toArray(new IAdaptable[list.size()])); + set.setElements(list.toArray(new IAdaptable[list.size()])); } } @@ -241,6 +242,7 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsRemoved(org.eclipse.debug.core.model.IBreakpoint[], * org.eclipse.core.resources.IMarkerDelta[]) */ + @Override public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) { IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets(); @@ -274,14 +276,14 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate } } if (update) { - List newElements = new ArrayList(elements.length); + List<IAdaptable> newElements = new ArrayList<IAdaptable>(elements.length); for (int i = 0; i < elements.length; i++) { IAdaptable adaptable = elements[i]; if (adaptable != null) { newElements.add(adaptable); } } - workingSet.setElements((IAdaptable[]) newElements.toArray(new IAdaptable[newElements.size()])); + workingSet.setElements(newElements.toArray(new IAdaptable[newElements.size()])); } } @@ -291,6 +293,7 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate * @see org.eclipse.debug.core.IBreakpointsListener#breakpointsChanged(org.eclipse.debug.core.model.IBreakpoint[], * org.eclipse.core.resources.IMarkerDelta[]) */ + @Override public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) { } @@ -342,6 +345,7 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canRemove(org.eclipse.debug.core.model.IBreakpoint, * org.eclipse.core.runtime.IAdaptable) */ + @Override public boolean canRemove(IBreakpoint breakpoint, IAdaptable category) { if (category instanceof WorkingSetCategory) { WorkingSetCategory wsc = (WorkingSetCategory) category; @@ -356,6 +360,7 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#canAdd(org.eclipse.debug.core.model.IBreakpoint, * org.eclipse.core.runtime.IAdaptable) */ + @Override public boolean canAdd(IBreakpoint breakpoint, IAdaptable category) { if (category instanceof WorkingSetCategory) { WorkingSetCategory wsc = (WorkingSetCategory) category; @@ -370,6 +375,7 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#addBreakpoint(org.eclipse.debug.core.model.IBreakpoint, * org.eclipse.core.runtime.IAdaptable) */ + @Override public void addBreakpoint(IBreakpoint breakpoint, IAdaptable category) { addBreakpoints(new IBreakpoint[]{breakpoint}, category); } @@ -400,11 +406,12 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#removeBreakpoint(org.eclipse.debug.core.model.IBreakpoint, * org.eclipse.core.runtime.IAdaptable) */ + @Override public void removeBreakpoint(IBreakpoint breakpoint, IAdaptable category) { if (category instanceof WorkingSetCategory) { IWorkingSet set = ((WorkingSetCategory) category).getWorkingSet(); IAdaptable[] elements = set.getElements(); - List list = new ArrayList(); + List<IAdaptable> list = new ArrayList<IAdaptable>(); for (int i = 0; i < elements.length; i++) { IAdaptable adaptable = elements[i]; if (!adaptable.equals(breakpoint)) { @@ -413,7 +420,7 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate } fCache.removeMappedEntry(breakpoint.getMarker(), set.getName()); fCache.flushMarkerCache(breakpoint.getMarker()); - set.setElements((IAdaptable[]) list.toArray(new IAdaptable[list.size()])); + set.setElements(list.toArray(new IAdaptable[list.size()])); } } @@ -422,9 +429,10 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate * * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories() */ + @Override public IAdaptable[] getCategories() { IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets(); - List all = new ArrayList(); + List<IAdaptable> all = new ArrayList<IAdaptable>(); for (int i = 0; i < workingSets.length; i++) { IWorkingSet set = workingSets[i]; if (IDebugUIConstants.BREAKPOINT_WORKINGSET_ID.equals(set @@ -432,12 +440,13 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate all.add(new WorkingSetCategory(set)); } } - return (IAdaptable[]) all.toArray(new IAdaptable[all.size()]); + return all.toArray(new IAdaptable[all.size()]); } /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegateExtension#addBreakpoints(org.eclipse.debug.core.model.IBreakpoint[], org.eclipse.core.runtime.IAdaptable) */ + @Override public void addBreakpoints(IBreakpoint[] breakpoints, IAdaptable category) { if (category instanceof WorkingSetCategory) { IWorkingSet set = ((WorkingSetCategory) category).getWorkingSet(); @@ -448,11 +457,12 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegateExtension#removeBreakpoints(org.eclipse.debug.core.model.IBreakpoint[], org.eclipse.core.runtime.IAdaptable) */ + @Override public void removeBreakpoints(IBreakpoint[] breakpoints, IAdaptable category) { if (category instanceof WorkingSetCategory) { IWorkingSet set = ((WorkingSetCategory) category).getWorkingSet(); IAdaptable[] elements = set.getElements(); - List list = new ArrayList(elements.length); + List<IAdaptable> list = new ArrayList<IAdaptable>(elements.length); for (int i = 0; i < elements.length; i++) { list.add(elements[i]); } @@ -462,7 +472,7 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate fCache.flushMarkerCache(breakpoint.getMarker()); list.remove(breakpoint); } - set.setElements((IAdaptable[]) list.toArray(new IAdaptable[list.size()])); + set.setElements(list.toArray(new IAdaptable[list.size()])); } } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java index 613072513..2f419f2df 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointTypeOrganizer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -27,19 +27,20 @@ import org.eclipse.debug.ui.IBreakpointTypeCategory; */ public class BreakpointTypeOrganizer extends AbstractBreakpointOrganizerDelegate { - private Map fTypes = new HashMap(); + private Map<String, IAdaptable[]> fTypes = new HashMap<String, IAdaptable[]>(); /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint) */ - public IAdaptable[] getCategories(IBreakpoint breakpoint) { + @Override + public IAdaptable[] getCategories(IBreakpoint breakpoint) { IBreakpointTypeCategory category = (IBreakpointTypeCategory) breakpoint.getAdapter(IBreakpointTypeCategory.class); if (category != null) { return new IAdaptable[]{category}; } String name = DebugPlugin.getDefault().getBreakpointManager().getTypeName(breakpoint); if (name != null) { - IAdaptable[] categories = (IAdaptable[]) fTypes.get(name); + IAdaptable[] categories = fTypes.get(name); if (categories == null) { categories = new IAdaptable[]{new BreakpointTypeCategory(name)}; fTypes.put(name, categories); @@ -52,8 +53,8 @@ public class BreakpointTypeOrganizer extends AbstractBreakpointOrganizerDelegate /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#dispose() */ - public void dispose() { + @Override + public void dispose() { fTypes.clear(); } - } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java index bb8f51073..6d843d2b4 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetCache.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2011 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -24,10 +24,9 @@ import org.eclipse.ui.IWorkingSetManager; import org.eclipse.ui.PlatformUI; /** - * Class to cache the breakpoint to workingset information in its underlying - * marker as breakpoints are moved between breakpoint working sets. - * It resolves the need for constant attribute lookup and parsing to - * fix bug 103731 + * Class to cache the breakpoint to working set information in its underlying + * marker as breakpoints are moved between breakpoint working sets. It resolves + * the need for constant attribute lookup and parsing to fix bug 103731 * * @since 3.2 */ @@ -38,13 +37,13 @@ public class BreakpointWorkingSetCache { * key: marker * value: vector of working sets the marker belongs to */ - HashMap fCache = null; + HashMap<IMarker, Vector<Object>> fCache = null; /** * Default constructor */ public BreakpointWorkingSetCache() { - fCache = new HashMap(15); + fCache = new HashMap<IMarker, Vector<Object>>(15); } /** @@ -53,9 +52,9 @@ public class BreakpointWorkingSetCache { * @param entry the entry to add to the cache */ public void addEntry(IMarker marker, Object entry) { - Vector list = (Vector)fCache.get(marker); + Vector<Object> list = fCache.get(marker); if (list == null) { - list = new Vector(); + list = new Vector<Object>(); list.addElement(entry); fCache.put(marker, list); } @@ -72,7 +71,7 @@ public class BreakpointWorkingSetCache { * @param entry the entry to remove */ public void removeMappedEntry(IMarker marker, Object entry) { - Vector list = (Vector)fCache.get(marker); + Vector<Object> list = fCache.get(marker); if(list != null) { list.remove(entry); } @@ -84,7 +83,7 @@ public class BreakpointWorkingSetCache { */ public void flushMarkerCache(IMarker marker) { IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager(); - Vector list = (Vector)fCache.get(marker); + Vector<Object> list = fCache.get(marker); if(list != null) { String names = IImportExportConstants.DELIMITER; String ids = IImportExportConstants.DELIMITER; diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetElementAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetElementAdapter.java index 1bb0901f4..b82c79975 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetElementAdapter.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetElementAdapter.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. + * Copyright (c) 2009, 2013 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 @@ -31,6 +31,7 @@ public class BreakpointWorkingSetElementAdapter implements IWorkingSetElementAda /* (non-Javadoc) * @see org.eclipse.ui.IWorkingSetElementAdapter#adaptElements(org.eclipse.ui.IWorkingSet, org.eclipse.core.runtime.IAdaptable[]) */ + @Override public IAdaptable[] adaptElements(IWorkingSet ws, IAdaptable[] elements) { for (int i = 0; i < elements.length; i++) { IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(elements[i], IBreakpoint.class); @@ -42,19 +43,20 @@ public class BreakpointWorkingSetElementAdapter implements IWorkingSetElementAda } private IAdaptable[] selectBreakpoints(IAdaptable[] elements) { - List breakpoints = new ArrayList(elements.length); + List<IBreakpoint> breakpoints = new ArrayList<IBreakpoint>(elements.length); for (int i = 0; i < elements.length; i++) { IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(elements[i], IBreakpoint.class); if (breakpoint != null) { breakpoints.add(breakpoint); } } - return (IAdaptable[]) breakpoints.toArray(new IAdaptable[breakpoints.size()]); + return breakpoints.toArray(new IAdaptable[breakpoints.size()]); } /* (non-Javadoc) * @see org.eclipse.ui.IWorkingSetElementAdapter#dispose() */ + @Override public void dispose() { } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java index 19879e841..f141d634e 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointWorkingSetPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -72,6 +72,7 @@ public class BreakpointWorkingSetPage extends WizardPage implements IWorkingSetP /* * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) */ + @Override public void createControl(Composite parent) { initializeDialogUnits(parent); Composite composite= new Composite(parent, SWT.NONE); @@ -86,6 +87,7 @@ public class BreakpointWorkingSetPage extends WizardPage implements IWorkingSetP fWorkingSetName.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL)); fWorkingSetName.addModifyListener( new ModifyListener() { + @Override public void modifyText(ModifyEvent e) { validateInput(); } @@ -111,6 +113,7 @@ public class BreakpointWorkingSetPage extends WizardPage implements IWorkingSetP Button selectAllButton = SWTFactory.createPushButton(buttonComposite, DebugUIViewsMessages.BreakpointWorkingSetPage_selectAll_label, null); selectAllButton.setToolTipText(DebugUIViewsMessages.BreakpointWorkingSetPage_selectAll_toolTip); selectAllButton.addSelectionListener(new SelectionAdapter() { + @Override public void widgetSelected(SelectionEvent selectionEvent) { BreakpointsViewer viewer = fTViewer.getViewer(); viewer.getTree().selectAll(); @@ -123,14 +126,16 @@ public class BreakpointWorkingSetPage extends WizardPage implements IWorkingSetP Button deselectAllButton = SWTFactory.createPushButton(buttonComposite, DebugUIViewsMessages.BreakpointWorkingSetPage_deselectAll_label, null); deselectAllButton.setToolTipText(DebugUIViewsMessages.BreakpointWorkingSetPage_deselectAll_toolTip); deselectAllButton.addSelectionListener(new SelectionAdapter() { + @Override public void widgetSelected(SelectionEvent selectionEvent) { BreakpointsViewer viewer = fTViewer.getViewer(); viewer.setCheckedElements(new Object[] {}); validateInput(); } }); - if (fWorkingSet != null) + if (fWorkingSet != null) { fWorkingSetName.setText(fWorkingSet.getName()); + } validateInput(); Dialog.applyDialogFont(composite); } @@ -138,6 +143,7 @@ public class BreakpointWorkingSetPage extends WizardPage implements IWorkingSetP /* * Implements method from IWorkingSetPage */ + @Override public IWorkingSet getSelection() { return fWorkingSet; } @@ -145,6 +151,7 @@ public class BreakpointWorkingSetPage extends WizardPage implements IWorkingSetP /* * Implements method from IWorkingSetPage */ + @Override public void setSelection(IWorkingSet workingSet) { Assert.isNotNull(workingSet, "Working set must not be null"); //$NON-NLS-1$ fWorkingSet= workingSet; @@ -158,10 +165,11 @@ public class BreakpointWorkingSetPage extends WizardPage implements IWorkingSetP /* * Implements method from IWorkingSetPage */ + @Override public void finish() { String workingSetName = fWorkingSetName.getText(); Object[] adaptable = fTViewer.getCheckedElements().toArray(); - ArrayList elements = new ArrayList(); + ArrayList<IBreakpoint> elements = new ArrayList<IBreakpoint>(); //weed out non-breakpoint elements since 3.2 for(int i = 0; i < adaptable.length; i++) { IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(adaptable[i], IBreakpoint.class); @@ -171,10 +179,10 @@ public class BreakpointWorkingSetPage extends WizardPage implements IWorkingSetP }//end for if (fWorkingSet == null) { IWorkingSetManager workingSetManager= PlatformUI.getWorkbench().getWorkingSetManager(); - fWorkingSet = workingSetManager.createWorkingSet(workingSetName, (IAdaptable[])elements.toArray(new IAdaptable[elements.size()])); + fWorkingSet = workingSetManager.createWorkingSet(workingSetName, elements.toArray(new IAdaptable[elements.size()])); } else { fWorkingSet.setName(workingSetName); - fWorkingSet.setElements((IAdaptable[])elements.toArray(new IAdaptable[elements.size()])); + fWorkingSet.setElements(elements.toArray(new IAdaptable[elements.size()])); } } @@ -185,8 +193,9 @@ public class BreakpointWorkingSetPage extends WizardPage implements IWorkingSetP String errorMessage= null; String newText= fWorkingSetName.getText(); - if (newText.equals(newText.trim()) == false) - errorMessage = DebugUIViewsMessages.BreakpointWorkingSetPage_4; + if (newText.equals(newText.trim()) == false) { + errorMessage = DebugUIViewsMessages.BreakpointWorkingSetPage_4; + } if (newText.equals(IInternalDebugCoreConstants.EMPTY_STRING)) { if (fFirstCheck) { setPageComplete(false); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsComparator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsComparator.java index 6fe092e01..6d087385e 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsComparator.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsComparator.java @@ -34,6 +34,7 @@ public class BreakpointsComparator extends ViewerComparator { /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerComparator#isSorterProperty(java.lang.Object, java.lang.String) */ + @Override public boolean isSorterProperty(Object element,String propertyId) { return propertyId.equals(IBasicPropertyConstants.P_TEXT); } @@ -56,6 +57,7 @@ public class BreakpointsComparator extends ViewerComparator { * equal to the second element; and a positive number if the first * element is greater than the second element */ + @Override public int compare(Viewer viewer, Object e1, Object e2) { if (!(e1 instanceof IBreakpoint)) { return super.compare(viewer, e1, e2); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java index a49b1a505..72c065a97 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsContentProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2011 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -40,7 +40,8 @@ public class BreakpointsContentProvider implements ITreeContentProvider, IProper /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object) */ - public Object[] getChildren(Object parentElement) { + @Override + public Object[] getChildren(Object parentElement) { if (parentElement.equals(DebugPlugin.getDefault().getBreakpointManager())) { return fElements; } else if (parentElement instanceof BreakpointContainer) { @@ -52,28 +53,32 @@ public class BreakpointsContentProvider implements ITreeContentProvider, IProper /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object) */ - public Object getParent(Object element) { + @Override + public Object getParent(Object element) { return null; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object) */ - public boolean hasChildren(Object element) { + @Override + public boolean hasChildren(Object element) { return getChildren(element).length > 0; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) */ - public Object[] getElements(Object inputElement) { + @Override + public Object[] getElements(Object inputElement) { return getChildren(inputElement); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ - public void dispose() { + @Override + public void dispose() { fDisposed = true; fElements = null; setOrganizers(null); @@ -82,7 +87,8 @@ public class BreakpointsContentProvider implements ITreeContentProvider, IProper /* (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { + @Override + public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { fViewer = (BreakpointsViewer)viewer; if (newInput != null) { reorganize(); @@ -97,16 +103,16 @@ public class BreakpointsContentProvider implements ITreeContentProvider, IProper * if none */ public void setOrganizers(IBreakpointOrganizer[] organizers) { - if (organizers != null && organizers.length == 0) { - organizers = null; - } // remove previous listeners if (fOrganizers != null) { for (int i = 0; i < fOrganizers.length; i++) { fOrganizers[i].removePropertyChangeListener(this); } } - fOrganizers = organizers; + fOrganizers = organizers; + if (organizers != null && organizers.length == 0) { + fOrganizers = null; + } // add listeners if (fOrganizers != null) { for (int i = 0; i < fOrganizers.length; i++) { @@ -148,14 +154,14 @@ public class BreakpointsContentProvider implements ITreeContentProvider, IProper */ public BreakpointContainer[] getRoots(IBreakpoint breakpoint) { if (isShowingGroups()) { - List list = new ArrayList(); + List<BreakpointContainer> list = new ArrayList<BreakpointContainer>(); for (int i = 0; i < fElements.length; i++) { BreakpointContainer container = (BreakpointContainer) fElements[i]; if (container.contains(breakpoint)) { list.add(container); } } - return (BreakpointContainer[]) list.toArray(new BreakpointContainer[list.size()]); + return list.toArray(new BreakpointContainer[list.size()]); } return null; } @@ -180,7 +186,7 @@ public class BreakpointsContentProvider implements ITreeContentProvider, IProper fElements = breakpoints; } else { IBreakpointOrganizer organizer = fOrganizers[0]; - Map categoriesToContainers = new HashMap(); + Map<IAdaptable, BreakpointContainer> categoriesToContainers = new HashMap<IAdaptable, BreakpointContainer>(); for (int i = 0; i < breakpoints.length; i++) { IBreakpoint breakpoint = breakpoints[i]; IAdaptable[] categories = organizer.getCategories(breakpoint); @@ -189,7 +195,7 @@ public class BreakpointsContentProvider implements ITreeContentProvider, IProper } for (int j = 0; j < categories.length; j++) { IAdaptable category = categories[j]; - BreakpointContainer container = (BreakpointContainer) categoriesToContainers.get(category); + BreakpointContainer container = categoriesToContainers.get(category); if (container == null) { IBreakpointOrganizer[] nesting = null; if (fOrganizers.length > 1) { @@ -207,7 +213,7 @@ public class BreakpointsContentProvider implements ITreeContentProvider, IProper if (emptyCategories != null) { for (int i = 0; i < emptyCategories.length; i++) { IAdaptable category = emptyCategories[i]; - BreakpointContainer container = (BreakpointContainer) categoriesToContainers.get(category); + BreakpointContainer container = categoriesToContainers.get(category); if (container == null) { container = new BreakpointContainer(category, organizer, null); categoriesToContainers.put(category, container); @@ -224,6 +230,7 @@ public class BreakpointsContentProvider implements ITreeContentProvider, IProper /* (non-Javadoc) * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) */ + @Override public void propertyChange(PropertyChangeEvent event) { if (event.getProperty().equals(IBreakpointOrganizerDelegate.P_CATEGORY_CHANGED)) { // TODO: only re-organize if showing the changed category diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDragAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDragAdapter.java index 60093f275..ef2443bd9 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDragAdapter.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDragAdapter.java @@ -55,14 +55,16 @@ public class BreakpointsDragAdapter extends DragSourceAdapter implements Transfe /* (non-Javadoc) * @see org.eclipse.jface.util.TransferDragSourceListener#getTransfer() */ - public Transfer getTransfer() { + @Override + public Transfer getTransfer() { return LocalSelectionTransfer.getTransfer(); } /* non Java-doc * @see org.eclipse.swt.dnd.DragSourceListener#dragStart */ - public void dragStart(DragSourceEvent event) { + @Override + public void dragStart(DragSourceEvent event) { ISelection selection = fViewer.getSelection(); LocalSelectionTransfer.getTransfer().setSelection(selection); LocalSelectionTransfer.getTransfer().setSelectionSetTime(event.time & 0xFFFFFFFFL); @@ -83,7 +85,8 @@ public class BreakpointsDragAdapter extends DragSourceAdapter implements Transfe /* non Java-doc * @see org.eclipse.swt.dnd.DragSourceListener#dragSetData */ - public void dragSetData(DragSourceEvent event) { + @Override + public void dragSetData(DragSourceEvent event) { // For consistency set the data to the selection even though // the selection is provided by the LocalSelectionTransfer // to the drop target adapter. @@ -93,7 +96,8 @@ public class BreakpointsDragAdapter extends DragSourceAdapter implements Transfe /* non Java-doc * @see org.eclipse.swt.dnd.DragSourceListener#dragFinished */ - public void dragFinished(DragSourceEvent event) { + @Override + public void dragFinished(DragSourceEvent event) { if (event.detail == DND.DROP_MOVE) { // remove from source on move operation if (fViewer instanceof BreakpointsViewer) { diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java index 2ba3c310a..5f2276fde 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsDropAdapter.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2011 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -52,7 +52,8 @@ public class BreakpointsDropAdapter extends ViewerDropAdapter { /** * @see org.eclipse.jface.viewers.ViewerDropAdapter#performDrop(java.lang.Object) */ - public boolean performDrop(Object data) { + @Override + public boolean performDrop(Object data) { // This is temporary if (getViewer() instanceof BreakpointsViewer) { return ((BreakpointsViewer)getViewer()).performDrop(fTarget, (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection()); @@ -70,10 +71,11 @@ public class BreakpointsDropAdapter extends ViewerDropAdapter { /** * @see org.eclipse.jface.viewers.ViewerDropAdapter#determineTarget(org.eclipse.swt.dnd.DropTargetEvent) */ + @Override protected Object determineTarget(DropTargetEvent event) { fTarget = (Item) event.item; if (fTarget instanceof TreeItem) { - List list = new ArrayList(); + List<Object> list = new ArrayList<Object>(); TreeItem item = (TreeItem)fTarget; while (item != null) { list.add(item.getData()); @@ -89,7 +91,8 @@ public class BreakpointsDropAdapter extends ViewerDropAdapter { /** * @see org.eclipse.jface.viewers.ViewerDropAdapter#validateDrop(java.lang.Object, int, org.eclipse.swt.dnd.TransferData) */ - public boolean validateDrop(Object target, int operation, TransferData transferType) { + @Override + public boolean validateDrop(Object target, int operation, TransferData transferType) { // This is temporary if (getViewer() instanceof BreakpointsViewer) { return ((BreakpointsViewer)getViewer()).canDrop(fTarget, (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection()); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsLabelProvider.java index b7e557000..63b875639 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsLabelProvider.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsLabelProvider.java @@ -41,7 +41,8 @@ public class BreakpointsLabelProvider extends LabelProvider implements IFontProv /* (non-Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() */ - public void dispose() { + @Override + public void dispose() { fWorkbenchLabelProvider.dispose(); fPresentation.dispose(); super.dispose(); @@ -50,7 +51,8 @@ public class BreakpointsLabelProvider extends LabelProvider implements IFontProv /* (non-Javadoc) * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object) */ - public Image getImage(Object element) { + @Override + public Image getImage(Object element) { if (element instanceof IBreakpoint) { return fPresentation.getImage(element); } @@ -80,7 +82,8 @@ public class BreakpointsLabelProvider extends LabelProvider implements IFontProv /* (non-Javadoc) * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object) */ - public String getText(Object element) { + @Override + public String getText(Object element) { if (element instanceof IBreakpoint) { return fPresentation.getText(element); } @@ -90,7 +93,8 @@ public class BreakpointsLabelProvider extends LabelProvider implements IFontProv /* (non-Javadoc) * @see org.eclipse.jface.viewers.IFontProvider#getFont(java.lang.Object) */ - public Font getFont(Object element) { + @Override + public Font getFont(Object element) { if (element instanceof IBreakpoint) { return null; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java index 123e35197..490ed9d29 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java @@ -107,9 +107,11 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager private RedoActionHandler fRedoAction; + @Override public void dispose() { - if (fClipboard != null) - fClipboard.dispose(); + if (fClipboard != null) { + fClipboard.dispose(); + } DebugPlugin.getDefault().getBreakpointManager().removeBreakpointManagerListener(this); fUndoAction.dispose(); @@ -122,6 +124,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getDetailPanePreferenceKey() */ + @Override protected String getDetailPanePreferenceKey() { return IDebugPreferenceConstants.BREAKPOINTS_DETAIL_PANE_ORIENTATION; } @@ -130,6 +133,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getHelpContextId() */ + @Override protected String getHelpContextId() { return IDebugHelpContextIds.BREAKPOINT_VIEW; } @@ -138,6 +142,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getViewerStyle() */ + @Override protected int getViewerStyle() { return SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.VIRTUAL | SWT.FULL_SELECTION | SWT.CHECK; } @@ -146,6 +151,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#createViewer(org.eclipse.swt.widgets.Composite) */ + @Override public Viewer createViewer(Composite parent) { TreeModelViewer viewer = (TreeModelViewer) super.createViewer(parent); @@ -162,12 +168,14 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getModelPresentation() */ + @Override protected IDebugModelPresentation getModelPresentation() { if (fModelPresentation == null) { fModelPresentation = new VariablesViewModelPresentation() { /** * Undo double slashes. */ + @Override public String getText(Object element) { IDebugModelPresentation lp= getConfiguredPresentation(element); if (lp != null) { @@ -192,6 +200,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#configureToolBar(org.eclipse.jface.action.IToolBarManager) */ + @Override protected void configureToolBar(IToolBarManager tbm) { tbm.add(new Separator(IDebugUIConstants.BREAKPOINT_GROUP)); tbm.add(getAction(ACTION_SHOW_MODEL_BREAKPOINT)); @@ -204,6 +213,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#fillContextMenu(org.eclipse.jface.action.IMenuManager) */ + @Override protected void fillContextMenu(IMenuManager menu) { updateObjects(); menu.add(new Separator(IDebugUIConstants.EMPTY_NAVIGATION_GROUP)); @@ -230,6 +240,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#createActions() */ + @Override protected void createActions() { IAction action = new OpenBreakpointMarkerAction(getViewer()); setAction(ACTION_GOTO_MARKER, action); @@ -269,6 +280,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * * @seeorg.eclipse.debug.internal.ui.views.variables.VariablesView#getToggleActionLabel() */ + @Override protected String getToggleActionLabel() { return DebugUIViewsMessages.BreakpointsView_12; } @@ -278,6 +290,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getPresentationContextId() */ + @Override protected String getPresentationContextId() { return IDebugUIConstants.ID_BREAKPOINT_VIEW; } @@ -287,6 +300,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#contextActivated(org.eclipse.jface.viewers.ISelection) */ + @Override protected void contextActivated(ISelection selection) { IPresentationContext presentationContext = getTreeModelViewer().getPresentationContext(); @@ -306,6 +320,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#setViewerInput(java.lang.Object) */ + @Override protected void setViewerInput(Object context) { Object current = getViewer().getInput(); if (current == null && context == null) { @@ -330,6 +345,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#viewerInputUpdateComplete(org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerInputUpdate) */ + @Override protected void viewerInputUpdateComplete(IViewerInputUpdate update) { // handles non-standard debug model IStatus status = update.getStatus(); @@ -384,17 +400,18 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager if (value != null) { String[] ids = value.split(","); //$NON-NLS-1$ BreakpointOrganizerManager manager = BreakpointOrganizerManager.getDefault(); - List organziers= new ArrayList(); + List<IBreakpointOrganizer> organziers = new ArrayList<IBreakpointOrganizer>(); for (int i = 0; i < ids.length; i++) { IBreakpointOrganizer organizer = manager.getOrganizer(ids[i]); if (organizer != null) { organziers.add(organizer); } } - fOrganizers = (IBreakpointOrganizer[]) organziers.toArray(new IBreakpointOrganizer[organziers.size()]); + fOrganizers = organziers.toArray(new IBreakpointOrganizer[organziers.size()]); - for (int i = 0; i < fOrganizers.length; i++) - fOrganizers[i].addPropertyChangeListener(this); + for (int i = 0; i < fOrganizers.length; i++) { + fOrganizers[i].addPropertyChangeListener(this); + } } } } @@ -404,6 +421,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * Initializes drag and drop for the breakpoints viewer * @param viewer the viewer to add drag and drop support to */ + @Override protected void initDragAndDrop(TreeModelViewer viewer) { int ops = DND.DROP_MOVE | DND.DROP_COPY; // drop @@ -416,6 +434,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager * (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#saveViewerState(org.eclipse.ui.IMemento) */ + @Override public void saveViewerState(IMemento memento) { StringBuffer buffer = new StringBuffer(); if (fOrganizers != null) { @@ -502,8 +521,10 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager /* (non-Javadoc) * @see org.eclipse.debug.core.IBreakpointManagerListener#breakpointManagerEnablementChanged(boolean) */ + @Override public void breakpointManagerEnablementChanged(boolean enabled) { DebugUIPlugin.getStandardDisplay().asyncExec(new Runnable() { + @Override public void run() { IAction action = getAction(ACTION_SKIP_BREAKPOINTS); if (action != null) { @@ -524,7 +545,8 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager virtualViewer.setAutoExpandLevel(-1); virtualViewer.addViewerUpdateListener(new IViewerUpdateListener() { - public void viewerUpdatesComplete() { + @Override + public void viewerUpdatesComplete() { ModelDelta stateDelta = new ModelDelta(virtualViewer.getInput(), IModelDelta.NO_CHANGE); virtualViewer.saveElementState(TreePath.EMPTY, stateDelta, IModelDelta.EXPAND); ITreeModelViewer treeModelViewer = ((ITreeModelViewer) getViewer()); @@ -533,9 +555,12 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager } virtualViewer.dispose(); } - public void viewerUpdatesBegin() {} - public void updateStarted(IViewerUpdate update) {} - public void updateComplete(IViewerUpdate update) {} + @Override + public void viewerUpdatesBegin() {} + @Override + public void updateStarted(IViewerUpdate update) {} + @Override + public void updateComplete(IViewerUpdate update) {} }); virtualViewer.setInput(getViewer().getInput()); } @@ -576,7 +601,7 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager } IStructuredSelection ss = (IStructuredSelection) selection; IBreakpointContainer container = (IBreakpointContainer) target; - for(Iterator iter = ss.iterator(); iter.hasNext();) { + for (Iterator<?> iter = ss.iterator(); iter.hasNext();) { IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(iter.next(), IBreakpoint.class); if (breakpoint == null || container.contains(breakpoint) || !container.getOrganizer().canAdd(breakpoint, container.getCategory())) { return false; @@ -728,29 +753,26 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager if (paths == null) { return; } - - Map containersToBreakpoints = new HashMap(); + Map<IBreakpointContainer, List<IBreakpoint>> containersToBreakpoints = new HashMap<IBreakpointContainer, List<IBreakpoint>>(); for (int i = 0; i < paths.length; i++) { IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(paths[i].getLastSegment(), IBreakpoint.class); if (breakpoint != null) { IBreakpointContainer container = getRemovableContainer(paths[i]); if(container != null) { - List list = (List) containersToBreakpoints.get(container); + List<IBreakpoint> list = containersToBreakpoints.get(container); if (list == null) { - list = new ArrayList(); + list = new ArrayList<IBreakpoint>(); containersToBreakpoints.put(container, list); } list.add(breakpoint); } } } - Iterator iterator = containersToBreakpoints.entrySet().iterator(); - while (iterator.hasNext()) { - Entry entry = (Entry) iterator.next(); - IBreakpointContainer container = (IBreakpointContainer) entry.getKey(); - List list = (List) entry.getValue(); + for (Entry<IBreakpointContainer, List<IBreakpoint>> entry : containersToBreakpoints.entrySet()) { + IBreakpointContainer container = entry.getKey(); + List<IBreakpoint> list = entry.getValue(); IBreakpointOrganizer organizer = container.getOrganizer(); - IBreakpoint[] breakpoints = (IBreakpoint[]) list.toArray(new IBreakpoint[list.size()]); + IBreakpoint[] breakpoints = list.toArray(new IBreakpoint[list.size()]); if (organizer instanceof IBreakpointOrganizerDelegateExtension) { IBreakpointOrganizerDelegateExtension extension = (IBreakpointOrganizerDelegateExtension) organizer; extension.removeBreakpoints(breakpoints, container.getCategory()); @@ -779,8 +801,8 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager } IBreakpointOrganizer organizer = container.getOrganizer(); - List breakpoints = new ArrayList(selection.size()); - for (Iterator iter = selection.iterator(); iter.hasNext();) { + List<IBreakpoint> breakpoints = new ArrayList<IBreakpoint>(selection.size()); + for (Iterator<?> iter = selection.iterator(); iter.hasNext();) { IBreakpoint breakpoint = (IBreakpoint) DebugPlugin.getAdapter(iter.next(), IBreakpoint.class); if (breakpoint != null) { breakpoints.add(breakpoint); @@ -789,15 +811,14 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager if (organizer instanceof IBreakpointOrganizerDelegateExtension) { IBreakpointOrganizerDelegateExtension extension = (IBreakpointOrganizerDelegateExtension) organizer; extension.addBreakpoints( - (IBreakpoint[])breakpoints.toArray(new IBreakpoint[breakpoints.size()]), + breakpoints.toArray(new IBreakpoint[breakpoints.size()]), container.getCategory()); } else { for (int i = 0; i < breakpoints.size(); i++) { - organizer.addBreakpoint((IBreakpoint)breakpoints.get(i), container.getCategory()); + organizer.addBreakpoint(breakpoints.get(i), container.getCategory()); } } // TODO expandToLevel(target.getData(), ALL_LEVELS); - return true; } @@ -819,9 +840,8 @@ public class BreakpointsView extends VariablesView implements IBreakpointManager if (selection == null || target == null) { return false; } - for(Iterator iter = selection.iterator(); iter.hasNext();) { + for (Iterator<?> iter = selection.iterator(); iter.hasNext();) { IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(iter.next(), IBreakpoint.class); - if (breakpoint == null || !checkAddableParentContainers(target, breakpoint)){ return false; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java index 3635107a6..4ffb30c12 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2011 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -85,14 +85,14 @@ public class BreakpointsViewer extends CheckboxTreeViewer { public IBreakpoint[] getVisibleBreakpoints() { IBreakpointManager manager= DebugPlugin.getDefault().getBreakpointManager(); Object[] elements= ((ITreeContentProvider)getContentProvider()).getElements(manager); - List list = new ArrayList(); + List<IBreakpoint> list = new ArrayList<IBreakpoint>(); for (int i = 0; i < elements.length; i++) { TreeItem item = (TreeItem) searchItem(elements[i]); if (item != null) { collectExpandedBreakpoints(item, list); } } - return (IBreakpoint[]) list.toArray(new IBreakpoint[list.size()]); + return list.toArray(new IBreakpoint[list.size()]); } /** @@ -102,10 +102,10 @@ public class BreakpointsViewer extends CheckboxTreeViewer { * @param item the item to get breakpoints from * @param list collection of visible breakpoints */ - private void collectExpandedBreakpoints(TreeItem item, List list) { + private void collectExpandedBreakpoints(TreeItem item, List<IBreakpoint> list) { Object data = item.getData(); if (data instanceof IBreakpoint) { - list.add(data); + list.add((IBreakpoint) data); return; } if (item.getExpanded()) { @@ -213,7 +213,7 @@ public class BreakpointsViewer extends CheckboxTreeViewer { if(items == null) { return; } - Map containersToBreakpoints = new HashMap(); + Map<IBreakpointContainer, List<IBreakpoint>> containersToBreakpoints = new HashMap<IBreakpointContainer, List<IBreakpoint>>(); IBreakpointContainer container = null; IBreakpoint breakpoint = null; for(int i = 0; i < items.length; i++) { @@ -221,22 +221,20 @@ public class BreakpointsViewer extends CheckboxTreeViewer { breakpoint = (IBreakpoint)items[i].getData(); container = getRemovableContainer(items[i]); if(container != null) { - List list = (List) containersToBreakpoints.get(container); + List<IBreakpoint> list = containersToBreakpoints.get(container); if (list == null) { - list = new ArrayList(); + list = new ArrayList<IBreakpoint>(); containersToBreakpoints.put(container, list); } list.add(breakpoint); } } } - Iterator iterator = containersToBreakpoints.entrySet().iterator(); - while (iterator.hasNext()) { - Entry entry = (Entry) iterator.next(); - container = (IBreakpointContainer) entry.getKey(); - List list = (List) entry.getValue(); + for (Entry<IBreakpointContainer, List<IBreakpoint>> entry : containersToBreakpoints.entrySet()) { + container = entry.getKey(); + List<IBreakpoint> list = entry.getValue(); IBreakpointOrganizer organizer = container.getOrganizer(); - IBreakpoint[] breakpoints = (IBreakpoint[]) list.toArray(new IBreakpoint[list.size()]); + IBreakpoint[] breakpoints = list.toArray(new IBreakpoint[list.size()]); if (organizer instanceof IBreakpointOrganizerDelegateExtension) { IBreakpointOrganizerDelegateExtension extension = (IBreakpointOrganizerDelegateExtension) organizer; extension.removeBreakpoints(breakpoints, container.getCategory()); @@ -266,7 +264,7 @@ public class BreakpointsViewer extends CheckboxTreeViewer { if(selection == null || target == null) { return false; } - for(Iterator iter = selection.iterator(); iter.hasNext();) { + for (Iterator<?> iter = selection.iterator(); iter.hasNext();) { Object currentObject = iter.next(); if (!(currentObject instanceof IBreakpoint) || !checkAddableParentContainers(target, (IBreakpoint)currentObject)){ return false; @@ -328,7 +326,7 @@ public class BreakpointsViewer extends CheckboxTreeViewer { System.arraycopy(array, 0, breakpoints, 0, array.length); extension.addBreakpoints(breakpoints, container.getCategory()); } else { - for(Iterator iter = selection.iterator(); iter.hasNext();) { + for (Iterator<?> iter = selection.iterator(); iter.hasNext();) { breakpoint = (IBreakpoint) iter.next(); organizer.addBreakpoint(breakpoint, container.getCategory()); } @@ -340,6 +338,7 @@ public class BreakpointsViewer extends CheckboxTreeViewer { /* (non-Javadoc) * @see org.eclipse.jface.viewers.Viewer#refresh() */ + @Override public void refresh() { super.refresh(); initializeCheckedState(); @@ -376,12 +375,12 @@ public class BreakpointsViewer extends CheckboxTreeViewer { * @return a list of widget occurrences to update or an empty list */ private Widget[] searchItems(Object element) { - ArrayList list = new ArrayList(); + ArrayList<TreeItem> list = new ArrayList<TreeItem>(); TreeItem[] items = getTree().getItems(); for (int i = 0; i < items.length; i++) { findAllOccurrences(items[i], element, list); } - return (Widget[]) list.toArray(new Widget[0]); + return list.toArray(new Widget[0]); } /** @@ -390,9 +389,9 @@ public class BreakpointsViewer extends CheckboxTreeViewer { * @param item the item in the tree * @param element the element to compare */ - private void findAllOccurrences(TreeItem item, Object element, ArrayList list) { + private void findAllOccurrences(TreeItem item, Object element, ArrayList<TreeItem> list) { if (element.equals(item.getData())) { - list.add(item); + list.add(item); } TreeItem[] items = item.getItems(); for (int i = 0; i < items.length; i++) { diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ElementComparator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ElementComparator.java index 20d10f06e..ab81f41b1 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ElementComparator.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ElementComparator.java @@ -1,5 +1,5 @@ /***************************************************************** - * Copyright (c) 2009, 2010 Texas Instruments and others + * Copyright (c) 2009, 2013 Texas Instruments 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 @@ -8,6 +8,7 @@ * Contributors: * Patrick Chuong (Texas Instruments) - Initial API and implementation (Bug 238956) * Pawel Piech (Windriver) - Ongoing bug fixes and enhancements (Bug 311457) + * IBM Corporation - bug fixing *****************************************************************/ package org.eclipse.debug.internal.ui.views.breakpoints; @@ -30,27 +31,29 @@ import org.eclipse.debug.internal.ui.views.DebugModelPresentationContext; * * @since 3.6 */ -public class ElementComparator implements Comparator { +public class ElementComparator implements Comparator<Object> { final private static String SPACE = " "; //$NON-NLS-1$ protected DebugModelPresentationContext fContext; public ElementComparator(IPresentationContext context) { - if (context instanceof DebugModelPresentationContext) + if (context instanceof DebugModelPresentationContext) { fContext = (DebugModelPresentationContext) context; + } } /* (non-Javadoc) * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */ + @Override public int compare(Object arg0, Object arg1) { IBreakpoint bp0 = (IBreakpoint)DebugPlugin.getAdapter(arg0, IBreakpoint.class); IBreakpoint bp1 = (IBreakpoint)DebugPlugin.getAdapter(arg1, IBreakpoint.class); if (bp0 != null && bp1 != null) { - return compare(bp0, bp1); + return doCompare(bp0, bp1); } else if (arg0 instanceof IBreakpointContainer && arg1 instanceof IBreakpointContainer) { - return compare((IBreakpointContainer) arg0, (IBreakpointContainer) arg1); + return doCompare((IBreakpointContainer) arg0, (IBreakpointContainer) arg1); } else { return -1; // just return -1 if the two objects are not IBreakpoint type } @@ -63,7 +66,7 @@ public class ElementComparator implements Comparator { * @param c2 * @return */ - private int compare(IBreakpointContainer c1, IBreakpointContainer c2) { + private int doCompare(IBreakpointContainer c1, IBreakpointContainer c2) { // The "Other" breakpoint category should be listed last. // (Bug 311457). if (c1.getCategory() instanceof OtherBreakpointCategory) { @@ -93,7 +96,7 @@ public class ElementComparator implements Comparator { * @param b2 * @return */ - private int compare(IBreakpoint b1, IBreakpoint b2) { + private int doCompare(IBreakpoint b1, IBreakpoint b2) { String text1 = IInternalDebugCoreConstants.EMPTY_STRING; String text2 = IInternalDebugCoreConstants.EMPTY_STRING; diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/FileBreakpointOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/FileBreakpointOrganizer.java index bf2a4b316..656899ba0 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/FileBreakpointOrganizer.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/FileBreakpointOrganizer.java @@ -27,7 +27,8 @@ public class FileBreakpointOrganizer extends AbstractBreakpointOrganizerDelegate /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint) */ - public IAdaptable[] getCategories(IBreakpoint breakpoint) { + @Override + public IAdaptable[] getCategories(IBreakpoint breakpoint) { IMarker marker = breakpoint.getMarker(); if (marker != null) { IResource resource = marker.getResource(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ProjectBreakpointOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ProjectBreakpointOrganizer.java index 03d8ebdda..5aaef21e4 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ProjectBreakpointOrganizer.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/ProjectBreakpointOrganizer.java @@ -26,7 +26,8 @@ public class ProjectBreakpointOrganizer extends AbstractBreakpointOrganizerDeleg /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint) */ - public IAdaptable[] getCategories(IBreakpoint breakpoint) { + @Override + public IAdaptable[] getCategories(IBreakpoint breakpoint) { IMarker marker = breakpoint.getMarker(); if (marker != null) { IProject project = marker.getResource().getProject(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java index 14125fcd2..bce1bbffe 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetBreakpointOrganizer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -44,9 +44,10 @@ public class WorkingSetBreakpointOrganizer extends AbstractBreakpointOrganizerDe /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#getCategories(org.eclipse.debug.core.model.IBreakpoint) */ - public IAdaptable[] getCategories(IBreakpoint breakpoint) { - List result = new ArrayList(); - List parents = new ArrayList(); + @Override + public IAdaptable[] getCategories(IBreakpoint breakpoint) { + List<IAdaptable> result = new ArrayList<IAdaptable>(); + List<IResource> parents = new ArrayList<IResource>(); IResource res = breakpoint.getMarker().getResource(); parents.add(res); while (res != null) { @@ -70,13 +71,14 @@ public class WorkingSetBreakpointOrganizer extends AbstractBreakpointOrganizerDe } } } - return (IAdaptable[]) result.toArray(new IAdaptable[result.size()]); + return result.toArray(new IAdaptable[result.size()]); } /* (non-Javadoc) * @see org.eclipse.debug.ui.IBreakpointOrganizerDelegate#dispose() */ - public void dispose() { + @Override + public void dispose() { fWorkingSetManager.removePropertyChangeListener(this); fWorkingSetManager = null; super.dispose(); @@ -85,7 +87,8 @@ public class WorkingSetBreakpointOrganizer extends AbstractBreakpointOrganizerDe /* (non-Javadoc) * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) */ - public void propertyChange(PropertyChangeEvent event) { + @Override + public void propertyChange(PropertyChangeEvent event) { IWorkingSet set = null; if (event.getNewValue() instanceof IWorkingSet) { set = (IWorkingSet) event.getNewValue(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetCategory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetCategory.java index 79519b1b5..7dd94a277 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetCategory.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/WorkingSetCategory.java @@ -40,21 +40,24 @@ public class WorkingSetCategory extends PlatformObject implements IWorkbenchAdap /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object) */ - public Object[] getChildren(Object o) { + @Override + public Object[] getChildren(Object o) { return null; } /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object) */ - public ImageDescriptor getImageDescriptor(Object object) { + @Override + public ImageDescriptor getImageDescriptor(Object object) { return fWorkingSet.getImageDescriptor(); } /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object) */ - public String getLabel(Object o) { + @Override + public String getLabel(Object o) { StringBuffer name = new StringBuffer(fWorkingSet.getName()); if (isDefault()) { name.append(DebugUIViewsMessages.WorkingSetCategory_0); @@ -65,7 +68,8 @@ public class WorkingSetCategory extends PlatformObject implements IWorkbenchAdap /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object) */ - public Object getParent(Object o) { + @Override + public Object getParent(Object o) { return null; } @@ -81,7 +85,8 @@ public class WorkingSetCategory extends PlatformObject implements IWorkbenchAdap /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ - public boolean equals(Object obj) { + @Override + public boolean equals(Object obj) { if (obj instanceof WorkingSetCategory) { WorkingSetCategory category = (WorkingSetCategory) obj; return category.getWorkingSet().equals(fWorkingSet); @@ -92,28 +97,32 @@ public class WorkingSetCategory extends PlatformObject implements IWorkbenchAdap /* (non-Javadoc) * @see java.lang.Object#hashCode() */ - public int hashCode() { + @Override + public int hashCode() { return fWorkingSet.hashCode(); } /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter2#getForeground(java.lang.Object) */ - public RGB getForeground(Object element) { + @Override + public RGB getForeground(Object element) { return null; } /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter2#getBackground(java.lang.Object) */ - public RGB getBackground(Object element) { + @Override + public RGB getBackground(Object element) { return null; } /* (non-Javadoc) * @see org.eclipse.ui.model.IWorkbenchAdapter2#getFont(java.lang.Object) */ - public FontData getFont(Object element) { + @Override + public FontData getFont(Object element) { if (isDefault()) { FontData[] fontData = JFaceResources.getDefaultFont().getFontData(); if (fontData != null && fontData.length > 0) { @@ -134,7 +143,8 @@ public class WorkingSetCategory extends PlatformObject implements IWorkbenchAdap return fWorkingSet.equals(BreakpointSetOrganizer.getDefaultWorkingSet()); } - public String toString() { + @Override + public String toString() { return fWorkingSet.getName(); } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java index b623b26e3..d00a40569 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2011 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -36,7 +36,7 @@ public class ConsoleLineNotifier implements IPatternMatchListener, IPropertyChan /** * Console listeners */ - private List fListeners = new ArrayList(2); + private List<IConsoleLineTracker> fListeners = new ArrayList<IConsoleLineTracker>(2); /** * The console this notifier is tracking @@ -46,6 +46,7 @@ public class ConsoleLineNotifier implements IPatternMatchListener, IPropertyChan /* (non-Javadoc) * @see org.eclipse.ui.console.IPatternMatchListenerDelegate#connect(org.eclipse.ui.console.TextConsole) */ + @Override public void connect(TextConsole console) { if (console instanceof ProcessConsole) { fConsole = (ProcessConsole)console; @@ -63,6 +64,7 @@ public class ConsoleLineNotifier implements IPatternMatchListener, IPropertyChan /* (non-Javadoc) * @see org.eclipse.ui.console.IPatternMatchListener#disconnect() */ + @Override public synchronized void disconnect() { try { IDocument document = fConsole.getDocument(); @@ -83,7 +85,7 @@ public class ConsoleLineNotifier implements IPatternMatchListener, IPropertyChan public synchronized void consoleClosed() { int size = fListeners.size(); for (int i = 0; i < size; i++) { - IConsoleLineTracker tracker = (IConsoleLineTracker) fListeners.get(i); + IConsoleLineTracker tracker = fListeners.get(i); if (tracker instanceof IConsoleLineTrackerExtension) { ((IConsoleLineTrackerExtension) tracker).consoleClosed(); } @@ -101,14 +103,16 @@ public class ConsoleLineNotifier implements IPatternMatchListener, IPropertyChan * @param listener the listener to add */ public void addConsoleListener(IConsoleLineTracker listener) { - if (!fListeners.contains(listener)) - fListeners.add(listener); + if (!fListeners.contains(listener)) { + fListeners.add(listener); + } } /* (non-Javadoc) * @see org.eclipse.ui.console.IPatternMatchListener#matchFound(org.eclipse.ui.console.PatternMatchEvent) */ - public void matchFound(PatternMatchEvent event) { + @Override + public void matchFound(PatternMatchEvent event) { try { IDocument document = fConsole.getDocument(); int lineOfOffset = document.getLineOfOffset(event.getOffset()); @@ -122,7 +126,7 @@ public class ConsoleLineNotifier implements IPatternMatchListener, IPropertyChan public void lineAppended(IRegion region) { int size = fListeners.size(); for (int i=0; i<size; i++) { - IConsoleLineTracker tracker = (IConsoleLineTracker) fListeners.get(i); + IConsoleLineTracker tracker = fListeners.get(i); tracker.lineAppended(region); } } @@ -130,7 +134,8 @@ public class ConsoleLineNotifier implements IPatternMatchListener, IPropertyChan /* (non-Javadoc) * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) */ - public void propertyChange(PropertyChangeEvent event) { + @Override + public void propertyChange(PropertyChangeEvent event) { if(event.getProperty().equals(IConsoleConstants.P_CONSOLE_OUTPUT_COMPLETE)) { fConsole.removePropertyChangeListener(this); consoleClosed(); @@ -140,21 +145,24 @@ public class ConsoleLineNotifier implements IPatternMatchListener, IPropertyChan /* (non-Javadoc) * @see org.eclipse.ui.console.IPatternMatchListener#getPattern() */ - public String getPattern() { + @Override + public String getPattern() { return ".*\\r(\\n?)|.*\\n"; //$NON-NLS-1$ } /* (non-Javadoc) * @see org.eclipse.ui.console.IPatternMatchListener#getCompilerFlags() */ - public int getCompilerFlags() { + @Override + public int getCompilerFlags() { return 0; } /* (non-Javadoc) * @see org.eclipse.ui.console.IPatternMatchListener#getLineQualifier() */ - public String getLineQualifier() { + @Override + public String getLineQualifier() { return "\\n|\\r"; //$NON-NLS-1$ } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java index 9d3a049bc..794264c51 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java @@ -34,6 +34,7 @@ public class ConsoleRemoveAllTerminatedAction extends Action implements IUpdate, /* (non-Javadoc) * @see org.eclipse.ui.texteditor.IUpdate#update() */ + @Override public void update() { ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches(); for (int i = 0; i < launches.length; i++) { @@ -50,6 +51,7 @@ public class ConsoleRemoveAllTerminatedAction extends Action implements IUpdate, /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches(); RemoveAllTerminatedAction.removeTerminatedLaunches(launches); @@ -69,7 +71,8 @@ public class ConsoleRemoveAllTerminatedAction extends Action implements IUpdate, /* (non-Javadoc) * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[]) */ - public void launchesRemoved(ILaunch[] launches) { + @Override + public void launchesRemoved(ILaunch[] launches) { if (isEnabled()) { update(); } @@ -78,18 +81,21 @@ public class ConsoleRemoveAllTerminatedAction extends Action implements IUpdate, /* (non-Javadoc) * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[]) */ - public void launchesAdded(ILaunch[] launches) { + @Override + public void launchesAdded(ILaunch[] launches) { } /* (non-Javadoc) * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[]) */ - public void launchesChanged(ILaunch[] launches) { + @Override + public void launchesChanged(ILaunch[] launches) { } /* (non-Javadoc) * @see org.eclipse.debug.core.ILaunchesListener2#launchesTerminated(org.eclipse.debug.core.ILaunch[]) */ + @Override public void launchesTerminated(ILaunch[] launches) { update(); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveLaunchAction.java index dcd6847c0..aa4a60c92 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveLaunchAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveLaunchAction.java @@ -70,7 +70,8 @@ public class ConsoleRemoveLaunchAction extends Action implements IViewActionDele } } - public synchronized void run() { + @Override + public synchronized void run() { ILaunch launch = getLaunch(); if (launch != null) { ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); @@ -78,30 +79,36 @@ public class ConsoleRemoveLaunchAction extends Action implements IViewActionDele } } - public void init(IViewPart view) { + @Override + public void init(IViewPart view) { if (view instanceof IConsoleView) { fConsoleView = (IConsoleView) view; } update(); } - public void run(IAction action) { + @Override + public void run(IAction action) { run(); } - public void selectionChanged(IAction action, ISelection selection) { + @Override + public void selectionChanged(IAction action, ISelection selection) { } - public void consolesAdded(IConsole[] consoles) { + @Override + public void consolesAdded(IConsole[] consoles) { } - public void consolesRemoved(IConsole[] consoles) { + @Override + public void consolesRemoved(IConsole[] consoles) { update(); } /* (non-Javadoc) * @see org.eclipse.debug.core.ILaunchesListener2#launchesTerminated(org.eclipse.debug.core.ILaunch[]) */ + @Override public void launchesTerminated(ILaunch[] launches) { update(); } @@ -109,18 +116,21 @@ public class ConsoleRemoveLaunchAction extends Action implements IViewActionDele /* (non-Javadoc) * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[]) */ + @Override public void launchesRemoved(ILaunch[] launches) { } /* (non-Javadoc) * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[]) */ + @Override public void launchesAdded(ILaunch[] launches) { } /* (non-Javadoc) * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[]) */ + @Override public void launchesChanged(ILaunch[] launches) { } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleShowPreferencesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleShowPreferencesAction.java index 7ff97a24d..4d2babb25 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleShowPreferencesAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleShowPreferencesAction.java @@ -29,14 +29,16 @@ public class ConsoleShowPreferencesAction extends Action implements IViewActionD * * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) */ - public void init(IViewPart view) {} + @Override + public void init(IViewPart view) {} /* * (non-Javadoc) * * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ - public void run(IAction action) { + @Override + public void run(IAction action) { SWTFactory.showPreferencePage("org.eclipse.debug.ui.ConsolePreferencePage"); //$NON-NLS-1$ } @@ -46,7 +48,8 @@ public class ConsoleShowPreferencesAction extends Action implements IViewActionD * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, * org.eclipse.jface.viewers.ISelection) */ - public void selectionChanged(IAction action, ISelection selection) { + @Override + public void selectionChanged(IAction action, ISelection selection) { // do nothing } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java index cdb9707b3..61d975135 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2011 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -19,6 +19,7 @@ import org.eclipse.debug.core.ILaunchManager; import org.eclipse.debug.core.commands.ITerminateHandler; import org.eclipse.debug.core.model.IDebugTarget; import org.eclipse.debug.core.model.IProcess; +import org.eclipse.debug.core.model.ITerminate; import org.eclipse.debug.internal.ui.DebugPluginImages; import org.eclipse.debug.internal.ui.IDebugHelpContextIds; import org.eclipse.debug.internal.ui.IInternalDebugUIConstants; @@ -57,6 +58,7 @@ public class ConsoleTerminateAction extends Action implements IUpdate { /* (non-Javadoc) * @see org.eclipse.ui.texteditor.IUpdate#update() */ + @Override public void update() { IProcess process = fConsole.getProcess(); setEnabled(process.canTerminate()); @@ -65,9 +67,10 @@ public class ConsoleTerminateAction extends Action implements IUpdate { /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { IProcess process = fConsole.getProcess(); - List targets = collectTargets(process); + List<ITerminate> targets = collectTargets(process); targets.add(process); DebugCommandService service = DebugCommandService.getService(fWindow); service.executeCommand(ITerminateHandler.class, targets.toArray(), null); @@ -79,10 +82,10 @@ public class ConsoleTerminateAction extends Action implements IUpdate { * @param process the process to collect {@link IDebugTarget}s for * @return associated targets */ - private List collectTargets(IProcess process) { + private List<ITerminate> collectTargets(IProcess process) { ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); ILaunch[] launches = launchManager.getLaunches(); - List targets = new ArrayList(); + List<ITerminate> targets = new ArrayList<ITerminate>(); for (int i = 0; i < launches.length; i++) { ILaunch launch = launches[i]; IProcess[] processes = launch.getProcesses(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java index 88cf70b0c..abffd38da 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java @@ -16,7 +16,6 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import org.eclipse.core.resources.IFile; @@ -89,10 +88,11 @@ import com.ibm.icu.text.MessageFormat; * * @since 3.0 */ +@SuppressWarnings("deprecation") public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSetListener, IPropertyChangeListener { private IProcess fProcess = null; - private List fStreamListeners = new ArrayList(); + private List<StreamListener> fStreamListeners = new ArrayList<StreamListener>(); private IConsoleColorProvider fColorProvider; @@ -160,10 +160,10 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe fFileOutputStream = new FileOutputStream(outputFile, append); fileLoc = outputFile.getAbsolutePath(); - message = MessageFormat.format(ConsoleMessages.ProcessConsole_1, new String[] {fileLoc}); + message = MessageFormat.format(ConsoleMessages.ProcessConsole_1, new Object[] { fileLoc }); addPatternMatchListener(new ConsoleLogFilePatternMatcher(fileLoc)); } catch (FileNotFoundException e) { - message = MessageFormat.format(ConsoleMessages.ProcessConsole_2, new String[] {file}); + message = MessageFormat.format(ConsoleMessages.ProcessConsole_2, new Object[] { file }); } catch (CoreException e) { DebugUIPlugin.log(e); } @@ -254,7 +254,7 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe } if (process.isTerminated()) { - return MessageFormat.format(ConsoleMessages.ProcessConsole_0, new String[] { label }); + return MessageFormat.format(ConsoleMessages.ProcessConsole_0, new Object[] { label }); } return label; } @@ -262,7 +262,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe /** * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) */ - public void propertyChange(PropertyChangeEvent evt) { + @Override + public void propertyChange(PropertyChangeEvent evt) { String property = evt.getProperty(); IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore(); if (property.equals(IDebugPreferenceConstants.CONSOLE_WRAP) || property.equals(IDebugPreferenceConstants.CONSOLE_WIDTH)) { @@ -289,23 +290,27 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe setTabWidth(tabWidth); } else if (property.equals(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT)) { boolean activateOnOut = store.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT); - IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM); + @SuppressWarnings("resource") + IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM); if (stream != null) { stream.setActivateOnWrite(activateOnOut); } } else if (property.equals(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR)) { boolean activateOnErr = store.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR); - IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_ERROR_STREAM); + @SuppressWarnings("resource") + IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_ERROR_STREAM); if (stream != null) { stream.setActivateOnWrite(activateOnErr); } } else if (property.equals(IDebugPreferenceConstants.CONSOLE_SYS_OUT_COLOR)) { - IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM); + @SuppressWarnings("resource") + IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM); if (stream != null) { stream.setColor(fColorProvider.getColor(IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM)); } } else if (property.equals(IDebugPreferenceConstants.CONSOLE_SYS_ERR_COLOR)) { - IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_ERROR_STREAM); + @SuppressWarnings("resource") + IOConsoleOutputStream stream = getStream(IDebugUIConstants.ID_STANDARD_ERROR_STREAM); if (stream != null) { stream.setColor(fColorProvider.getColor(IDebugUIConstants.ID_STANDARD_ERROR_STREAM)); } @@ -323,9 +328,9 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe /** * @see org.eclipse.debug.ui.console.IConsole#getStream(java.lang.String) */ - public IOConsoleOutputStream getStream(String streamIdentifier) { - for (Iterator i = fStreamListeners.iterator(); i.hasNext();) { - StreamListener listener = (StreamListener) i.next(); + @Override + public IOConsoleOutputStream getStream(String streamIdentifier) { + for (StreamListener listener : fStreamListeners) { if (listener.fStreamId.equals(streamIdentifier)) { return listener.fStream; } @@ -336,14 +341,16 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe /** * @see org.eclipse.debug.ui.console.IConsole#getProcess() */ - public IProcess getProcess() { + @Override + public IProcess getProcess() { return fProcess; } /** * @see org.eclipse.ui.console.IOConsole#dispose() */ - protected void dispose() { + @Override + protected void dispose() { super.dispose(); fColorProvider.disconnect(); closeStreams(); @@ -354,14 +361,13 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe } /** - * cleanup method to clsoe all of the open stream to this console - */ + * cleanup method to close all of the open stream to this console + */ private synchronized void closeStreams() { if (fStreamsClosed) { return; } - for (Iterator i = fStreamListeners.iterator(); i.hasNext();) { - StreamListener listener = (StreamListener) i.next(); + for (StreamListener listener : fStreamListeners) { listener.closeStream(); } if (fFileOutputStream != null) { @@ -381,11 +387,11 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe } /** - * disposes ofthe listeners for each of the stream associated with this console - */ + * disposes the listeners for each of the stream associated with this + * console + */ private synchronized void disposeStreams() { - for (Iterator i = fStreamListeners.iterator(); i.hasNext();) { - StreamListener listener = (StreamListener) i.next(); + for (StreamListener listener : fStreamListeners) { listener.dispose(); } fFileOutputStream = null; @@ -395,7 +401,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe /** * @see org.eclipse.ui.console.AbstractConsole#init() */ - protected void init() { + @Override + protected void init() { super.init(); if (fProcess.isTerminated()) { closeStreams(); @@ -418,7 +425,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe } DebugUIPlugin.getStandardDisplay().asyncExec(new Runnable() { - public void run() { + @Override + public void run() { setFont(JFaceResources.getFont(IDebugUIConstants.PREF_CONSOLE_FONT)); setBackground(DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_BAKGROUND_COLOR)); } @@ -430,7 +438,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe * * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[]) */ - public void handleDebugEvents(DebugEvent[] events) { + @Override + public void handleDebugEvents(DebugEvent[] events) { for (int i = 0; i < events.length; i++) { DebugEvent event = events[i]; if (event.getSource().equals(getProcess())) { @@ -453,6 +462,7 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe String name = getName(); if (!name.equals(newName)) { UIJob job = new UIJob("Update console title") { //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { ProcessConsole.this.setName(newName); warnOfContentChange(); @@ -474,7 +484,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe /** * @see org.eclipse.debug.ui.console.IConsole#connect(org.eclipse.debug.core.model.IStreamsProxy) */ - public void connect(IStreamsProxy streamsProxy) { + @Override + public void connect(IStreamsProxy streamsProxy) { IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore(); IStreamMonitor streamMonitor = streamsProxy.getErrorStreamMonitor(); if (streamMonitor != null) { @@ -494,7 +505,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe /** * @see org.eclipse.debug.ui.console.IConsole#connect(org.eclipse.debug.core.model.IStreamMonitor, java.lang.String) */ - public void connect(IStreamMonitor streamMonitor, String streamIdentifier) { + @Override + public void connect(IStreamMonitor streamMonitor, String streamIdentifier) { connect(streamMonitor, streamIdentifier, false); } @@ -505,7 +517,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe * @param streamIdentifier stream identifier * @param activateOnWrite whether the stream should displayed when written to */ - private void connect(IStreamMonitor streamMonitor, String streamIdentifier, boolean activateOnWrite) { + @SuppressWarnings("resource") + private void connect(IStreamMonitor streamMonitor, String streamIdentifier, boolean activateOnWrite) { IOConsoleOutputStream stream = null; if (fAllocateConsole) { stream = newOutputStream(); @@ -522,7 +535,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe /** * @see org.eclipse.debug.ui.console.IConsole#addLink(org.eclipse.debug.ui.console.IConsoleHyperlink, int, int) */ - public void addLink(IConsoleHyperlink link, int offset, int length) { + @Override + public void addLink(IConsoleHyperlink link, int offset, int length) { try { addHyperlink(link, offset, length); } catch (BadLocationException e) { @@ -533,7 +547,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe /** * @see org.eclipse.debug.ui.console.IConsole#addLink(org.eclipse.ui.console.IHyperlink, int, int) */ - public void addLink(IHyperlink link, int offset, int length) { + @Override + public void addLink(IHyperlink link, int offset, int length) { try { addHyperlink(link, offset, length); } catch (BadLocationException e) { @@ -544,7 +559,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe /** * @see org.eclipse.debug.ui.console.IConsole#getRegion(org.eclipse.debug.ui.console.IConsoleHyperlink) */ - public IRegion getRegion(IConsoleHyperlink link) { + @Override + public IRegion getRegion(IConsoleHyperlink link) { return super.getRegion(link); } @@ -578,22 +594,25 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe * @see org.eclipse.debug.core.IStreamListener#streamAppended(java.lang.String, * org.eclipse.debug.core.model.IStreamMonitor) */ - public void streamAppended(String text, IStreamMonitor monitor) { + @Override + public void streamAppended(String text, IStreamMonitor monitor) { String encoding = getEncoding(); if (fFlushed) { try { if (fStream != null) { - if (encoding == null) - fStream.write(text); - else - fStream.write(text.getBytes(encoding)); + if (encoding == null) { + fStream.write(text); + } else { + fStream.write(text.getBytes(encoding)); + } } if (fFileOutputStream != null) { synchronized (fFileOutputStream) { - if (encoding == null) - fFileOutputStream.write(text.getBytes()); - else - fFileOutputStream.write(text.getBytes(encoding)); + if (encoding == null) { + fFileOutputStream.write(text.getBytes()); + } else { + fFileOutputStream.write(text.getBytes(encoding)); + } } } } catch (IOException e) { @@ -671,7 +690,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe * * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor) */ - protected IStatus run(IProgressMonitor monitor) { + @Override + protected IStatus run(IProgressMonitor monitor) { String encoding = getEncoding(); try { byte[] b = new byte[1024]; @@ -680,10 +700,11 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe read = fInput.read(b); if (read > 0) { String s; - if (encoding != null) - s = new String(b, 0, read, encoding); - else - s = new String(b, 0, read); + if (encoding != null) { + s = new String(b, 0, read, encoding); + } else { + s = new String(b, 0, read); + } streamsProxy.write(s); } } @@ -699,7 +720,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe * * @see org.eclipse.ui.console.IConsole#getImageDescriptor() */ - public ImageDescriptor getImageDescriptor() { + @Override + public ImageDescriptor getImageDescriptor() { if (super.getImageDescriptor() == null) { setImageDescriptor(computeImageDescriptor()); } @@ -723,11 +745,13 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe return buffer.toString(); } - public String getPattern() { + @Override + public String getPattern() { return fFilePath; } - public void matchFound(PatternMatchEvent event) { + @Override + public void matchFound(PatternMatchEvent event) { try { addHyperlink(new ConsoleLogFileHyperlink(fFilePath), event.getOffset(), event.getLength()); removePatternMatchListener(this); @@ -735,18 +759,22 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe } } - public int getCompilerFlags() { + @Override + public int getCompilerFlags() { return 0; } - public String getLineQualifier() { + @Override + public String getLineQualifier() { return null; } - public void connect(TextConsole console) { + @Override + public void connect(TextConsole console) { } - public void disconnect() { + @Override + public void disconnect() { } } @@ -756,7 +784,8 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe fFilePath = filePath; } - public void linkActivated() { + @Override + public void linkActivated() { IEditorInput input; Path path = new Path(fFilePath); IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); @@ -776,9 +805,11 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe } catch (PartInitException e) { } } - public void linkEntered() { + @Override + public void linkEntered() { } - public void linkExited() { + @Override + public void linkExited() { } } @@ -791,36 +822,44 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe fFile = file; } - public IStorage getStorage() { + @Override + public IStorage getStorage() { return fStorage; } - public ImageDescriptor getImageDescriptor() { + @Override + public ImageDescriptor getImageDescriptor() { return null; } - public String getName() { + @Override + public String getName() { return getStorage().getName(); } - public IPersistableElement getPersistable() { + @Override + public IPersistableElement getPersistable() { return null; } - public String getToolTipText() { + @Override + public String getToolTipText() { return getStorage().getFullPath().toOSString(); } - public boolean equals(Object object) { + @Override + public boolean equals(Object object) { return object instanceof StorageEditorInput && getStorage().equals(((StorageEditorInput)object).getStorage()); } - public int hashCode() { + @Override + public int hashCode() { return getStorage().hashCode(); } - public boolean exists() { + @Override + public boolean exists() { return fFile.exists(); } } @@ -828,6 +867,7 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe /* (non-Javadoc) * @see org.eclipse.ui.console.AbstractConsole#getHelpContextId() */ + @Override public String getHelpContextId() { return IDebugHelpContextIds.PROCESS_CONSOLE; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java index df8479fe7..e4669a68d 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -13,7 +13,6 @@ package org.eclipse.debug.internal.ui.views.console; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -47,7 +46,7 @@ public class ProcessConsoleManager implements ILaunchListener { /** * Console document content provider extensions, keyed by extension id */ - private Map fColorProviders; + private Map<String, IConfigurationElement> fColorProviders; /** * The default color provider. Used if no color provider is contributed @@ -58,19 +57,18 @@ public class ProcessConsoleManager implements ILaunchListener { /** * Console line trackers; keyed by process type to list of trackers (1:N) */ - private Map fLineTrackers; + private Map<String, List<IConfigurationElement>> fLineTrackers; /** * Map of processes for a launch to compute removed processes */ - private Map fProcesses; - - + private Map<ILaunch, IProcess[]> fProcesses; /** * @see ILaunchListener#launchRemoved(ILaunch) */ - public void launchRemoved(ILaunch launch) { + @Override + public void launchRemoved(ILaunch launch) { removeLaunch(launch); } @@ -123,14 +121,16 @@ public class ProcessConsoleManager implements ILaunchListener { /** * @see ILaunchListener#launchAdded(ILaunch) */ - public void launchAdded(ILaunch launch) { + @Override + public void launchAdded(ILaunch launch) { launchChanged(launch); } /** * @see ILaunchListener#launchChanged(ILaunch) */ - public void launchChanged(final ILaunch launch) { + @Override + public void launchChanged(final ILaunch launch) { IProcess[] processes= launch.getProcesses(); for (int i= 0; i < processes.length; i++) { if (getConsoleDocument(processes[i]) == null) { @@ -149,11 +149,9 @@ public class ProcessConsoleManager implements ILaunchListener { ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[]{pc}); } } - List removed = getRemovedProcesses(launch); + List<IProcess> removed = getRemovedProcesses(launch); if (removed != null) { - Iterator iterator = removed.iterator(); - while (iterator.hasNext()) { - IProcess p = (IProcess) iterator.next(); + for (IProcess p : removed) { removeProcess(p); } } @@ -212,7 +210,7 @@ public class ProcessConsoleManager implements ILaunchListener { */ public IConsoleColorProvider getColorProvider(String type) { if (fColorProviders == null) { - fColorProviders = new HashMap(); + fColorProviders = new HashMap<String, IConfigurationElement>(); IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_CONSOLE_COLOR_PROVIDERS); IConfigurationElement[] elements = extensionPoint.getConfigurationElements(); for (int i = 0; i < elements.length; i++) { @@ -220,7 +218,7 @@ public class ProcessConsoleManager implements ILaunchListener { fColorProviders.put(extension.getAttribute("processType"), extension); //$NON-NLS-1$ } } - IConfigurationElement extension = (IConfigurationElement)fColorProviders.get(type); + IConfigurationElement extension = fColorProviders.get(type); if (extension != null) { try { Object colorProvider = extension.createExecutableExtension("class"); //$NON-NLS-1$ @@ -229,7 +227,7 @@ public class ProcessConsoleManager implements ILaunchListener { } DebugUIPlugin.logErrorMessage(MessageFormat.format( "Extension {0} must specify an instanceof IConsoleColorProvider for class attribute.", //$NON-NLS-1$ - new String[]{extension.getDeclaringExtension().getUniqueIdentifier()})); + new Object[] { extension.getDeclaringExtension().getUniqueIdentifier() })); } catch (CoreException e) { DebugUIPlugin.log(e); } @@ -250,36 +248,35 @@ public class ProcessConsoleManager implements ILaunchListener { String type = process.getAttribute(IProcess.ATTR_PROCESS_TYPE); if (fLineTrackers == null) { - fLineTrackers = new HashMap(); + fLineTrackers = new HashMap<String, List<IConfigurationElement>>(); IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_CONSOLE_LINE_TRACKERS); IConfigurationElement[] elements = extensionPoint.getConfigurationElements(); for (int i = 0; i < elements.length; i++) { IConfigurationElement extension = elements[i]; String processType = extension.getAttribute("processType"); //$NON-NLS-1$ - List list = (List)fLineTrackers.get(processType); + List<IConfigurationElement> list = fLineTrackers.get(processType); if (list == null) { - list = new ArrayList(); + list = new ArrayList<IConfigurationElement>(); fLineTrackers.put(processType, list); } list.add(extension); } } - ArrayList trackers = new ArrayList(); + ArrayList<IConsoleLineTracker> trackers = new ArrayList<IConsoleLineTracker>(); if (type != null) { - List lineTrackerExtensions = (List) fLineTrackers.get(type); + List<IConfigurationElement> lineTrackerExtensions = fLineTrackers.get(type); if(lineTrackerExtensions != null) { - for(Iterator i = lineTrackerExtensions.iterator(); i.hasNext(); ) { - IConfigurationElement element = (IConfigurationElement) i.next(); + for (IConfigurationElement element : lineTrackerExtensions) { try { - trackers.add(element.createExecutableExtension("class")); //$NON-NLS-1$ + trackers.add((IConsoleLineTracker) element.createExecutableExtension("class")); //$NON-NLS-1$ } catch (CoreException e) { DebugUIPlugin.log(e); } } } } - return (IConsoleLineTracker[]) trackers.toArray(new IConsoleLineTracker[0]); + return trackers.toArray(new IConsoleLineTracker[0]); } /** @@ -289,19 +286,19 @@ public class ProcessConsoleManager implements ILaunchListener { * @param launch launch that has changed * @return removed processes or <code>null</code> */ - private List getRemovedProcesses(ILaunch launch) { - List removed = null; + private List<IProcess> getRemovedProcesses(ILaunch launch) { + List<IProcess> removed = null; if (fProcesses == null) { - fProcesses = new HashMap(); + fProcesses = new HashMap<ILaunch, IProcess[]>(); } - IProcess[] old = (IProcess[]) fProcesses.get(launch); + IProcess[] old = fProcesses.get(launch); IProcess[] curr = launch.getProcesses(); if (old != null) { for (int i = 0; i < old.length; i++) { IProcess process = old[i]; if (!contains(curr, process)) { if (removed == null) { - removed = new ArrayList(); + removed = new ArrayList<IProcess>(); } removed.add(process); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePageParticipant.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePageParticipant.java index 6fa8fdc03..4462e299e 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePageParticipant.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePageParticipant.java @@ -75,7 +75,8 @@ public class ProcessConsolePageParticipant implements IConsolePageParticipant, I * Handler to send EOF */ private class EOFHandler extends AbstractHandler { - public Object execute(ExecutionEvent event) throws org.eclipse.core.commands.ExecutionException { + @Override + public Object execute(ExecutionEvent event) throws org.eclipse.core.commands.ExecutionException { IStreamsProxy proxy = getProcess().getStreamsProxy(); if (proxy instanceof IStreamsProxy2) { IStreamsProxy2 proxy2 = (IStreamsProxy2) proxy; @@ -92,7 +93,8 @@ public class ProcessConsolePageParticipant implements IConsolePageParticipant, I /* (non-Javadoc) * @see org.eclipse.ui.console.IConsolePageParticipant#init(IPageBookViewPage, IConsole) */ - public void init(IPageBookViewPage page, IConsole console) { + @Override + public void init(IPageBookViewPage page, IConsole console) { fPage = page; fConsole = (ProcessConsole) console; @@ -118,7 +120,8 @@ public class ProcessConsolePageParticipant implements IConsolePageParticipant, I /* (non-Javadoc) * @see org.eclipse.ui.console.IConsolePageParticipant#dispose() */ - public void dispose() { + @Override + public void dispose() { DebugUITools.getDebugContextManager().getContextService(fPage.getSite().getWorkbenchWindow()).removeDebugContextListener(this); DebugPlugin.getDefault().removeDebugEventListener(this); if (fRemoveTerminated != null) { @@ -158,7 +161,8 @@ public class ProcessConsolePageParticipant implements IConsolePageParticipant, I /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ - public Object getAdapter(Class required) { + @Override + public Object getAdapter(Class required) { if (IShowInSource.class.equals(required)) { return this; } @@ -179,7 +183,8 @@ public class ProcessConsolePageParticipant implements IConsolePageParticipant, I /* (non-Javadoc) * @see org.eclipse.ui.part.IShowInSource#getShowInContext() */ - public ShowInContext getShowInContext() { + @Override + public ShowInContext getShowInContext() { IProcess process = getProcess(); if (process == null) { return null; @@ -203,19 +208,22 @@ public class ProcessConsolePageParticipant implements IConsolePageParticipant, I /* (non-Javadoc) * @see org.eclipse.ui.part.IShowInTargetList#getShowInTargetIds() */ - public String[] getShowInTargetIds() { + @Override + public String[] getShowInTargetIds() { return new String[] {IDebugUIConstants.ID_DEBUG_VIEW}; } /* (non-Javadoc) * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[]) */ - public void handleDebugEvents(DebugEvent[] events) { + @Override + public void handleDebugEvents(DebugEvent[] events) { for (int i = 0; i < events.length; i++) { DebugEvent event = events[i]; if (event.getSource().equals(getProcess())) { Runnable r = new Runnable() { - public void run() { + @Override + public void run() { if (fTerminate != null) { fTerminate.update(); } @@ -234,7 +242,8 @@ public class ProcessConsolePageParticipant implements IConsolePageParticipant, I /* (non-Javadoc) * @see org.eclipse.ui.console.IConsolePageParticipant#activated() */ - public void activated() { + @Override + public void activated() { // add EOF submissions IPageSite site = fPage.getSite(); if(fActivatedContext == null && fActivatedHandler == null) { @@ -248,7 +257,8 @@ public class ProcessConsolePageParticipant implements IConsolePageParticipant, I /* (non-Javadoc) * @see org.eclipse.ui.console.IConsolePageParticipant#deactivated() */ - public void deactivated() { + @Override + public void deactivated() { // remove EOF submissions IPageSite site = fPage.getSite(); IHandlerService handlerService = (IHandlerService)site.getService(IHandlerService.class); @@ -262,6 +272,7 @@ public class ProcessConsolePageParticipant implements IConsolePageParticipant, I /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextEvent(org.eclipse.debug.internal.ui.contexts.provisional.DebugContextEvent) */ + @Override public void debugContextChanged(DebugContextEvent event) { if ((event.getFlags() & DebugContextEvent.ACTIVATED) > 0) { if (fView != null && getProcess().equals(DebugUITools.getCurrentProcess())) { diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessTypePropertyTester.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessTypePropertyTester.java index a525977d0..478cc0eae 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessTypePropertyTester.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessTypePropertyTester.java @@ -25,7 +25,8 @@ public class ProcessTypePropertyTester extends PropertyTester { /* (non-Javadoc) * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) */ - public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + @Override + public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { if (receiver instanceof TextConsole) { TextConsole console = (TextConsole) receiver; IProcess process = (IProcess) console.getAttribute(IDebugUIConstants.ATTR_CONSOLE_PROCESS); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardErrorAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardErrorAction.java index ff2f6a064..a13a0cfe4 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardErrorAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardErrorAction.java @@ -35,6 +35,7 @@ public class ShowStandardErrorAction extends ShowWhenContentChangesAction { setImageDescriptor(DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_STANDARD_ERR)); } + @Override protected String getKey() { return IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardOutAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardOutAction.java index 0bd2b96dd..71fd9fd12 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardOutAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowStandardOutAction.java @@ -35,6 +35,7 @@ public class ShowStandardOutAction extends ShowWhenContentChangesAction { setImageDescriptor(DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_STANDARD_OUT)); } + @Override protected String getKey() { return IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowWhenContentChangesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowWhenContentChangesAction.java index bfe1825b7..fca78ddb6 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowWhenContentChangesAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ShowWhenContentChangesAction.java @@ -38,6 +38,7 @@ public abstract class ShowWhenContentChangesAction extends Action implements IPr /* (non-Javadoc) * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) */ + @Override public void propertyChange(PropertyChangeEvent event) { String property = event.getProperty(); if (property.equals(getKey())) { @@ -68,6 +69,7 @@ public abstract class ShowWhenContentChangesAction extends Action implements IPr /* (non-Javadoc) * @see org.eclipse.jface.action.Action#run() */ + @Override public void run() { IPreferenceStore store = getPreferenceStore(); boolean show = isChecked(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java index b63b1c8b1..874c04be6 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionDropAdapter.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2010 IBM Corporation and others. + * Copyright (c) 2007, 2013 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 @@ -80,7 +80,8 @@ public class ExpressionDropAdapter extends ViewerDropAdapter { /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragEnter(org.eclipse.swt.dnd.DropTargetEvent) */ - public void dragEnter(DropTargetEvent event) { + @Override + public void dragEnter(DropTargetEvent event) { fDropType = DROP_TYPE_DEFAULT; event.detail = DND.DROP_NONE; @@ -118,7 +119,7 @@ public class ExpressionDropAdapter extends ViewerDropAdapter { */ private boolean isExpressionDrop() { IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection(); - Iterator iterator = selection.iterator(); + Iterator<?> iterator = selection.iterator(); while (iterator.hasNext()) { Object element = iterator.next(); if (getTargetExpression(element) == null){ @@ -133,7 +134,7 @@ public class ExpressionDropAdapter extends ViewerDropAdapter { */ private boolean isVariableDrop() { IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection(); - Iterator iterator = selection.iterator(); + Iterator<?> iterator = selection.iterator(); while (iterator.hasNext()) { Object element = iterator.next(); if (!(element instanceof IVariable)){ @@ -149,7 +150,7 @@ public class ExpressionDropAdapter extends ViewerDropAdapter { */ private boolean isWatchAdaptableElementDrop() { IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection(); - Iterator iterator = selection.iterator(); + Iterator<?> iterator = selection.iterator(); while (iterator.hasNext()) { Object element = iterator.next(); if (!(element instanceof IAdaptable && @@ -164,6 +165,7 @@ public class ExpressionDropAdapter extends ViewerDropAdapter { /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragOver(org.eclipse.swt.dnd.DropTargetEvent) */ + @Override public void dragOver(DropTargetEvent event) { super.dragOver(event); // Allow scrolling (but not expansion) @@ -173,7 +175,8 @@ public class ExpressionDropAdapter extends ViewerDropAdapter { /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerDropAdapter#validateDrop(java.lang.Object, int, org.eclipse.swt.dnd.TransferData) */ - public boolean validateDrop(Object target, int operation, TransferData transferType) { + @Override + public boolean validateDrop(Object target, int operation, TransferData transferType) { if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType)) { if (fDropType == DROP_TYPE_EXPRESSION){ return validateExpressionDrop(target); @@ -226,7 +229,7 @@ public class ExpressionDropAdapter extends ViewerDropAdapter { if (selection != null) { size = selection.size(); IExpressionManager manager = DebugPlugin.getDefault().getExpressionManager(); - Iterator iterator = selection.iterator(); + Iterator<?> iterator = selection.iterator(); while (iterator.hasNext()) { Object element = iterator.next(); if (element instanceof IVariable){ @@ -261,7 +264,7 @@ public class ExpressionDropAdapter extends ViewerDropAdapter { int size = -1; if (selection != null) { size = selection.size(); - Iterator iterator = selection.iterator(); + Iterator<?> iterator = selection.iterator(); while (iterator.hasNext()) { Object element = iterator.next(); if (isFactory2Enabled(element)) { @@ -317,6 +320,7 @@ public class ExpressionDropAdapter extends ViewerDropAdapter { /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerDropAdapter#drop(org.eclipse.swt.dnd.DropTargetEvent) */ + @Override public void drop(DropTargetEvent event) { fCurrentTransferType = event.currentDataType; // Unless insert after is explicitly set, insert before @@ -327,7 +331,8 @@ public class ExpressionDropAdapter extends ViewerDropAdapter { /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerDropAdapter#performDrop(java.lang.Object) */ - public boolean performDrop(Object data) { + @Override + public boolean performDrop(Object data) { if (LocalSelectionTransfer.getTransfer().isSupportedType(fCurrentTransferType)) { IStructuredSelection selection = (IStructuredSelection) LocalSelectionTransfer.getTransfer().getSelection(); if (fDropType == DROP_TYPE_EXPRESSION){ @@ -379,8 +384,8 @@ public class ExpressionDropAdapter extends ViewerDropAdapter { * @return whether the drop was successful */ private boolean performVariableOrWatchAdaptableDrop(IStructuredSelection selection) { - List expressions = new ArrayList(selection.size()); - for (Iterator itr = selection.iterator(); itr.hasNext(); ) { + List<IExpression> expressions = new ArrayList<IExpression>(selection.size()); + for (Iterator<?> itr = selection.iterator(); itr.hasNext();) { Object element = itr.next(); String expressionText = createExpressionString(element); if (expressionText != null){ @@ -400,9 +405,9 @@ public class ExpressionDropAdapter extends ViewerDropAdapter { if (manager instanceof ExpressionManager){ IExpression targetExpression = getTargetExpression(getCurrentTarget()); if (targetExpression != null){ - ((ExpressionManager)manager).insertExpressions((IExpression[])expressions.toArray(new IExpression[expressions.size()]), targetExpression, fInsertBefore); + ((ExpressionManager)manager).insertExpressions(expressions.toArray(new IExpression[expressions.size()]), targetExpression, fInsertBefore); } else { - ((ExpressionManager)manager).addExpressions((IExpression[])expressions.toArray(new IExpression[expressions.size()])); + ((ExpressionManager)manager).addExpressions(expressions.toArray(new IExpression[expressions.size()])); } return true; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java index 54f3d965d..d7e811e5d 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java @@ -64,6 +64,7 @@ public class ExpressionView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getHelpContextId() */ + @Override protected String getHelpContextId() { return IDebugHelpContextIds.EXPRESSION_VIEW; } @@ -71,6 +72,7 @@ public class ExpressionView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#configureToolBar(org.eclipse.jface.action.IToolBarManager) */ + @Override protected void configureToolBar(IToolBarManager tbm) { super.configureToolBar(tbm); tbm.add(new Separator(IDebugUIConstants.EMPTY_EXPRESSION_GROUP)); @@ -80,6 +82,7 @@ public class ExpressionView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#fillContextMenu(org.eclipse.jface.action.IMenuManager) */ + @Override protected void fillContextMenu(IMenuManager menu) { menu.add(new Separator(IDebugUIConstants.EMPTY_EXPRESSION_GROUP)); menu.add(new Separator(IDebugUIConstants.EXPRESSION_GROUP)); @@ -104,6 +107,7 @@ public class ExpressionView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#contextActivated(org.eclipse.jface.viewers.ISelection) */ + @Override protected void contextActivated(ISelection selection) { if (!isAvailable() || !isVisible()) { return; @@ -121,6 +125,7 @@ public class ExpressionView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#viewerInputUpdateComplete(IViewerInputUpdate) */ + @Override protected void viewerInputUpdateComplete(IViewerInputUpdate update) { IStatus status = update.getStatus(); if ( (status == null || status.isOK()) && update.getElement() != null) { @@ -134,6 +139,7 @@ public class ExpressionView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getDetailPanePreferenceKey() */ + @Override protected String getDetailPanePreferenceKey() { return IDebugPreferenceConstants.EXPRESSIONS_DETAIL_PANE_ORIENTATION; } @@ -141,6 +147,7 @@ public class ExpressionView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getToggleActionLabel() */ + @Override protected String getToggleActionLabel() { return VariablesViewMessages.ExpressionView_4; } @@ -148,6 +155,7 @@ public class ExpressionView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getPresentationContextId() */ + @Override protected String getPresentationContextId() { return IDebugUIConstants.ID_EXPRESSION_VIEW; } @@ -155,7 +163,8 @@ public class ExpressionView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#initDragAndDrop(org.eclipse.debug.internal.ui.viewers.model.provisional.TreeModelViewer) */ - protected void initDragAndDrop(TreeModelViewer viewer) { + @Override + protected void initDragAndDrop(TreeModelViewer viewer) { viewer.addDragSupport(DND.DROP_MOVE, new Transfer[] {LocalSelectionTransfer.getTransfer()}, new SelectionDragAdapter(viewer)); viewer.addDropSupport(DND.DROP_MOVE|DND.DROP_COPY, new Transfer[] {LocalSelectionTransfer.getTransfer(), TextTransfer.getInstance()}, new ExpressionDropAdapter(getSite(), viewer)); } @@ -163,7 +172,8 @@ public class ExpressionView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#createActions() */ - protected void createActions() { + @Override + protected void createActions() { super.createActions(); fPasteAction = new PasteWatchExpressionsAction(this); configure(fPasteAction, IWorkbenchCommandConstants.EDIT_PASTE, PASTE_ACTION, ISharedImages.IMG_TOOL_PASTE); @@ -171,7 +181,8 @@ public class ExpressionView extends VariablesView { configure(fEditInPlaceAction, IWorkbenchCommandConstants.FILE_RENAME, ActionFactory.RENAME.getId(), null); } - public void dispose() { + @Override + public void dispose() { fEditInPlaceAction.dispose(); super.dispose(); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbDropDownAutoExpandAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbDropDownAutoExpandAction.java index f24b49546..39825b009 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbDropDownAutoExpandAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbDropDownAutoExpandAction.java @@ -46,6 +46,7 @@ class BreadcrumbDropDownAutoExpandAction extends Action { /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { fLaunchView.setBreadcrumbDropDownAutoExpand(isChecked()); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbWorkbenchPart.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbWorkbenchPart.java index 1b458ec5c..f75f7a5cb 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbWorkbenchPart.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/BreadcrumbWorkbenchPart.java @@ -29,14 +29,16 @@ class BreadcrumbWorkbenchPart implements IWorkbenchPart { /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ - public boolean equals(Object obj) { + @Override + public boolean equals(Object obj) { return (obj instanceof BreadcrumbWorkbenchPart); } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ - public int hashCode() { + @Override + public int hashCode() { return getClass().hashCode(); } @@ -52,65 +54,75 @@ class BreadcrumbWorkbenchPart implements IWorkbenchPart { /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchPart#addPropertyListener(org.eclipse.ui.IPropertyListener) */ - public void addPropertyListener(IPropertyListener listener) { + @Override + public void addPropertyListener(IPropertyListener listener) { } /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) */ - public void createPartControl(Composite parent) { + @Override + public void createPartControl(Composite parent) { } /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchPart#dispose() */ - public void dispose() { + @Override + public void dispose() { } /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchPart#getSite() */ - public IWorkbenchPartSite getSite() { + @Override + public IWorkbenchPartSite getSite() { return fSite; } /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchPart#getTitle() */ - public String getTitle() { + @Override + public String getTitle() { return ""; //$NON-NLS-1$ } /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchPart#getTitleImage() */ - public Image getTitleImage() { + @Override + public Image getTitleImage() { return null; } /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchPart#getTitleToolTip() */ - public String getTitleToolTip() { + @Override + public String getTitleToolTip() { return ""; //$NON-NLS-1$ } /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchPart#removePropertyListener(org.eclipse.ui.IPropertyListener) */ - public void removePropertyListener(IPropertyListener listener) { + @Override + public void removePropertyListener(IPropertyListener listener) { } /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchPart#setFocus() */ - public void setFocus() { + @Override + public void setFocus() { } /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ - public Object getAdapter(Class adapter) { + @Override + public Object getAdapter(Class adapter) { return null; } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java index 1754e348e..dd5f094f2 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementAdapterFactory.java @@ -146,7 +146,8 @@ public class DebugElementAdapterFactory implements IAdapterFactory { /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class) */ - public Object getAdapter(Object adaptableObject, Class adapterType) { + @Override + public Object getAdapter(Object adaptableObject, Class adapterType) { if (adapterType.isInstance(adaptableObject)) { return adaptableObject; } @@ -322,7 +323,8 @@ public class DebugElementAdapterFactory implements IAdapterFactory { /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList() */ - public Class[] getAdapterList() { + @Override + public Class[] getAdapterList() { return new Class[] { IAsynchronousLabelAdapter.class, IAsynchronousContentAdapter.class, diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java index efafa7b7c..04acbd126 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugElementHelper.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -26,204 +26,201 @@ import org.eclipse.swt.graphics.RGB; /** * Translates images, colors, and fonts into image descriptors, RGBs, and font - * datas for workbench adapaters. Also provides labels. + * data for workbench adapters. Also provides labels. * * @since 3.1 */ public class DebugElementHelper { - - // a model presentation that can provide images & labels for debug elements - private static DelegatingModelPresentation fgPresenetation; - - // map of images to image descriptors - private static Map fgImages = new HashMap(); - - /** - * Disposes this adapater - */ - public static void dispose() { - fgImages.clear(); - if (fgPresenetation != null) { - fgPresenetation.dispose(); - fgPresenetation = null; - } - } - - /** - * Returns an image descriptor for the given debug element. - * - * @param object object for which an image descriptor is required - */ - public static ImageDescriptor getImageDescriptor(Object object) { - Image image = getPresentation().getImage(object); - return getImageDescriptor(image); - } - - /** - * Returns an image descriptor for the given debug element. - * - * @param presentation presentation to obtain image from - * @param object object for which an image descriptor is required - * @since 3.3 - */ - public static ImageDescriptor getImageDescriptor(Object object, IDebugModelPresentation presentation) { - Image image = presentation.getImage(object); - return getImageDescriptor(image); - } - - public static ImageDescriptor getImageDescriptor(Image image) - { - if (image != null) { - ImageDescriptor descriptor = (ImageDescriptor) fgImages.get(image); - if (descriptor == null) { - descriptor = new ImageImageDescriptor(image); - fgImages.put(image, descriptor); - } - return descriptor; - } - return null; - } - - /** - * Returns a label for the given debug element. - * - * @param o object for which a label is required - */ - public static String getLabel(Object o) { - return getPresentation().getText(o); - } - - /** - * Returns a model presentation to use to retrieve lables & images. - * - * @return a model presentation to use to retrieve lables & images - */ - public static DelegatingModelPresentation getPresentation() { - if (fgPresenetation == null) { - fgPresenetation = new DelegatingModelPresentation(); - } - return fgPresenetation; - } - - /** - * Returns the RGB of the foreground color for the given element, or - * <code>null</code> if none. - * - * @param element object for which a foreground color is required - * @return the RGB of the foreground color for the given element, or - * <code>null</code> if none - */ - public static RGB getForeground(Object element) { - Color color = getPresentation().getForeground(element); - if (color != null) { - return color.getRGB(); - } - return null; - } - - /** - * Returns the RGB of the foreground color for the given element, or - * <code>null</code> if none. - * - * @param element object for which a foreground color is required - * @param presentation presentation to obtain color from - * @return the RGB of the foreground color for the given element, or - * <code>null</code> if none - * @since 3.3 - */ - public static RGB getForeground(Object element, IDebugModelPresentation presentation) { - Color color = null; - if (presentation instanceof IColorProvider) { + + // a model presentation that can provide images & labels for debug elements + private static DelegatingModelPresentation fgPresenetation; + + // map of images to image descriptors + private static Map<Image, ImageDescriptor> fgImages = new HashMap<Image, ImageDescriptor>(); + + /** + * Disposes this adapter + */ + public static void dispose() { + fgImages.clear(); + if (fgPresenetation != null) { + fgPresenetation.dispose(); + fgPresenetation = null; + } + } + + /** + * Returns an image descriptor for the given debug element. + * + * @param object object for which an image descriptor is required + */ + public static ImageDescriptor getImageDescriptor(Object object) { + Image image = getPresentation().getImage(object); + return getImageDescriptor(image); + } + + /** + * Returns an image descriptor for the given debug element. + * + * @param presentation presentation to obtain image from + * @param object object for which an image descriptor is required + * @since 3.3 + */ + public static ImageDescriptor getImageDescriptor(Object object, IDebugModelPresentation presentation) { + Image image = presentation.getImage(object); + return getImageDescriptor(image); + } + + public static ImageDescriptor getImageDescriptor(Image image) { + if (image != null) { + ImageDescriptor descriptor = fgImages.get(image); + if (descriptor == null) { + descriptor = new ImageImageDescriptor(image); + fgImages.put(image, descriptor); + } + return descriptor; + } + return null; + } + + /** + * Returns a label for the given debug element. + * + * @param o object for which a label is required + */ + public static String getLabel(Object o) { + return getPresentation().getText(o); + } + + /** + * Returns a model presentation to use to retrieve lables & images. + * + * @return a model presentation to use to retrieve lables & images + */ + public static DelegatingModelPresentation getPresentation() { + if (fgPresenetation == null) { + fgPresenetation = new DelegatingModelPresentation(); + } + return fgPresenetation; + } + + /** + * Returns the RGB of the foreground color for the given element, or + * <code>null</code> if none. + * + * @param element object for which a foreground color is required + * @return the RGB of the foreground color for the given element, or + * <code>null</code> if none + */ + public static RGB getForeground(Object element) { + Color color = getPresentation().getForeground(element); + if (color != null) { + return color.getRGB(); + } + return null; + } + + /** + * Returns the RGB of the foreground color for the given element, or + * <code>null</code> if none. + * + * @param element object for which a foreground color is required + * @param presentation presentation to obtain color from + * @return the RGB of the foreground color for the given element, or + * <code>null</code> if none + * @since 3.3 + */ + public static RGB getForeground(Object element, IDebugModelPresentation presentation) { + Color color = null; + if (presentation instanceof IColorProvider) { IColorProvider colorProvider = (IColorProvider) presentation; color = colorProvider.getForeground(element); } else { color = getPresentation().getForeground(element); } - if (color != null) { - return color.getRGB(); - } - return null; - } - - /** - * Returns the RGB of the background color for the given element, or - * <code>null</code> if none. - * - * @param element object for which a background color is required - * @return the RGB of the background color for the given element, or - * <code>null</code> if none - */ - public static RGB getBackground(Object element) { - Color color = getPresentation().getBackground(element); - if (color != null) { - return color.getRGB(); - } - return null; - } - - /** - * Returns the RGB of the background color for the given element, or - * <code>null</code> if none. - * - * @param element object for which a background color is required - * @param presentation presentation to use to retrieve color - * @return the RGB of the background color for the given element, or - * <code>null</code> if none - * @since 3.3 - */ - public static RGB getBackground(Object element, IDebugModelPresentation presentation) { - Color color = null; - if (presentation instanceof IColorProvider) { + if (color != null) { + return color.getRGB(); + } + return null; + } + + /** + * Returns the RGB of the background color for the given element, or + * <code>null</code> if none. + * + * @param element object for which a background color is required + * @return the RGB of the background color for the given element, or + * <code>null</code> if none + */ + public static RGB getBackground(Object element) { + Color color = getPresentation().getBackground(element); + if (color != null) { + return color.getRGB(); + } + return null; + } + + /** + * Returns the RGB of the background color for the given element, or + * <code>null</code> if none. + * + * @param element object for which a background color is required + * @param presentation presentation to use to retrieve color + * @return the RGB of the background color for the given element, or + * <code>null</code> if none + * @since 3.3 + */ + public static RGB getBackground(Object element, IDebugModelPresentation presentation) { + Color color = null; + if (presentation instanceof IColorProvider) { IColorProvider colorProvider = (IColorProvider) presentation; color = colorProvider.getBackground(element); } else { color = getPresentation().getBackground(element); } - if (color != null) { - return color.getRGB(); - } - return null; - } - - /** - * Returns the font data for the given element, or - * <code>null</code> if none. - * - * @param element object for which font data is required - * @return the font data for the given element, or - * <code>null</code> if none - */ - public static FontData getFont(Object element) { - Font font = getPresentation().getFont(element); - if (font != null) { - return font.getFontData()[0]; - } - return null; - } - - /** - * Returns the font data for the given element, or - * <code>null</code> if none. - * - * @param element object for which font data is required - * @param presentation presentation to obtain font from - * @return the font data for the given element, or - * <code>null</code> if none - * @since 3.3 - */ - public static FontData getFont(Object element, IDebugModelPresentation presentation) { - Font font = null; - if (presentation instanceof IFontProvider) { - IFontProvider provider = (IFontProvider) presentation; - font = provider.getFont(element); - } else { - font = getPresentation().getFont(element); - } - if (font != null) { - return font.getFontData()[0]; - } - return null; - } + if (color != null) { + return color.getRGB(); + } + return null; + } + + /** + * Returns the font data for the given element, or <code>null</code> if + * none. + * + * @param element object for which font data is required + * @return the font data for the given element, or <code>null</code> if none + */ + public static FontData getFont(Object element) { + Font font = getPresentation().getFont(element); + if (font != null) { + return font.getFontData()[0]; + } + return null; + } + + /** + * Returns the font data for the given element, or <code>null</code> if + * none. + * + * @param element object for which font data is required + * @param presentation presentation to obtain font from + * @return the font data for the given element, or <code>null</code> if none + * @since 3.3 + */ + public static FontData getFont(Object element, IDebugModelPresentation presentation) { + Font font = null; + if (presentation instanceof IFontProvider) { + IFontProvider provider = (IFontProvider) presentation; + font = provider.getFont(element); + } else { + font = getPresentation().getFont(element); + } + if (font != null) { + return font.getFontData()[0]; + } + return null; + } /** * Returns whether the UI thread is required for computing the label for the @@ -235,5 +232,5 @@ public class DebugElementHelper { public static boolean requiresUIThread(Object object) { DelegatingModelPresentation presentation = getPresentation(); return presentation.requiresUIThread(object); - } + } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugToolBarAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugToolBarAction.java index d47929d13..38f9c6900 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugToolBarAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugToolBarAction.java @@ -46,6 +46,7 @@ class DebugToolBarAction extends Action { /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { fLaunchView.setDebugToolbarInView(isChecked()); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugViewModeAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugViewModeAction.java index 3c690ffd2..712f05126 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugViewModeAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DebugViewModeAction.java @@ -73,6 +73,7 @@ class DebugViewModeAction extends Action { /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { fLaunchView.setViewMode(fMode, fParent); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java index 49938fd68..d44ec65a5 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java @@ -25,71 +25,68 @@ import org.eclipse.debug.core.model.IThread; */ public class DecorationManager { - // map of targets to lists of active decorations - private static Map fDecorations = new HashMap(10); + // map of targets to lists of active decorations + private static Map<IDebugTarget, List<Decoration>> fDecorations = new HashMap<IDebugTarget, List<Decoration>>(10); - /** - * Adds the given decoration for the given stack frame. - * - * @param decoration - * @param frame - */ - public static void addDecoration(Decoration decoration) { - synchronized (fDecorations) { - IDebugTarget target = decoration.getThread().getDebugTarget(); - List list = (List) fDecorations.get(target); - if (list == null) { - list = new ArrayList(); - fDecorations.put(target, list); - } - list.add(decoration); - } - } + /** + * Adds the given decoration for the given stack frame. + * + * @param decoration + * @param frame + */ + public static void addDecoration(Decoration decoration) { + synchronized (fDecorations) { + IDebugTarget target = decoration.getThread().getDebugTarget(); + List<Decoration> list = fDecorations.get(target); + if (list == null) { + list = new ArrayList<Decoration>(); + fDecorations.put(target, list); + } + list.add(decoration); + } + } - /** - * Removes any decorations for the given debug target. - * - * @param target - * to remove editor decorations for - */ - public static void removeDecorations(IDebugTarget target) { - doRemoveDecorations(target, null); - } - - /** - * Removes any decorations for the given thread - * - * @param thread - * thread to remove decorations for - */ - public static void removeDecorations(IThread thread) { - doRemoveDecorations(thread.getDebugTarget(), thread); - } + /** + * Removes any decorations for the given debug target. + * + * @param target to remove editor decorations for + */ + public static void removeDecorations(IDebugTarget target) { + doRemoveDecorations(target, null); + } + + /** + * Removes any decorations for the given thread + * + * @param thread thread to remove decorations for + */ + public static void removeDecorations(IThread thread) { + doRemoveDecorations(thread.getDebugTarget(), thread); + } private static void doRemoveDecorations(IDebugTarget target, IThread thread) { - ArrayList decorationsToRemove = new ArrayList(); - synchronized (fDecorations) { - List list = (List) fDecorations.get(target); - if (list != null) { - ListIterator iterator = list.listIterator(); - while (iterator.hasNext()) { - Decoration decoration = (Decoration) iterator.next(); - if (thread == null || thread.equals(decoration.getThread())) { - decorationsToRemove.add(decoration); - iterator.remove(); - } - } - if (list.isEmpty()) { - fDecorations.remove(target); - } - } - } - Iterator iter = decorationsToRemove.iterator(); - while (iter.hasNext()) - { - Decoration decoration = (Decoration)iter.next(); - decoration.remove(); - } + ArrayList<Decoration> decorationsToRemove = new ArrayList<Decoration>(); + synchronized (fDecorations) { + List<Decoration> list = fDecorations.get(target); + if (list != null) { + ListIterator<Decoration> iterator = list.listIterator(); + while (iterator.hasNext()) { + Decoration decoration = iterator.next(); + if (thread == null || thread.equals(decoration.getThread())) { + decorationsToRemove.add(decoration); + iterator.remove(); + } + } + if (list.isEmpty()) { + fDecorations.remove(target); + } + } + } + Iterator<Decoration> iter = decorationsToRemove.iterator(); + while (iter.hasNext()) { + Decoration decoration = iter.next(); + decoration.remove(); + } } - + } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/ImageImageDescriptor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/ImageImageDescriptor.java index 57f8fb646..0caeab28c 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/ImageImageDescriptor.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/ImageImageDescriptor.java @@ -31,6 +31,7 @@ public class ImageImageDescriptor extends ImageDescriptor { /* (non-Javadoc) * @see ImageDescriptor#getImageData() */ + @Override public ImageData getImageData() { return fImage.getImageData(); } @@ -38,6 +39,7 @@ public class ImageImageDescriptor extends ImageDescriptor { /* (non-Javadoc) * @see Object#equals(Object) */ + @Override public boolean equals(Object obj) { return (obj != null) && getClass().equals(obj.getClass()) && fImage.equals(((ImageImageDescriptor)obj).fImage); } @@ -45,6 +47,7 @@ public class ImageImageDescriptor extends ImageDescriptor { /* (non-Javadoc) * @see Object#hashCode() */ + @Override public int hashCode() { return fImage.hashCode(); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java index 3a21e0146..34b7d1f5e 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2012 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -253,11 +253,11 @@ public class LaunchView extends AbstractDebugView * * @since 3.6 */ - private Map fHandlers = new HashMap(); + private Map<String, IHandler2> fHandlers = new HashMap<String, IHandler2>(); private boolean fDebugToolbarInView = true; - private Set fDebugToolbarPerspectives = new TreeSet(); + private Set<String> fDebugToolbarPerspectives = new TreeSet<String>(); /** * Page-book page for the breadcrumb viewer. This page is activated in @@ -270,21 +270,25 @@ public class LaunchView extends AbstractDebugView LaunchViewBreadcrumb fCrumb; Control fControl; - public void createControl(Composite parent) { + @Override + public void createControl(Composite parent) { fCrumb = new LaunchViewBreadcrumb(LaunchView.this, (TreeModelViewer)getViewer(), fTreeViewerDebugContextProvider); fControl = fCrumb.createContent(parent); } - public void init(IPageSite pageSite) { + @Override + public void init(IPageSite pageSite) { super.init(pageSite); pageSite.setSelectionProvider(fCrumb.getSelectionProvider()); } - public Control getControl() { + @Override + public Control getControl() { return fControl; } - public void setFocus() { + @Override + public void setFocus() { fCrumb.activate(); } @@ -296,7 +300,8 @@ public class LaunchView extends AbstractDebugView return fCrumb.getHeight(); } - public void dispose() { + @Override + public void dispose() { fCrumb.dispose(); } } @@ -310,6 +315,7 @@ public class LaunchView extends AbstractDebugView private Visitor fVisitor = new Visitor(); class Visitor implements IModelDeltaVisitor { + @Override public boolean visit(IModelDelta delta, int depth) { if ((delta.getFlags() & (IModelDelta.STATE | IModelDelta.CONTENT)) > 0) { // state and/or content change @@ -336,7 +342,7 @@ public class LaunchView extends AbstractDebugView * @return corresponding tree path */ private TreePath getViewerTreePath(IModelDelta node) { - ArrayList list = new ArrayList(); + ArrayList<Object> list = new ArrayList<Object>(); IModelDelta parentDelta = node.getParentDelta(); while (parentDelta != null) { list.add(0, node.getElement()); @@ -360,6 +366,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.debug.ui.contexts.IDebugContextProvider#getActiveContext() */ + @Override public synchronized ISelection getActiveContext() { return fContext; } @@ -398,6 +405,7 @@ public class LaunchView extends AbstractDebugView } else { final DebugContextEvent finalEvent = event; Job job = new UIJob("context change") { //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { // verify selection is still the same context since job was scheduled synchronized (TreeViewerContextProvider.this) { @@ -421,6 +429,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IModelChangedListener#modelChanged(org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta) */ + @Override public void modelChanged(IModelDelta delta, IModelProxy proxy) { delta.accept(fVisitor); } @@ -464,7 +473,8 @@ public class LaunchView extends AbstractDebugView private PageRec fDefaultPageRec = null; private ISelectionChangedListener fTreeViewerSelectionChangedListener = new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { + @Override + public void selectionChanged(SelectionChangedEvent event) { fTreeViewerDebugContextProvider.activate(event.getSelection()); } }; @@ -493,7 +503,8 @@ public class LaunchView extends AbstractDebugView } } - public ISelection getActiveContext() { + @Override + public ISelection getActiveContext() { ISelection activeContext = fActiveProvider.getActiveContext(); if (activeContext != null) { return activeContext; @@ -501,7 +512,8 @@ public class LaunchView extends AbstractDebugView return TreeSelection.EMPTY; } - public void debugContextChanged(DebugContextEvent event) { + @Override + public void debugContextChanged(DebugContextEvent event) { if (event.getSource().equals(fActiveProvider)) { fire(new DebugContextEvent(this, event.getContext(), event.getFlags())); } @@ -521,6 +533,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId() */ + @Override protected String getHelpContextId() { return IDebugHelpContextIds.DEBUG_VIEW; } @@ -528,6 +541,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#createActions() */ + @Override protected void createActions() { setAction("Properties", new PropertyDialogAction(getSite(), getSite().getSelectionProvider())); //$NON-NLS-1$ fEditConfigAction = new EditLaunchConfigurationAction(); @@ -572,7 +586,7 @@ public class LaunchView extends AbstractDebugView * @return handler or <code>null</code> */ public IHandler2 getHandler(String id) { - return (IHandler2) fHandlers.get(id); + return fHandlers.get(id); } /** @@ -602,6 +616,7 @@ public class LaunchView extends AbstractDebugView * @since 3.5 * @see #fDefaultPageRec */ + @Override public void createPartControl(final Composite parent) { super.createPartControl(parent); @@ -637,9 +652,11 @@ public class LaunchView extends AbstractDebugView // Add a resize listener for the view to activate breadcrumb as needed. parent.addControlListener(new ControlListener() { - public void controlMoved(ControlEvent e) { + @Override + public void controlMoved(ControlEvent e) { } - public void controlResized(ControlEvent e) { + @Override + public void controlResized(ControlEvent e) { if (parent.isDisposed()) { return; } @@ -677,6 +694,7 @@ public class LaunchView extends AbstractDebugView * @since 3.5 * @see #fDefaultPageRec */ + @Override protected PageRec doCreatePage(IWorkbenchPart part) { if (part instanceof BreadcrumbWorkbenchPart) { fBreadcrumbPage = new BreadcrumbPage(); @@ -694,6 +712,7 @@ public class LaunchView extends AbstractDebugView * @since 3.5 * @see #fDefaultPageRec */ + @Override protected boolean isImportant(IWorkbenchPart part) { return part instanceof BreadcrumbWorkbenchPart; } @@ -705,6 +724,7 @@ public class LaunchView extends AbstractDebugView * @since 3.5 * @see #fDefaultPageRec */ + @Override protected void showPageRec(PageRec pageRec) { if (pageRec.page == getDefaultPage()) { fDefaultPageRec = pageRec; @@ -740,7 +760,8 @@ public class LaunchView extends AbstractDebugView viewMenu.add(modeSubmenu); modeSubmenu.addMenuListener(new IMenuListener() { - public void menuAboutToShow(IMenuManager manager) { + @Override + public void menuAboutToShow(IMenuManager manager) { modeSubmenu.add(fDebugViewModeActions[0]); modeSubmenu.add(fDebugViewModeActions[1]); modeSubmenu.add(fDebugViewModeActions[2]); @@ -855,6 +876,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#createViewer(org.eclipse.swt.widgets.Composite) */ + @Override protected Viewer createViewer(Composite parent) { fPresentation = new DelegatingModelPresentation(); fPresentationContext = new DebugModelPresentationContext(IDebugUIConstants.ID_DEBUG_VIEW, this, fPresentation); @@ -918,6 +940,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.IViewPart#init(org.eclipse.ui.IViewSite) */ + @Override public void init(IViewSite site) throws PartInitException { super.init(site); commonInit(site); @@ -928,6 +951,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.IViewPart#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento) */ + @Override public void init(IViewSite site, IMemento memento) throws PartInitException { super.init(site, memento); commonInit(site); @@ -938,7 +962,8 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.part.PageBookView#partDeactivated(org.eclipse.ui.IWorkbenchPart) */ - public void partDeactivated(IWorkbenchPart part) { + @Override + public void partDeactivated(IWorkbenchPart part) { String id = part.getSite().getId(); if (id.equals(getSite().getId())) { ByteArrayOutputStream bout = new ByteArrayOutputStream(); @@ -963,7 +988,7 @@ public class LaunchView extends AbstractDebugView } StringBuffer buffer= new StringBuffer(); - for (Iterator itr = fDebugToolbarPerspectives.iterator(); itr.hasNext();) { + for (Iterator<String> itr = fDebugToolbarPerspectives.iterator(); itr.hasNext();) { buffer.append(itr.next()).append(','); } getPreferenceStore().setValue(IDebugPreferenceConstants.DEBUG_VIEW_TOOLBAR_HIDDEN_PERSPECTIVES, buffer.toString()); @@ -982,6 +1007,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#configureToolBar(org.eclipse.jface.action.IToolBarManager) */ + @Override protected void configureToolBar(IToolBarManager tbm) { tbm.add(new Separator(IDebugUIConstants.THREAD_GROUP)); tbm.add(new Separator(IDebugUIConstants.STEP_GROUP)); @@ -1072,6 +1098,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchPart#dispose() */ + @Override public void dispose() { fContextService.removeContextManagerListener(this); getSite().getSelectionProvider().removeSelectionChangedListener(this); @@ -1093,10 +1120,8 @@ public class LaunchView extends AbstractDebugView IWorkbenchWindow window = getSite().getWorkbenchWindow(); window.removePerspectiveListener(this); window.removePageListener(this); - Iterator iterator = fHandlers.values().iterator(); - while (iterator.hasNext()) { - IHandler2 hander = (IHandler2) iterator.next(); - hander.dispose(); + for (IHandler2 handler : fHandlers.values()) { + handler.dispose(); } fHandlers.clear(); super.dispose(); @@ -1127,6 +1152,7 @@ public class LaunchView extends AbstractDebugView * * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) */ + @Override public void selectionChanged(SelectionChangedEvent event) { updateObjects(); } @@ -1134,6 +1160,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent) */ + @Override public void doubleClick(DoubleClickEvent event) { ISelection selection= event.getSelection(); if (!(selection instanceof IStructuredSelection)) { @@ -1151,6 +1178,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor) */ + @Override public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) { setActive(page.findView(getSite().getId()) != null); updateObjects(); @@ -1161,6 +1189,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener#perspectiveChanged(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor, java.lang.String) */ + @Override public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) { setActive(page.findView(getSite().getId()) != null); } @@ -1168,12 +1197,14 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener2#perspectiveChanged(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor, org.eclipse.ui.IWorkbenchPartReference, java.lang.String) */ + @Override public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, IWorkbenchPartReference partRef, String changeId) { } /* (non-Javadoc) * @see org.eclipse.ui.IPageListener#pageActivated(org.eclipse.ui.IWorkbenchPage) */ + @Override public void pageActivated(IWorkbenchPage page) { if (getSite().getPage().equals(page)) { setActive(true); @@ -1184,18 +1215,21 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.IPageListener#pageClosed(org.eclipse.ui.IWorkbenchPage) */ + @Override public void pageClosed(IWorkbenchPage page) { } /* (non-Javadoc) * @see org.eclipse.ui.IPageListener#pageOpened(org.eclipse.ui.IWorkbenchPage) */ + @Override public void pageOpened(IWorkbenchPage page) { } /* (non-Javadoc) * @see org.eclipse.debug.ui.IDebugView#getPresentation(java.lang.String) */ + @Override public IDebugModelPresentation getPresentation(String id) { return ((DelegatingModelPresentation)fPresentation).getPresentation(id); } @@ -1203,6 +1237,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#fillContextMenu(org.eclipse.jface.action.IMenuManager) */ + @Override protected void fillContextMenu(IMenuManager menu) { TreeSelection sel = (TreeSelection) fTreeViewerDebugContextProvider.getActiveContext(); Object element = sel != null && sel.size() > 0 ? sel.getFirstElement() : null; @@ -1257,10 +1292,11 @@ public class LaunchView extends AbstractDebugView menu.appendToGroup(IDebugUIConstants.RENDER_GROUP, getAction(TOGGLE_STEP_FILTERS)); } + @Override public void contextManagerChanged(ContextManagerEvent event) { if (event.isActiveContextsChanged()) { - Set oldContexts = event.getPreviouslyActiveContextIds(); - Set newContexts = event.getContextManager().getActiveContextIds(); + Set<?> oldContexts = event.getPreviouslyActiveContextIds(); + Set<?> newContexts = event.getContextManager().getActiveContextIds(); if (oldContexts.contains(IDebugUIConstants.DEBUG_TOOLBAR_ACTION_SET) != newContexts.contains(IDebugUIConstants.DEBUG_TOOLBAR_ACTION_SET)) { @@ -1315,6 +1351,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.part.IShowInTarget#show(org.eclipse.ui.part.ShowInContext) */ + @Override public boolean show(ShowInContext context) { ISelection selection = context.getSelection(); if (selection != null) { @@ -1341,6 +1378,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.part.IShowInSource#getShowInContext() */ + @Override public ShowInContext getShowInContext() { if (isActive()) { IStructuredSelection selection = (IStructuredSelection)getViewer().getSelection(); @@ -1361,6 +1399,7 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.part.IShowInTargetList#getShowInTargetIds() */ + @Override public String[] getShowInTargetIds() { if (isActive()) { IStructuredSelection selection = (IStructuredSelection)getViewer().getSelection(); @@ -1381,12 +1420,14 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference) */ + @Override public void partClosed(IWorkbenchPartReference partRef) { } /* (non-Javadoc) * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference) */ + @Override public void partVisible(IWorkbenchPartReference partRef) { IWorkbenchPart part = partRef.getPart(false); if (part == this) { @@ -1405,12 +1446,14 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference) */ + @Override public void partOpened(IWorkbenchPartReference partRef) { } /* (non-Javadoc) * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference) */ + @Override public void partActivated(IWorkbenchPartReference partRef) { // Ensure that the system property matches the debug toolbar state. // Bug 385400 @@ -1421,30 +1464,35 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference) */ + @Override public void partBroughtToTop(IWorkbenchPartReference partRef) { } /* (non-Javadoc) * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference) */ + @Override public void partDeactivated(IWorkbenchPartReference partRef) { } /* (non-Javadoc) * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference) */ + @Override public void partHidden(IWorkbenchPartReference partRef) { } /* (non-Javadoc) * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference) */ + @Override public void partInputChanged(IWorkbenchPartReference partRef) { } /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#becomesVisible() */ + @Override protected void becomesVisible() { super.becomesVisible(); getViewer().refresh(); @@ -1453,7 +1501,8 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.IViewerUpdateListener#updateComplete(org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor) */ - public void updateComplete(IViewerUpdate update) { + @Override + public void updateComplete(IViewerUpdate update) { if (!update.isCanceled()) { if (TreePath.EMPTY.equals(update.getElementPath())) { updateFindAction(); @@ -1465,13 +1514,15 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.IViewerUpdateListener#updateStarted(org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor) */ - public void updateStarted(IViewerUpdate update) { + @Override + public void updateStarted(IViewerUpdate update) { } /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.IViewerUpdateListener#viewerUpdatesBegin() */ - public synchronized void viewerUpdatesBegin() { + @Override + public synchronized void viewerUpdatesBegin() { IWorkbenchSiteProgressService progressService = (IWorkbenchSiteProgressService)getSite().getAdapter(IWorkbenchSiteProgressService.class); if (progressService != null) { @@ -1482,7 +1533,8 @@ public class LaunchView extends AbstractDebugView /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.IViewerUpdateListener#viewerUpdatesComplete() */ - public synchronized void viewerUpdatesComplete() { + @Override + public synchronized void viewerUpdatesComplete() { IWorkbenchSiteProgressService progressService = (IWorkbenchSiteProgressService)getSite().getAdapter(IWorkbenchSiteProgressService.class); if (progressService != null) { @@ -1490,7 +1542,8 @@ public class LaunchView extends AbstractDebugView } } - public void modelChanged(IModelDelta delta, IModelProxy proxy) { + @Override + public void modelChanged(IModelDelta delta, IModelProxy proxy) { updateFindAction(); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java index 3636de650..6bb242385 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewBreadcrumb.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009 Wind River Systems and others. + * Copyright (c) 2009, 2013 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 @@ -7,6 +7,7 @@ * * Contributors: * Wind River Systems - initial API and implementation + * IBM Corporation = bug fixing *******************************************************************************/ package org.eclipse.debug.internal.ui.views.launch; @@ -69,13 +70,15 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo fPath = path; } - public boolean equals(Object obj) { + @Override + public boolean equals(Object obj) { return obj instanceof Input && ((fPath == null && ((Input)obj).fPath == null) || (fPath != null && fPath.equals( ((Input)obj).fPath ))); } - public int hashCode() { + @Override + public int hashCode() { return fPath == null ? 0 : fPath.hashCode(); } } @@ -86,19 +89,22 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo public Input fInput; - public Object[] getChildren(TreePath parentPath) { + @Override + public Object[] getChildren(TreePath parentPath) { if (hasChildren(parentPath)) { return new Object[] { fInput.fPath.getSegment(parentPath.getSegmentCount()) }; } return EMPTY_ELEMENTS_ARRAY; } - public TreePath[] getParents(Object element) { + @Override + public TreePath[] getParents(Object element) { // Not supported return new TreePath[] { TreePath.EMPTY }; } - public boolean hasChildren(TreePath parentPath) { + @Override + public boolean hasChildren(TreePath parentPath) { if ( parentPath.getSegmentCount() == 0) { return fInput != null; } else if (fInput != null && @@ -121,7 +127,8 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo return false; } - public Object[] getElements(Object inputElement) { + @Override + public Object[] getElements(Object inputElement) { if (fInput != null && fInput.fPath != null) { @@ -131,11 +138,13 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo } } - public void dispose() { + @Override + public void dispose() { fInput = null; } - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { + @Override + public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { if (newInput instanceof Input) { fInput = ((Input)newInput); } else { @@ -145,7 +154,8 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo } private class LabelProvider extends BaseLabelProvider implements ITreePathLabelProvider { - public void updateLabel(ViewerLabel label, TreePath elementPath) { + @Override + public void updateLabel(ViewerLabel label, TreePath elementPath) { if (fgEmptyDebugContextElement.equals(elementPath.getLastSegment())) { label.setText(LaunchViewMessages.Breadcrumb_NoActiveContext); label.setImage(null); @@ -186,7 +196,8 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo fTreeViewerContextProvider.addDebugContextListener(this); } - public ISelection getActiveContext() { + @Override + public ISelection getActiveContext() { if (fBreadcrumbSelection != null && !fBreadcrumbSelection.isEmpty()) { return fBreadcrumbSelection; } else { @@ -200,11 +211,13 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo fTreeViewerContextProvider.removeDebugContextListener(this); } - public void debugContextChanged(DebugContextEvent event) { + @Override + public void debugContextChanged(DebugContextEvent event) { fire(new DebugContextEvent(this, getActiveContext(), event.getFlags())); } - public void selectionChanged(SelectionChangedEvent event) { + @Override + public void selectionChanged(SelectionChangedEvent event) { ISelection oldContext = getActiveContext(); fBreadcrumbSelection = event.getSelection(); if (!getActiveContext().equals(oldContext)) { @@ -224,10 +237,12 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo fTreeViewerContextProvider.addDebugContextListener(this); } - protected void activateBreadcrumb() { + @Override + protected void activateBreadcrumb() { } - protected void deactivateBreadcrumb() { + @Override + protected void deactivateBreadcrumb() { if (fViewer.isDropDownOpen()) { Shell shell = fViewer.getDropDownShell(); if (shell != null && !shell.isDisposed()) { @@ -236,9 +251,11 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo } } - protected BreadcrumbViewer createViewer(Composite parent) { + @Override + protected BreadcrumbViewer createViewer(Composite parent) { fViewer = new BreadcrumbViewer(parent, SWT.NONE) { - protected Control createDropDown(Composite dropDownParent, IBreadcrumbDropDownSite site, TreePath path) { + @Override + protected Control createDropDown(Composite dropDownParent, IBreadcrumbDropDownSite site, TreePath path) { return createDropDownControl(dropDownParent, site, path); } }; @@ -263,7 +280,8 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo MenuManager menuMgr = new MenuManager("#PopUp"); //$NON-NLS-1$ menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { - public void menuAboutToShow(IMenuManager mgr) { + @Override + public void menuAboutToShow(IMenuManager mgr) { fView.fillContextMenu(mgr); } }); @@ -276,27 +294,32 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo fView.addContextMenuManager(menuMgr); fViewer.addMenuDetectListener(new MenuDetectListener() { - public void menuDetected(MenuDetectEvent event) { + @Override + public void menuDetected(MenuDetectEvent event) { menu.setLocation(event.x + 10, event.y + 10); menu.setVisible(true); while (!menu.isDisposed() && menu.isVisible()) { - if (!menu.getDisplay().readAndDispatch()) - menu.getDisplay().sleep(); + if (!menu.getDisplay().readAndDispatch()) { + menu.getDisplay().sleep(); + } } } }); } - protected Object getCurrentInput() { + @Override + protected Object getCurrentInput() { return fBreadcrumbInput; } - protected boolean open(ISelection selection) { + @Override + protected boolean open(ISelection selection) { // Let the drop-down control implementation itself handle activating a new context. return false; } - public void dispose() { + @Override + public void dispose() { fBreadcrumbContextProvider = null; fTreeViewerContextProvider.removeDebugContextListener(this); fTreeViewer.removeLabelUpdateListener(this); @@ -305,7 +328,8 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo super.dispose(); } - public void debugContextChanged(DebugContextEvent event) { + @Override + public void debugContextChanged(DebugContextEvent event) { if (fView.isBreadcrumbVisible()) { fBreadcrumbInput = new Input(getPathForSelection(event.getContext())); if ((event.getFlags() & DebugContextEvent.ACTIVATED) != 0) { @@ -321,10 +345,12 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo } } - public void labelUpdateStarted(ILabelUpdate update) { + @Override + public void labelUpdateStarted(ILabelUpdate update) { } - public void labelUpdateComplete(ILabelUpdate update) { + @Override + public void labelUpdateComplete(ILabelUpdate update) { if (fBreadcrumbInput != null && fBreadcrumbInput.fPath != null) { if (fBreadcrumbInput.fPath.startsWith(update.getElementPath(), null)) { synchronized (this) { @@ -334,10 +360,12 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo } } - public void labelUpdatesBegin() { + @Override + public void labelUpdatesBegin() { } - public void labelUpdatesComplete() { + @Override + public void labelUpdatesComplete() { boolean refresh = false; synchronized(this) { refresh = fRefreshBreadcrumb; @@ -346,7 +374,8 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo if (fView.isBreadcrumbVisible() && refresh) { new UIJob(fViewer.getControl().getDisplay(), "refresh breadcrumb") { //$NON-NLS-1$ { setSystem(true); } - public IStatus runInUIThread(IProgressMonitor monitor) { + @Override + public IStatus runInUIThread(IProgressMonitor monitor) { refresh(); return Status.OK_STATUS; } @@ -379,7 +408,8 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo SubTreeModelViewer fDropDownViewer; - protected TreeViewer createTreeViewer(Composite composite, int style, final TreePath path) { + @Override + protected TreeViewer createTreeViewer(Composite composite, int style, final TreePath path) { fDropDownViewer = new SubTreeModelViewer( composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.VIRTUAL | SWT.POP_UP, fTreeViewer.getPresentationContext()); @@ -400,7 +430,8 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo final ModelDelta prunedDelta = new ModelDelta(launchViewInput, IModelDelta.NO_CHANGE); stateDelta.accept(new IModelDeltaVisitor() { ModelDelta copy = prunedDelta; - public boolean visit(IModelDelta delta, int depth) { + @Override + public boolean visit(IModelDelta delta, int depth) { TreePath deltaPath = getViewerTreePath(delta); if (deltaPath.getSegmentCount() == 0) { // skip copying the root element, only copy it's child count @@ -423,7 +454,7 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo } private TreePath getViewerTreePath(IModelDelta node) { - ArrayList list = new ArrayList(); + ArrayList<Object> list = new ArrayList<Object>(); IModelDelta parentDelta = node.getParentDelta(); while (parentDelta != null) { list.add(0, node.getElement()); @@ -439,13 +470,18 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo fDropDownViewer.updateViewer(stateDelta); fDropDownViewer.addLabelUpdateListener(new ILabelUpdateListener() { - public void labelUpdateComplete(ILabelUpdate update) {} - public void labelUpdatesBegin() {} - public void labelUpdateStarted(ILabelUpdate update) {} - public void labelUpdatesComplete() { + @Override + public void labelUpdateComplete(ILabelUpdate update) {} + @Override + public void labelUpdatesBegin() {} + @Override + public void labelUpdateStarted(ILabelUpdate update) {} + @Override + public void labelUpdatesComplete() { new UIJob(fViewer.getControl().getDisplay(), "resize breadcrub dropdown") { //$NON-NLS-1$ { setSystem(true); } - public IStatus runInUIThread(IProgressMonitor monitor) { + @Override + public IStatus runInUIThread(IProgressMonitor monitor) { site.updateSize(); return Status.OK_STATUS; } @@ -456,7 +492,8 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo return fDropDownViewer; } - protected void openElement(ISelection selection) { + @Override + protected void openElement(ISelection selection) { if (fTreeViewer.getControl().isDisposed()) { return; } @@ -488,7 +525,8 @@ public class LaunchViewBreadcrumb extends AbstractBreadcrumb implements IDebugCo // Add the IModelDelta.FORCE flag to override the current selection in view. rootDelta.accept(new IModelDeltaVisitor(){ - public boolean visit(IModelDelta paramDelta, int depth) { + @Override + public boolean visit(IModelDelta paramDelta, int depth) { if ((paramDelta.getFlags() & IModelDelta.SELECT) != 0) { ((ModelDelta)paramDelta).setFlags(paramDelta.getFlags() | IModelDelta.FORCE); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewCopyToClipboardActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewCopyToClipboardActionDelegate.java index dbed5e238..cffa5ecb0 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewCopyToClipboardActionDelegate.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewCopyToClipboardActionDelegate.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2012 Wind River Systems and others. + * Copyright (c) 2009, 2013 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 @@ -7,6 +7,7 @@ * * Contributors: * Wind River Systems - initial API and implementation + * IBM Corporation = bug fixing *******************************************************************************/ package org.eclipse.debug.internal.ui.views.launch; @@ -36,7 +37,8 @@ import org.eclipse.swt.widgets.Widget; */ public class LaunchViewCopyToClipboardActionDelegate extends VirtualCopyToClipboardActionDelegate { - protected TreeItem[] getSelectedItems(TreeModelViewer clientViewer) { + @Override + protected TreeItem[] getSelectedItems(TreeModelViewer clientViewer) { LaunchView view = (LaunchView)getView(); if (view.isBreadcrumbVisible()) { ISelection selection = getSelection(); @@ -51,9 +53,9 @@ public class LaunchViewCopyToClipboardActionDelegate extends VirtualCopyToClipbo } else { // Return tree selection plus children. TreeItem[] selection = clientViewer.getTree().getSelection(); - Set set = new HashSet(); + Set<Widget> set = new HashSet<Widget>(); collectChildItems(set, selection); - return (TreeItem[])set.toArray(new TreeItem[set.size()]); + return set.toArray(new TreeItem[set.size()]); } } @@ -66,7 +68,7 @@ public class LaunchViewCopyToClipboardActionDelegate extends VirtualCopyToClipbo */ private TreeItem[] getSelectedItemsInTreeViewer(TreeModelViewer viewer, TreePath path) { Widget item = viewer.findItem(path); - Set set = new HashSet(); + Set<Widget> set = new HashSet<Widget>(); if (item instanceof TreeItem) { set.add(item); if (((TreeItem) item).getExpanded()) { @@ -75,10 +77,10 @@ public class LaunchViewCopyToClipboardActionDelegate extends VirtualCopyToClipbo } else if (item instanceof Tree) { collectChildItems(set, ((Tree)item).getItems()); } - return (TreeItem[])set.toArray(new TreeItem[set.size()]); + return set.toArray(new TreeItem[set.size()]); } - private void collectChildItems(Set set, TreeItem[] items) { + private void collectChildItems(Set<Widget> set, TreeItem[] items) { if (items == null) { return; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditor.java index 78f007d56..06b9c4dea 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditor.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditor.java @@ -36,18 +36,21 @@ public class SourceNotFoundEditor extends EditorPart implements IReusableEditor /** * @see org.eclipse.ui.IEditorPart#doSave(IProgressMonitor) */ + @Override public void doSave(IProgressMonitor monitor) { } /** * @see org.eclipse.ui.IEditorPart#doSaveAs() */ + @Override public void doSaveAs() { } /** * @see org.eclipse.ui.IEditorPart#init(IEditorSite, IEditorInput) */ + @Override public void init(IEditorSite site, IEditorInput input) { setSite(site); setInput(input); @@ -56,6 +59,7 @@ public class SourceNotFoundEditor extends EditorPart implements IReusableEditor /** * @see org.eclipse.ui.IEditorPart#isDirty() */ + @Override public boolean isDirty() { return false; } @@ -63,6 +67,7 @@ public class SourceNotFoundEditor extends EditorPart implements IReusableEditor /** * @see org.eclipse.ui.IEditorPart#isSaveAsAllowed() */ + @Override public boolean isSaveAsAllowed() { return false; } @@ -70,6 +75,7 @@ public class SourceNotFoundEditor extends EditorPart implements IReusableEditor /** * @see org.eclipse.ui.IWorkbenchPart#createPartControl(Composite) */ + @Override public void createPartControl(Composite parent) { fText = new Text(parent,SWT.MULTI|SWT.READ_ONLY|SWT.WRAP); fText.setForeground(JFaceColors.getErrorText(fText.getDisplay())); @@ -82,6 +88,7 @@ public class SourceNotFoundEditor extends EditorPart implements IReusableEditor /** * @see org.eclipse.ui.IWorkbenchPart#setFocus() */ + @Override public void setFocus() { if (fText != null) { fText.setFocus(); @@ -91,6 +98,7 @@ public class SourceNotFoundEditor extends EditorPart implements IReusableEditor /** * @see IReusableEditor#setInput(org.eclipse.ui.IEditorInput) */ + @Override public void setInput(IEditorInput input) { super.setInput(input); setPartName(input.getName()); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditorInput.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditorInput.java index daa0f90ef..6d94c489a 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditorInput.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditorInput.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2013 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 @@ -11,8 +11,6 @@ package org.eclipse.debug.internal.ui.views.launch; -import com.ibm.icu.text.MessageFormat; - import org.eclipse.core.runtime.PlatformObject; import org.eclipse.debug.core.DebugException; import org.eclipse.debug.core.model.IStackFrame; @@ -23,6 +21,8 @@ import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IPersistableElement; +import com.ibm.icu.text.MessageFormat; + /** * Editor input for a stack frame for which source could not be located. * @@ -56,6 +56,7 @@ public class SourceNotFoundEditorInput extends PlatformObject implements IEditor /** * @see org.eclipse.ui.IEditorInput#exists() */ + @Override public boolean exists() { return false; } @@ -63,6 +64,7 @@ public class SourceNotFoundEditorInput extends PlatformObject implements IEditor /** * @see org.eclipse.ui.IEditorInput#getImageDescriptor() */ + @Override public ImageDescriptor getImageDescriptor() { return DebugUITools.getDefaultImageDescriptor(fFrame); } @@ -70,6 +72,7 @@ public class SourceNotFoundEditorInput extends PlatformObject implements IEditor /** * @see org.eclipse.ui.IEditorInput#getName() */ + @Override public String getName() { try { return fFrame.getName(); @@ -81,6 +84,7 @@ public class SourceNotFoundEditorInput extends PlatformObject implements IEditor /** * @see org.eclipse.ui.IEditorInput#getPersistable() */ + @Override public IPersistableElement getPersistable() { return null; } @@ -88,8 +92,9 @@ public class SourceNotFoundEditorInput extends PlatformObject implements IEditor /** * @see org.eclipse.ui.IEditorInput#getToolTipText() */ + @Override public String getToolTipText() { - return MessageFormat.format(DebugUIViewsMessages.SourceNotFoundEditorInput_Source_not_found_for__0__2,new String[] {fFrameText}); + return MessageFormat.format(DebugUIViewsMessages.SourceNotFoundEditorInput_Source_not_found_for__0__2, new Object[] { fFrameText }); } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/StandardDecoration.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/StandardDecoration.java index ea33cf20d..639f708ef 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/StandardDecoration.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/StandardDecoration.java @@ -32,6 +32,7 @@ public class StandardDecoration extends Decoration { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.launch.Decoration#remove() */ + @Override public void remove() { fPresentation.removeAnnotations(fEditor, fThread); } @@ -39,6 +40,7 @@ public class StandardDecoration extends Decoration { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.launch.Decoration#getThread() */ + @Override public IThread getThread() { return fThread; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java index ab2747bb7..09164c325 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewPane.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2011 IBM Corporation and others. + * Copyright (c) 2004, 2013 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 @@ -11,7 +11,6 @@ *******************************************************************************/ package org.eclipse.debug.internal.ui.views.memory; - import java.util.Enumeration; import java.util.Hashtable; @@ -44,43 +43,43 @@ import org.eclipse.ui.ISelectionListener; import org.eclipse.ui.IViewPart; import org.eclipse.ui.IWorkbenchPart; -public abstract class AbstractMemoryViewPane implements IMemoryBlockListener, ISelectionListener, SelectionListener, IMemoryView, ISelectionChangedListener, IMemoryViewPane, IDebugContextListener, IDebugEventSetListener{ - +public abstract class AbstractMemoryViewPane implements IMemoryBlockListener, ISelectionListener, SelectionListener, IMemoryView, ISelectionChangedListener, IMemoryViewPane, IDebugContextListener, IDebugEventSetListener { + public static final String BEGINNING_POPUP = "popUpBegin"; //$NON-NLS-1$ protected static final StructuredSelection EMPTY = new StructuredSelection(); - + protected Composite fViewPaneCanvas; protected StackLayout fStackLayout; protected ViewTabEnablementManager fViewTabEnablementManager; protected CTabFolder fEmptyTabFolder; - protected Hashtable fTabFolderForDebugView = new Hashtable(); + protected Hashtable<Integer, CTabFolder> fTabFolderForDebugView = new Hashtable<Integer, CTabFolder>(); protected boolean fVisible; - protected Hashtable fRenderingInfoTable; - protected IMemoryBlockRetrieval fKey; // store the key for current tab folder + protected IMemoryBlockRetrieval fKey; // store the key for current tab + // folder protected ViewPaneSelectionProvider fSelectionProvider; protected IViewPart fParent; protected String fPaneId; private Composite fCanvas; protected String fLabel; - + private volatile boolean fIsDisposed = false; - public AbstractMemoryViewPane(IViewPart parent) - { + public AbstractMemoryViewPane(IViewPart parent) { super(); fParent = parent; fSelectionProvider = new ViewPaneSelectionProvider(); } - + /** * Create the content of the view pane + * * @param parent the parent composite * @param paneId the id of the pane to create * @param label the label for the new pane * @return the control of the view pane */ - public Control createViewPane(Composite parent, String paneId, String label) - { + @Override + public Control createViewPane(Composite parent, String paneId, String label) { fPaneId = paneId; fLabel = label; fCanvas = new Composite(parent, SWT.NONE); @@ -99,7 +98,7 @@ public abstract class AbstractMemoryViewPane implements IMemoryBlockListener, IS // memory view area Composite memoryViewAreaParent = fCanvas; - Composite subCanvas = new Composite(memoryViewAreaParent, SWT.NONE); + Composite subCanvas = new Composite(memoryViewAreaParent, SWT.NONE); fViewPaneCanvas = subCanvas; fStackLayout = new StackLayout(); GridData memoryAreaData = new GridData(); @@ -109,196 +108,180 @@ public abstract class AbstractMemoryViewPane implements IMemoryBlockListener, IS memoryAreaData.horizontalAlignment = SWT.FILL; fViewPaneCanvas.setLayout(fStackLayout); fViewPaneCanvas.setLayoutData(memoryAreaData); - + fViewTabEnablementManager = new ViewTabEnablementManager(); - + fEmptyTabFolder = new CTabFolder(fViewPaneCanvas, SWT.NULL); setTabFolder(fEmptyTabFolder); - + addListeners(); - + Object context = DebugUITools.getPartDebugContext(fParent.getSite()); - if (context != null) - { + if (context != null) { IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(context); - if (retrieval != null) + if (retrieval != null) { createFolder(retrieval); + } } - + fVisible = true; - + return fCanvas; } - - protected void addListeners() - { + + protected void addListeners() { MemoryViewUtil.getMemoryBlockManager().addListener(this); fParent.getViewSite().getPage().addSelectionListener(this); DebugUITools.addPartDebugContextListener(fParent.getSite(), this); DebugPlugin.getDefault().addDebugEventListener(this); } - - protected void removeListeners() - { + + protected void removeListeners() { MemoryViewUtil.getMemoryBlockManager().removeListener(this); fParent.getViewSite().getPage().removeSelectionListener(this); - DebugUITools.removePartDebugContextListener(fParent.getSite(), this); - if (fStackLayout.topControl != null) - { - CTabFolder old = (CTabFolder)fStackLayout.topControl; - - if (!old.isDisposed()) - { + DebugUITools.removePartDebugContextListener(fParent.getSite(), this); + if (fStackLayout.topControl != null) { + CTabFolder old = (CTabFolder) fStackLayout.topControl; + + if (!old.isDisposed()) { old.removeSelectionListener(this); old.removeSelectionListener(fViewTabEnablementManager); } } DebugPlugin.getDefault().removeDebugEventListener(this); } - - protected void setTabFolder(CTabFolder folder) - { - if (fStackLayout.topControl != null) - { - CTabFolder old = (CTabFolder)fStackLayout.topControl; - - if (!old.isDisposed()) - { + + protected void setTabFolder(CTabFolder folder) { + if (fStackLayout.topControl != null) { + CTabFolder old = (CTabFolder) fStackLayout.topControl; + + if (!old.isDisposed()) { old.removeSelectionListener(this); old.removeSelectionListener(fViewTabEnablementManager); } } - + fStackLayout.topControl = folder; - - if (folder.getItemCount() > 0) - { + + if (folder.getItemCount() > 0) { CTabItem selectedItem = folder.getSelection(); - - if (selectedItem != null) - { + + if (selectedItem != null) { Object selected = getCurrentSelection(); - if (selected != null) - { + if (selected != null) { fSelectionProvider.setSelection(new StructuredSelection(selected)); - } - else - { + } else { fSelectionProvider.setSelection(AbstractMemoryViewPane.EMPTY); } } - } - else - { + } else { fSelectionProvider.setSelection(AbstractMemoryViewPane.EMPTY); } - + folder.addSelectionListener(this); folder.addSelectionListener(fViewTabEnablementManager); - } - - - private void createFolder(IMemoryBlockRetrieval memRetrieval) - { - //if we've got a tabfolder to go with the IMemoryBlockRetrieval, display it + } + + private void createFolder(IMemoryBlockRetrieval memRetrieval) { + // if we've got a tabfolder to go with the IMemoryBlockRetrieval, + // display it Integer key = MemoryViewUtil.getHashCode(memRetrieval); if (fTabFolderForDebugView.containsKey(key)) { - if (fStackLayout.topControl != (CTabFolder)fTabFolderForDebugView.get(key)) { - setTabFolder((CTabFolder)fTabFolderForDebugView.get(key)); + if (fStackLayout.topControl != fTabFolderForDebugView.get(key)) { + setTabFolder(fTabFolderForDebugView.get(key)); fViewPaneCanvas.layout(); } - } else { //otherwise, add a new one + } else { // otherwise, add a new one fTabFolderForDebugView.put(key, new CTabFolder(fViewPaneCanvas, SWT.NULL)); - setTabFolder((CTabFolder)fTabFolderForDebugView.get(key)); + setTabFolder(fTabFolderForDebugView.get(key)); fViewPaneCanvas.layout(); } } + @Override public IMemoryViewTab getTopMemoryTab() { - - if (fStackLayout.topControl instanceof CTabFolder) - { - CTabFolder folder = (CTabFolder)fStackLayout.topControl; - if (!folder.isDisposed()) - { + + if (fStackLayout.topControl instanceof CTabFolder) { + CTabFolder folder = (CTabFolder) fStackLayout.topControl; + if (!folder.isDisposed()) { int index = folder.getSelectionIndex(); if (index >= 0) { CTabItem tab = folder.getItem(index); - return (IMemoryViewTab)tab.getData(); + return (IMemoryViewTab) tab.getData(); } } } return null; } - - protected void disposeTab(CTabItem tabItem) - { - if (tabItem == null) + + protected void disposeTab(CTabItem tabItem) { + if (tabItem == null) { return; - - // dispose the tab item in case the view tab has not + } + + // dispose the tab item in case the view tab has not // cleaned up the tab item - if (!tabItem.isDisposed()) - { + if (!tabItem.isDisposed()) { tabItem.dispose(); - } + } } - protected void emptyFolder() - { + protected void emptyFolder() { setTabFolder(fEmptyTabFolder); if (!fViewPaneCanvas.isDisposed()) { fViewPaneCanvas.layout(); } } - - public void addSelectionListener(ISelectionChangedListener listener) - { - if (fSelectionProvider == null) + + @Override + public void addSelectionListener(ISelectionChangedListener listener) { + if (fSelectionProvider == null) { fSelectionProvider = new ViewPaneSelectionProvider(); - + } + fSelectionProvider.addSelectionChangedListener(listener); } - - public void removeSelctionListener(ISelectionChangedListener listener) - { - if (fSelectionProvider == null) + + @Override + public void removeSelctionListener(ISelectionChangedListener listener) { + if (fSelectionProvider == null) { return; - + } + fSelectionProvider.removeSelectionChangedListener(listener); } - - public ISelectionProvider getSelectionProvider() - { + + @Override + public ISelectionProvider getSelectionProvider() { return fSelectionProvider; } - public void handleDebugEvents(DebugEvent[] events) - { - for (int i = 0; i < events.length; i++) - { + @Override + public void handleDebugEvents(DebugEvent[] events) { + for (int i = 0; i < events.length; i++) { Object source = events[i].getSource(); - if (events[i].getKind() == DebugEvent.TERMINATE && source instanceof IMemoryBlockRetrieval) - { - if (isDisposed()) + if (events[i].getKind() == DebugEvent.TERMINATE && source instanceof IMemoryBlockRetrieval) { + if (isDisposed()) { return; + } - //When a memory block retrieval terminates, it and its - //tab folders should be removed from our map. - final IMemoryBlockRetrieval ret = (IMemoryBlockRetrieval)source; - if (ret != null) - { + // When a memory block retrieval terminates, it and its + // tab folders should be removed from our map. + final IMemoryBlockRetrieval ret = (IMemoryBlockRetrieval) source; + if (ret != null) { Display.getDefault().asyncExec(new Runnable() { + @Override public void run() { - if (isDisposed()) + if (isDisposed()) { return; + } Integer key = MemoryViewUtil.getHashCode(ret); Object folder = fTabFolderForDebugView.get(key); - if (folder != null && folder != fEmptyTabFolder) - { - //remove the tab folder , and all contained tab items + if (folder != null && folder != fEmptyTabFolder) { + // remove the tab folder , and all contained tab + // items disposeOfFolder((CTabFolder) folder); fTabFolderForDebugView.remove(key); } @@ -309,53 +292,48 @@ public abstract class AbstractMemoryViewPane implements IMemoryBlockListener, IS } } - - - public void dispose() - { - if (isDisposed()) + @Override + public void dispose() { + if (isDisposed()) { return; + } fIsDisposed = true; removeListeners(); - + // dispose empty folders fEmptyTabFolder.dispose(); - + // dispose all other folders try { - Enumeration enumeration = fTabFolderForDebugView.elements(); + Enumeration<CTabFolder> enumeration = fTabFolderForDebugView.elements(); - while (enumeration.hasMoreElements()) - { - CTabFolder tabFolder = (CTabFolder)enumeration.nextElement(); + while (enumeration.hasMoreElements()) { + CTabFolder tabFolder = enumeration.nextElement(); disposeOfFolder(tabFolder); } // Clear the table as all CTabFolder's have been dipose()d fTabFolderForDebugView.clear(); - } catch (Exception e) { - + } catch (Exception e) { + DebugUIPlugin.logErrorMessage("Exception occurred when the Memory View is disposed."); //$NON-NLS-1$ - } + } } /** - * Helper method to dispose of a tab folder, - * and of any tab items it contains. - * Must be called from the UI thread. + * Helper method to dispose of a tab folder, and of any tab items it + * contains. Must be called from the UI thread. + * * @param tabFolder the {@link CTabFolder} to dispose * */ - private void disposeOfFolder(CTabFolder tabFolder) - { - if (!tabFolder.isDisposed()) - { + private void disposeOfFolder(CTabFolder tabFolder) { + if (!tabFolder.isDisposed()) { // if tab folder is not empty, dipose view tabs CTabItem[] tabs = tabFolder.getItems(); - for (int i=0; i<tabs.length; i++) - { + for (int i = 0; i < tabs.length; i++) { disposeTab(tabs[i]); } @@ -363,82 +341,95 @@ public abstract class AbstractMemoryViewPane implements IMemoryBlockListener, IS } } - public void setVisible(boolean visible) - { + @Override + public void setVisible(boolean visible) { fVisible = visible; - + IMemoryViewTab currentTab = getTopMemoryTab(); - if (currentTab != null) + if (currentTab != null) { currentTab.setEnabled(visible); + } } + @Override public void selectionChanged(SelectionChangedEvent event) { ISelection selection = event.getSelection(); - selectionChanged(fParent,selection); - + selectionChanged(fParent, selection); + fSelectionProvider.setSelection(selection); } - + /** * @return the unique identifier of the view pane */ - public String getPaneId() - { + public String getPaneId() { return fPaneId; } - - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#getControl() + + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#getControl() */ + @Override public Control getControl() { return fCanvas; } - - public boolean isVisible() - { + + @Override + public boolean isVisible() { return fVisible; } - - public String getLabel() - { + + public String getLabel() { return fLabel; } - - protected boolean isDisposed() - { + + protected boolean isDisposed() { return fIsDisposed; } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockAdded(org.eclipse.debug.core.model.IMemoryBlock) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockAdded + * (org.eclipse.debug.core.model.IMemoryBlock) */ - abstract public void memoryBlocksAdded(IMemoryBlock[] memoryBlocks); - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock) + @Override + abstract public void memoryBlocksAdded(IMemoryBlock[] memoryBlocks); + + /* + * (non-Javadoc) + * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener# + * MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock) */ + @Override abstract public void memoryBlocksRemoved(final IMemoryBlock[] memoryBlocks); - /* (non-Javadoc) - * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection) + /* + * (non-Javadoc) + * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui. + * IWorkbenchPart, org.eclipse.jface.viewers.ISelection) */ + @Override abstract public void selectionChanged(IWorkbenchPart part, ISelection selection); - + /** * @return current selection from the view pane */ abstract public Object getCurrentSelection(); - + /** - * retore the view pane based on current selection from the debug view - * and the memory blocks and renderings currently exist + * retore the view pane based on current selection from the debug view and + * the memory blocks and renderings currently exist */ + @Override abstract public void restoreViewPane(); - + /** * @return actions to be contributed to the view pane's toolbar */ + @Override abstract public IAction[] getActions(); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java index 08dc02bd7..8d1ecc175 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2012 IBM Corporation and others. + * Copyright (c) 2004, 2013 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 @@ -50,35 +50,32 @@ import org.eclipse.jface.window.Window; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.PlatformUI; - /** * Action for adding memory block. * * @since 3.0 */ -public class AddMemoryBlockAction extends Action implements IDebugContextListener, IDebugEventSetListener{ - +public class AddMemoryBlockAction extends Action implements IDebugContextListener, IDebugEventSetListener { + protected IAdaptable fCurrentContext = null; protected IMemoryBlock fLastMemoryBlock; private boolean fAddDefaultRenderings = true; protected IMemoryRenderingSite fSite; - - public AddMemoryBlockAction(IMemoryRenderingSite site) - { + + public AddMemoryBlockAction(IMemoryRenderingSite site) { initialize(site); } - + /** * @param site the site to add the action to - * @param addDefaultRenderings - specify if the action should add - * default renderings for the new memory block when it is run + * @param addDefaultRenderings - specify if the action should add default + * renderings for the new memory block when it is run */ - AddMemoryBlockAction(IMemoryRenderingSite site, boolean addDefaultRenderings) - { + AddMemoryBlockAction(IMemoryRenderingSite site, boolean addDefaultRenderings) { initialize(site); fAddDefaultRenderings = addDefaultRenderings; } - + /** * @param site the site to initialize */ @@ -87,13 +84,11 @@ public class AddMemoryBlockAction extends Action implements IDebugContextListene doInitialization(site); } - - public AddMemoryBlockAction(String text, int style, IMemoryRenderingSite site) - { + public AddMemoryBlockAction(String text, int style, IMemoryRenderingSite site) { super(text, style); - doInitialization(site); + doInitialization(site); } - + /** * @param site the site to initialize */ @@ -104,79 +99,78 @@ public class AddMemoryBlockAction extends Action implements IDebugContextListene setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_ADD)); setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_MONITOR_EXPRESSION)); PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".addMemoryMonitorAction_context"); //$NON-NLS-1$ - - // listen for context changed - DebugUITools.addPartDebugContextListener(fSite.getSite(), this); - + + // listen for context changed + DebugUITools.addPartDebugContextListener(fSite.getSite(), this); + // get current context fCurrentContext = DebugUITools.getPartDebugContext(site.getSite()); - + // set up enablement based on current selection updateAction(fCurrentContext); - + DebugPlugin.getDefault().addDebugEventListener(this); } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { boolean exit = false; String prefillExp = null; String prefillLength = null; - while (!exit) - { + while (!exit) { exit = true; - + Object elem = fCurrentContext; - + IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(elem); - - if (retrieval == null) + + if (retrieval == null) { return; - - Shell shell= DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell(); + } + + Shell shell = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell(); // create dialog to ask for expression/address to block MonitorMemoryBlockDialog dialog = new MonitorMemoryBlockDialog(shell, retrieval, prefillExp, prefillLength); dialog.open(); int returnCode = dialog.getReturnCode(); - if (returnCode == Window.CANCEL) - { + if (returnCode == Window.CANCEL) { return; } // get expression entered in dialog String input = dialog.getExpression(); - + // remember expression and length prefillExp = input; prefillLength = dialog.getLength(); - - ArrayList expressions = new ArrayList(); - - if (input.length() == 0) - { + + ArrayList<String> expressions = new ArrayList<String>(); + + if (input.length() == 0) { expressions.add(IInternalDebugCoreConstants.EMPTY_STRING); - } - else - { + } else { StringTokenizer tokenizer = new StringTokenizer(input, ","); //$NON-NLS-1$ - while (tokenizer.hasMoreTokens()) - { + while (tokenizer.hasMoreTokens()) { expressions.add(tokenizer.nextToken()); } - } - final String[] expressionsArray = (String[])expressions.toArray(new String[expressions.size()]); + } + final String[] expressionsArray = expressions.toArray(new String[expressions.size()]); exit = true; - + final boolean finalExit = exit; final Object finalElement = elem; final IMemoryBlockRetrieval finalRetrieval = retrieval; final MonitorMemoryBlockDialog finalDialog = dialog; Job job = new Job("Add Memory Block") { //$NON-NLS-1$ + @Override protected IStatus run(IProgressMonitor monitor) { addMemoryBlocks(finalExit, finalElement, finalRetrieval, finalDialog, expressionsArray); return Status.OK_STATUS; - }}; + } + }; job.setSystem(true); job.schedule(); } @@ -191,46 +185,41 @@ public class AddMemoryBlockAction extends Action implements IDebugContextListene * @return if we should exit */ private boolean addMemoryBlocks(boolean exit, Object elem, IMemoryBlockRetrieval standardMemRetrieval, MonitorMemoryBlockDialog dialog, final String[] expressionsArray) { - for (int i=0; i<expressionsArray.length; i++) - { + for (int i = 0; i < expressionsArray.length; i++) { String expression = expressionsArray[i].trim(); try { - if (standardMemRetrieval instanceof IMemoryBlockRetrievalExtension) - { - // if the debug session supports IMemoryBlockExtensionRetrieval - IMemoryBlockRetrievalExtension memRetrieval = (IMemoryBlockRetrievalExtension)standardMemRetrieval; - + if (standardMemRetrieval instanceof IMemoryBlockRetrievalExtension) { + // if the debug session supports + // IMemoryBlockExtensionRetrieval + IMemoryBlockRetrievalExtension memRetrieval = (IMemoryBlockRetrievalExtension) standardMemRetrieval; + // get extended memory block with the expression entered IMemoryBlockExtension memBlock = memRetrieval.getExtendedMemoryBlock(expression, elem); - + // add block to memory block manager - if (memBlock != null) - { + if (memBlock != null) { fLastMemoryBlock = memBlock; - - IMemoryBlock[] memArray = new IMemoryBlock[]{memBlock}; - + + IMemoryBlock[] memArray = new IMemoryBlock[] { memBlock }; + MemoryViewUtil.getMemoryBlockManager().addMemoryBlocks(memArray); - if (fAddDefaultRenderings) + if (fAddDefaultRenderings) { addDefaultRenderings(memBlock); - } - else - { + } + } else { // open error if it failed to retrieve a memory block MemoryViewUtil.openError(DebugUIMessages.AddMemoryBlockAction_title, DebugUIMessages.AddMemoryBlockAction_noMemoryBlock, null); exit = false; } - } - else - { - // if the debug session does not support IMemoryBlockExtensionRetrieval + } else { + // if the debug session does not support + // IMemoryBlockExtensionRetrieval expression = expression.toUpperCase(); String hexPrefix = "0X"; //$NON-NLS-1$ - if (expression.startsWith(hexPrefix)) - { + if (expression.startsWith(hexPrefix)) { expression = expression.substring(hexPrefix.length()); } - + // convert the expression to an address BigInteger address = new BigInteger(expression, 16); @@ -238,41 +227,37 @@ public class AddMemoryBlockAction extends Action implements IDebugContextListene // get the length of memory to block String strLength = dialog.getLength(); - + long length = Long.parseLong(strLength); - + // must monitor at least one line - if (length <= 0) - { + if (length <= 0) { String message = DebugUIMessages.AddMemoryBlockAction_failed + "\n" + DebugUIMessages.AddMemoryBlockAction_input_invalid; //$NON-NLS-1$ - MemoryViewUtil.openError(DebugUIMessages.AddMemoryBlockAction_title, message, null); + MemoryViewUtil.openError(DebugUIMessages.AddMemoryBlockAction_title, message, null); exit = false; continue; } - + // get standard memory block IMemoryBlock memBlock = standardMemRetrieval.getMemoryBlock(longAddress, length); - - // make sure the memory block returned is not an instance of IMemoryBlockExtension - if (memBlock instanceof IMemoryBlockExtension) - { - Status status = new Status(IStatus.WARNING, DebugUIPlugin.getUniqueIdentifier(), 0, - "IMemoryBlockRetrieval returns IMemoryBlockExtension. This may result in unexpected behavior.", null); //$NON-NLS-1$ + + // make sure the memory block returned is not an instance of + // IMemoryBlockExtension + if (memBlock instanceof IMemoryBlockExtension) { + Status status = new Status(IStatus.WARNING, DebugUIPlugin.getUniqueIdentifier(), 0, "IMemoryBlockRetrieval returns IMemoryBlockExtension. This may result in unexpected behavior.", null); //$NON-NLS-1$ DebugUIPlugin.log(status); } - - if (memBlock != null) - { + + if (memBlock != null) { // add memory block to memory block manager - fLastMemoryBlock = memBlock; - IMemoryBlock[] memArray = new IMemoryBlock[]{memBlock}; - + fLastMemoryBlock = memBlock; + IMemoryBlock[] memArray = new IMemoryBlock[] { memBlock }; + MemoryViewUtil.getMemoryBlockManager().addMemoryBlocks(memArray); - if (fAddDefaultRenderings) + if (fAddDefaultRenderings) { addDefaultRenderings(memBlock); - } - else - { + } + } else { // otherwise open up an error doalog MemoryViewUtil.openError(DebugUIMessages.AddMemoryBlockAction_title, DebugUIMessages.AddMemoryBlockAction_noMemoryBlock, null); exit = false; @@ -281,107 +266,102 @@ public class AddMemoryBlockAction extends Action implements IDebugContextListene } catch (DebugException e1) { MemoryViewUtil.openError(DebugUIMessages.AddMemoryBlockAction_title, DebugUIMessages.AddMemoryBlockAction_failed, e1); exit = false; - } - catch(NumberFormatException e2) - { + } catch (NumberFormatException e2) { String message = DebugUIMessages.AddMemoryBlockAction_failed + "\n" + DebugUIMessages.AddMemoryBlockAction_input_invalid; //$NON-NLS-1$ - MemoryViewUtil.openError(DebugUIMessages.AddMemoryBlockAction_title, message, null); + MemoryViewUtil.openError(DebugUIMessages.AddMemoryBlockAction_title, message, null); exit = false; } } return exit; } - - /* (non-Javadoc) - * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[]) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse + * .debug.core.DebugEvent[]) */ + @Override public void handleDebugEvents(DebugEvent[] events) { - for (int i=0; i < events.length; i++) - handleDebugEvent(events[i]); - } - - private void handleDebugEvent(DebugEvent event) - { + for (int i = 0; i < events.length; i++) { + handleDebugEvent(events[i]); + } + } + + private void handleDebugEvent(DebugEvent event) { // update action enablement based on debug event Object src = event.getSource(); IDebugTarget srcDT = null; IDebugTarget selectionDT = null; - - if (event.getKind() == DebugEvent.TERMINATE) - { - if (src instanceof ITerminate && src instanceof IDebugElement) - { - srcDT = ((IDebugElement)src).getDebugTarget(); + + if (event.getKind() == DebugEvent.TERMINATE) { + if (src instanceof ITerminate && src instanceof IDebugElement) { + srcDT = ((IDebugElement) src).getDebugTarget(); } - - if (fCurrentContext instanceof IDebugElement) - { - selectionDT = ((IDebugElement)fCurrentContext).getDebugTarget(); + + if (fCurrentContext instanceof IDebugElement) { + selectionDT = ((IDebugElement) fCurrentContext).getDebugTarget(); } // disable action if the debug target is terminated. - if (srcDT == selectionDT) - { + if (srcDT == selectionDT) { setEnabled(false); } } // handle change event from memory block retrieval object // to allow non-standard debug models to update the action - else if (event.getKind() == DebugEvent.CHANGE && event.getDetail() == DebugEvent.STATE) - { + else if (event.getKind() == DebugEvent.CHANGE && event.getDetail() == DebugEvent.STATE) { Object evtSrc = event.getSource(); - if (evtSrc == MemoryViewUtil.getMemoryBlockRetrieval(fCurrentContext)) + if (evtSrc == MemoryViewUtil.getMemoryBlockRetrieval(fCurrentContext)) { updateAction(fCurrentContext); + } } } - + /** - * Return the last memory block added to memory block manager via this action. + * Return the last memory block added to memory block manager via this + * action. + * * @return Returns the fLastMemoryBlock. */ public IMemoryBlock getLastMemoryBlock() { return fLastMemoryBlock; } - + protected void dispose() { - + // remove listeners DebugPlugin.getDefault().removeDebugEventListener(this); DebugUITools.removePartDebugContextListener(fSite.getSite(), this); } - - private void addDefaultRenderings(IMemoryBlock memoryBlock) - { + + private void addDefaultRenderings(IMemoryBlock memoryBlock) { IMemoryRenderingType primaryType = DebugUITools.getMemoryRenderingManager().getPrimaryRenderingType(memoryBlock); IMemoryRenderingType renderingTypes[] = DebugUITools.getMemoryRenderingManager().getDefaultRenderingTypes(memoryBlock); - + // create primary rendering try { - if (primaryType != null) - { + if (primaryType != null) { createRenderingInContainer(memoryBlock, primaryType, IDebugUIConstants.ID_RENDERING_VIEW_PANE_1); - } - else if (renderingTypes.length > 0) - { + } else if (renderingTypes.length > 0) { primaryType = renderingTypes[0]; createRenderingInContainer(memoryBlock, renderingTypes[0], IDebugUIConstants.ID_RENDERING_VIEW_PANE_1); } } catch (CoreException e1) { - DebugUIPlugin.log(e1); + DebugUIPlugin.log(e1); } - - for (int i = 0; i<renderingTypes.length; i++) - { + + for (int i = 0; i < renderingTypes.length; i++) { try { boolean create = true; - if (primaryType != null) - { - if (primaryType.getId().equals(renderingTypes[i].getId())) + if (primaryType != null) { + if (primaryType.getId().equals(renderingTypes[i].getId())) { create = false; + } } - if (create) + if (create) { createRenderingInContainer(memoryBlock, renderingTypes[i], IDebugUIConstants.ID_RENDERING_VIEW_PANE_2); + } } catch (CoreException e) { DebugUIPlugin.log(e); } @@ -400,33 +380,39 @@ public class AddMemoryBlockAction extends Action implements IDebugContextListene rendering.init(container, memoryBlock); container.addMemoryRendering(rendering); } - - protected MemoryView getMemoryView() - { - if (fSite instanceof MemoryView) - return (MemoryView)fSite; + + protected MemoryView getMemoryView() { + if (fSite instanceof MemoryView) { + return (MemoryView) fSite; + } return null; } - - protected void updateAction(final Object debugContext) - { + + protected void updateAction(final Object debugContext) { Job job = new Job("Update Add Memory Block Action") { //$NON-NLS-1$ + @Override protected IStatus run(IProgressMonitor monitor) { setEnabled(MemoryViewUtil.isValidContext(debugContext)); return Status.OK_STATUS; - }}; + } + }; job.setSystem(true); job.schedule(); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextEvent(org.eclipse.debug.internal.ui.contexts.provisional.DebugContextEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener + * #contextEvent + * (org.eclipse.debug.internal.ui.contexts.provisional.DebugContextEvent) */ + @Override public void debugContextChanged(DebugContextEvent event) { if ((event.getFlags() & DebugContextEvent.ACTIVATED) > 0) { IAdaptable context = DebugUITools.getPartDebugContext(fSite.getSite()); updateAction(context); - fCurrentContext = context; + fCurrentContext = context; } } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingAction.java index ab9fe9825..c6fcd7ab6 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingAction.java @@ -22,23 +22,23 @@ import org.eclipse.ui.PlatformUI; * Toolbar "Add Memory Rendering Action" from Memory Rendering Pane */ public class AddMemoryRenderingAction extends AddMemoryBlockAction { - + private IMemoryRenderingContainer fContainer; - - public AddMemoryRenderingAction(IMemoryRenderingContainer container) - { - super(DebugUIMessages.AddMemoryRenderingAction_Add_renderings, AS_PUSH_BUTTON, container.getMemoryRenderingSite()); - setToolTipText(DebugUIMessages.AddMemoryRenderingAction_Add_renderings); + + public AddMemoryRenderingAction(IMemoryRenderingContainer container) { + super(DebugUIMessages.AddMemoryRenderingAction_Add_renderings, AS_PUSH_BUTTON, container.getMemoryRenderingSite()); + setToolTipText(DebugUIMessages.AddMemoryRenderingAction_Add_renderings); PlatformUI.getWorkbench().getHelpSystem().setHelp(this, DebugUIPlugin.getUniqueIdentifier() + ".AddRenderingContextAction_context"); //$NON-NLS-1$ fContainer = container; } - - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { if (fContainer instanceof RenderingViewPane) ((RenderingViewPane) fContainer).showCreateRenderingTab(); } } - diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingContextAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingContextAction.java index b339883c1..b1da6ccef 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingContextAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingContextAction.java @@ -17,36 +17,36 @@ import org.eclipse.jface.viewers.ISelection; import org.eclipse.ui.IViewActionDelegate; import org.eclipse.ui.IViewPart; - public class AddMemoryRenderingContextAction implements IViewActionDelegate { private IMemoryRenderingSite fMemoryView; - - - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) */ + @Override public void init(IViewPart view) { - - if (view instanceof IMemoryRenderingSite) - { - fMemoryView = (IMemoryRenderingSite)view; - } + + if (view instanceof IMemoryRenderingSite) { + fMemoryView = (IMemoryRenderingSite) view; + } } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ + @Override public void run(IAction action) { - + if (fMemoryView == null) return; - + IMemoryRenderingContainer container = getRenderingContainer(action); - if (container != null) - { + if (container != null) { AddMemoryRenderingAction addAction = new AddMemoryRenderingAction(container); - addAction.run(); + addAction.run(); addAction.dispose(); } } @@ -59,27 +59,28 @@ public class AddMemoryRenderingContextAction implements IViewActionDelegate { IMemoryRenderingContainer[] viewPanes = fMemoryView.getMemoryRenderingContainers(); String actionId = action.getId(); IMemoryRenderingContainer selectedPane = null; - - for (int i=0; i<viewPanes.length; i++) - { - if (actionId.indexOf(viewPanes[i].getId()) != -1) - { + + for (int i = 0; i < viewPanes.length; i++) { + if (actionId.indexOf(viewPanes[i].getId()) != -1) { selectedPane = viewPanes[i]; break; } } - + return selectedPane; } - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) + /* + * (non-Javadoc) + * @see + * org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action + * .IAction, org.eclipse.jface.viewers.ISelection) */ + @Override public void selectionChanged(IAction action, ISelection selection) { IMemoryRenderingContainer container = getRenderingContainer(action); - if (container instanceof RenderingViewPane) - { - if (!((RenderingViewPane)container).canAddRendering()) + if (container instanceof RenderingViewPane) { + if (!((RenderingViewPane) container).canAddRendering()) action.setEnabled(false); else action.setEnabled(true); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingDialog.java index 618a68b0d..38e1906d9 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingDialog.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryRenderingDialog.java @@ -68,45 +68,43 @@ import org.eclipse.ui.progress.WorkbenchJob; * Dialog allowing user to add a memory rendering */ public class AddMemoryRenderingDialog extends SelectionDialog { - + private IMemoryBlock[] fMemoryBlocks; private Combo memoryBlock; private ListViewer fViewer; private IMemoryBlock fSelectedMemoryBlock; private Button addNew; - + private ISelectionChangedListener fSelectionChangedListener; private SelectionListener fSelectionListener; private SelectionAdapter fAddNewSelectionAdapter; private IMemoryRenderingSite fSite; - - private IMemoryBlockListener fMemoryBlockListener = new IMemoryBlockListener(){ - - public void memoryBlocksAdded(final IMemoryBlock[] memory) - { - if (memory.length > 0) - { + + private IMemoryBlockListener fMemoryBlockListener = new IMemoryBlockListener() { + + @Override + public void memoryBlocksAdded(final IMemoryBlock[] memory) { + if (memory.length > 0) { IMemoryBlock currentBlock = getMemoryBlockToSelect(memory[0]); - if (currentBlock == null) - { + if (currentBlock == null) { addNew(); - } - else - { + } else { populateDialog(currentBlock); } } } - public void memoryBlocksRemoved(IMemoryBlock[] memory) - { + + @Override + public void memoryBlocksRemoved(IMemoryBlock[] memory) { } }; - - private IMemoryRenderingBindingsListener fBindingListener = new IMemoryRenderingBindingsListener() - { + + private IMemoryRenderingBindingsListener fBindingListener = new IMemoryRenderingBindingsListener() { + @Override public void memoryRenderingBindingsChanged() { - UIJob job = new UIJob("refresh"){ //$NON-NLS-1$ - + UIJob job = new UIJob("refresh") { //$NON-NLS-1$ + + @Override public IStatus runInUIThread(IProgressMonitor monitor) { fViewer.refresh(); return Status.OK_STATUS; @@ -115,145 +113,186 @@ public class AddMemoryRenderingDialog extends SelectionDialog { job.setSystem(true); job.schedule(); } - + }; - class MemoryRenderingLabelProvider implements ILabelProvider - { - - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object) + class MemoryRenderingLabelProvider implements ILabelProvider { + + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object) */ + @Override public Image getImage(Object element) { return null; } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object) */ + @Override public String getText(Object element) { - if (element instanceof IMemoryRenderingType) - { - String label = ((IMemoryRenderingType)element).getLabel(); + if (element instanceof IMemoryRenderingType) { + String label = ((IMemoryRenderingType) element).getLabel(); return label; } - return element.toString(); + return element.toString(); } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse + * .jface.viewers.ILabelProviderListener) */ + @Override public void addListener(ILabelProviderListener listener) { } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() */ + @Override public void dispose() { } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java + * .lang.Object, java.lang.String) */ + @Override public boolean isLabelProperty(Object element, String property) { return false; } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse + * .jface.viewers.ILabelProviderListener) */ + @Override public void removeListener(ILabelProviderListener listener) { } } - - class MemoryRenderingContentProvider implements IStructuredContentProvider - { - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) + class MemoryRenderingContentProvider implements IStructuredContentProvider { + + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.IStructuredContentProvider#getElements( + * java.lang.Object) */ + @Override public Object[] getElements(Object inputElement) { - IMemoryRenderingType[] renderings = DebugUITools.getMemoryRenderingManager().getRenderingTypes((IMemoryBlock)inputElement); + IMemoryRenderingType[] renderings = DebugUITools.getMemoryRenderingManager().getRenderingTypes((IMemoryBlock) inputElement); return renderings; } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ + @Override public void dispose() { } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse + * .jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ + @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } - + } - - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.jface.window.Window#close() */ + @Override public boolean close() { - + fViewer.removeSelectionChangedListener(fSelectionChangedListener); memoryBlock.removeSelectionListener(fSelectionListener); addNew.removeSelectionListener(fAddNewSelectionAdapter); DebugPlugin.getDefault().getMemoryBlockManager().removeListener(fMemoryBlockListener); DebugUITools.getMemoryRenderingManager().removeListener(fBindingListener); - + return super.close(); } - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse + * .swt.widgets.Composite) */ + @Override protected void createButtonsForButtonBar(Composite parent) { super.createButtonsForButtonBar(parent); getButton(IDialogConstants.OK_ID).setEnabled(false); } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.ui.dialogs.SelectionDialog#getResult() */ + @Override public Object[] getResult() { - + Object[] results = super.getResult(); - - if (results != null) - { - Object[] renderings = ((IStructuredSelection)results[0]).toArray(); + + if (results != null) { + Object[] renderings = ((IStructuredSelection) results[0]).toArray(); return renderings; } - return new Object[0]; + return new Object[0]; } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.jface.dialogs.Dialog#cancelPressed() */ + @Override protected void cancelPressed() { - + setResult(null); - + super.cancelPressed(); } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.jface.dialogs.Dialog#okPressed() */ + @Override protected void okPressed() { - + ISelection select = fViewer.getSelection(); - setSelectionResult(new Object[]{select}); - + setSelectionResult(new Object[] { select }); + super.okPressed(); } - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets + * .Composite) */ + @Override protected Control createDialogArea(Composite parent) { PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, DebugUIPlugin.getUniqueIdentifier() + ".AddMemoryRenderingDialog_context"); //$NON-NLS-1$ @@ -262,268 +301,253 @@ public class AddMemoryRenderingDialog extends SelectionDialog { compositeLayout.numColumns = 3; compositeLayout.makeColumnsEqualWidth = true; composite.setLayout(compositeLayout); - - GridData comositeSpec= new GridData(); - comositeSpec.grabExcessVerticalSpace= true; - comositeSpec.grabExcessHorizontalSpace= true; - comositeSpec.horizontalAlignment= GridData.FILL; - comositeSpec.verticalAlignment= GridData.CENTER; + + GridData comositeSpec = new GridData(); + comositeSpec.grabExcessVerticalSpace = true; + comositeSpec.grabExcessHorizontalSpace = true; + comositeSpec.horizontalAlignment = GridData.FILL; + comositeSpec.verticalAlignment = GridData.CENTER; composite.setLayoutData(comositeSpec); - + Label textLabel = new Label(composite, SWT.NONE); - textLabel.setText(DebugUIMessages.AddMemoryRenderingDialog_Memory_Monitor); + textLabel.setText(DebugUIMessages.AddMemoryRenderingDialog_Memory_Monitor); GridData textLayout = new GridData(); - textLayout.verticalAlignment=GridData.CENTER; - textLayout.horizontalAlignment=GridData.BEGINNING; + textLayout.verticalAlignment = GridData.CENTER; + textLayout.horizontalAlignment = GridData.BEGINNING; textLabel.setLayoutData(textLayout); - + memoryBlock = new Combo(composite, SWT.BORDER | SWT.READ_ONLY); - GridData spec= new GridData(GridData.FILL_HORIZONTAL); - spec.grabExcessVerticalSpace= false; - spec.grabExcessHorizontalSpace= false; - spec.horizontalAlignment= GridData.FILL; - spec.verticalAlignment= GridData.FILL; + GridData spec = new GridData(GridData.FILL_HORIZONTAL); + spec.grabExcessVerticalSpace = false; + spec.grabExcessHorizontalSpace = false; + spec.horizontalAlignment = GridData.FILL; + spec.verticalAlignment = GridData.FILL; spec.horizontalSpan = 4; memoryBlock.setLayoutData(spec); - + Label filler = new Label(composite, SWT.NONE); filler.setText(" "); //$NON-NLS-1$ GridData fillerData = new GridData(GridData.FILL_HORIZONTAL); fillerData.horizontalSpan = 2; filler.setLayoutData(fillerData); - + addNew = new Button(composite, SWT.NONE); - addNew.setText(DebugUIMessages.AddMemoryRenderingDialog_Add_New); - GridData specButton= new GridData(); - specButton.horizontalAlignment= GridData.END; - specButton.verticalAlignment= GridData.CENTER; + addNew.setText(DebugUIMessages.AddMemoryRenderingDialog_Add_New); + GridData specButton = new GridData(); + specButton.horizontalAlignment = GridData.END; + specButton.verticalAlignment = GridData.CENTER; addNew.setLayoutData(specButton); - + fAddNewSelectionAdapter = new SelectionAdapter() { + @Override public void widgetSelected(SelectionEvent e) { RetargetAddMemoryBlockAction action = new RetargetAddMemoryBlockAction(fSite, false); action.run(); action.dispose(); - }}; - + } + }; + addNew.addSelectionListener(fAddNewSelectionAdapter); - - fSelectionListener = new SelectionListener(){ + fSelectionListener = new SelectionListener() { + + @Override public void widgetSelected(SelectionEvent e) { - + int idx = memoryBlock.getSelectionIndex(); - + // avoid null pointer exception if (fMemoryBlocks == null) return; - + fSelectedMemoryBlock = fMemoryBlocks[idx]; - - fViewer.setInput(fSelectedMemoryBlock); - + + fViewer.setInput(fSelectedMemoryBlock); + } + @Override public void widgetDefaultSelected(SelectionEvent e) { - }}; - + } + }; + memoryBlock.addSelectionListener(fSelectionListener); - + Label renderingLabel = new Label(composite, SWT.NONE); - renderingLabel.setText(DebugUIMessages.AddMemoryRenderingDialog_Memory_renderings); + renderingLabel.setText(DebugUIMessages.AddMemoryRenderingDialog_Memory_renderings); GridData renderingLayout = new GridData(); renderingLayout.horizontalAlignment = GridData.BEGINNING; renderingLayout.verticalAlignment = GridData.CENTER; renderingLayout.horizontalSpan = 3; renderingLabel.setLayoutData(renderingLayout); - + fViewer = new ListViewer(composite); fViewer.setContentProvider(new MemoryRenderingContentProvider()); fViewer.setLabelProvider(new MemoryRenderingLabelProvider()); - + GridData listLayout = new GridData(GridData.FILL_BOTH); listLayout.horizontalSpan = 3; - listLayout.heightHint =140; + listLayout.heightHint = 140; fViewer.getControl().setLayoutData(listLayout); - - fViewer.addDoubleClickListener(new IDoubleClickListener (){ + fViewer.addDoubleClickListener(new IDoubleClickListener() { + + @Override public void doubleClick(DoubleClickEvent event) { okPressed(); - }}); - + } + }); + IMemoryBlock currentBlock = getMemoryBlockToSelect(null); - if (currentBlock == null) - { + if (currentBlock == null) { addNew(); - } - else - { + } else { populateDialog(currentBlock); } - - + fSelectionChangedListener = new ISelectionChangedListener() { + @Override public void selectionChanged(SelectionChangedEvent event) { - ISelection selection = fViewer.getSelection(); - - if (selection.isEmpty()) - { + ISelection selection = fViewer.getSelection(); + + if (selection.isEmpty()) { getButton(IDialogConstants.OK_ID).setEnabled(false); - } - else - { + } else { getButton(IDialogConstants.OK_ID).setEnabled(true); } - }}; - + } + }; + fViewer.addSelectionChangedListener(fSelectionChangedListener); - + DebugPlugin.getDefault().getMemoryBlockManager().addListener(fMemoryBlockListener); DebugUITools.getMemoryRenderingManager().addListener(fBindingListener); - + return composite; } public AddMemoryRenderingDialog(Shell parent, IMemoryRenderingSite site) { super(parent); - super.setTitle(DebugUIMessages.AddMemoryRenderingDialog_Add_memory_rendering); + super.setTitle(DebugUIMessages.AddMemoryRenderingDialog_Add_memory_rendering); setShellStyle(getShellStyle() | SWT.RESIZE); fSite = site; } - - - private void doPopulateDialog(Combo combo, ListViewer viewer, String[] labels, int selectionIdx, IMemoryBlock currentBlock) - { + + private void doPopulateDialog(Combo combo, ListViewer viewer, String[] labels, int selectionIdx, IMemoryBlock currentBlock) { // clean up combo.removeAll(); - - for (int i=0; i<labels.length; i++) - { + + for (int i = 0; i < labels.length; i++) { combo.add(labels[i]); } combo.select(selectionIdx); fSelectedMemoryBlock = currentBlock; - + viewer.setInput(currentBlock); } - - private IMemoryBlock getMemoryBlockToSelect(IMemoryBlock lastAdded) - { + + private IMemoryBlock getMemoryBlockToSelect(IMemoryBlock lastAdded) { IMemoryBlock currentBlock = null; - + if (lastAdded != null) currentBlock = lastAdded; - else - { + else { // take Memory View's selection if possible ISelectionProvider selectionProvider = fSite.getSite().getSelectionProvider(); ISelection selection = null; - + if (selectionProvider != null) selection = selectionProvider.getSelection(); - else // otherwise, take selection from selection service - selection = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(IDebugUIConstants.ID_MEMORY_VIEW); - + else + // otherwise, take selection from selection service + selection = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(IDebugUIConstants.ID_MEMORY_VIEW); + IMemoryBlock element = getMemoryBlock(selection); - - if (element == null) - { - IAdaptable context = DebugUITools.getPartDebugContext(fSite.getSite()); - - if (context != null) - { + + if (element == null) { + IAdaptable context = DebugUITools.getPartDebugContext(fSite.getSite()); + + if (context != null) { IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(context); - + if (retrieval == null) return currentBlock; - + IMemoryBlock[] blocks = new IMemoryBlock[0]; - + if (retrieval != null) blocks = MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(retrieval); - + if (blocks.length > 0) currentBlock = blocks[0]; } - } - else - { + } else { currentBlock = element; } } return currentBlock; } - - private String[] getLabels(IMemoryBlock[] memoryBlocks) - { + + private String[] getLabels(IMemoryBlock[] memoryBlocks) { String[] labels = new String[memoryBlocks.length]; - for (int i=0; i<memoryBlocks.length; i++) - { + for (int i = 0; i < memoryBlocks.length; i++) { String text = IInternalDebugCoreConstants.EMPTY_STRING; - if (memoryBlocks[i] instanceof IMemoryBlockExtension) - { + if (memoryBlocks[i] instanceof IMemoryBlockExtension) { try { - text = ((IMemoryBlockExtension)memoryBlocks[i]).getExpression(); - + text = ((IMemoryBlockExtension) memoryBlocks[i]).getExpression(); + if (text == null) - text = DebugUIMessages.AddMemoryRenderingDialog_Unknown; - - if (((IMemoryBlockExtension)memoryBlocks[i]).getBigBaseAddress() != null) - { + text = DebugUIMessages.AddMemoryRenderingDialog_Unknown; + + if (((IMemoryBlockExtension) memoryBlocks[i]).getBigBaseAddress() != null) { text += " : 0x"; //$NON-NLS-1$ - text += ((IMemoryBlockExtension)memoryBlocks[i]).getBigBaseAddress().toString(16); - } + text += ((IMemoryBlockExtension) memoryBlocks[i]).getBigBaseAddress().toString(16); + } } catch (DebugException e) { long address = memoryBlocks[i].getStartAddress(); text = Long.toHexString(address); } - } - else - { + } else { long address = memoryBlocks[i].getStartAddress(); text = Long.toHexString(address); } - + // ask decorator to decorate to ensure consistent label - ILabelDecorator decorator = (ILabelDecorator)fMemoryBlocks[i].getAdapter(ILabelDecorator.class); + ILabelDecorator decorator = (ILabelDecorator) fMemoryBlocks[i].getAdapter(ILabelDecorator.class); if (decorator != null) text = decorator.decorateText(text, fMemoryBlocks[i]); - + labels[i] = text; } return labels; } - - private IMemoryBlock getMemoryBlock(ISelection selection) - { + + private IMemoryBlock getMemoryBlock(ISelection selection) { if (!(selection instanceof IStructuredSelection)) return null; - //only single selection of debug element is allowed for this action - if (selection.isEmpty() || ((IStructuredSelection)selection).size() > 1) - { + // only single selection of debug element is allowed for this action + if (selection.isEmpty() || ((IStructuredSelection) selection).size() > 1) { return null; } - Object elem = ((IStructuredSelection)selection).getFirstElement(); - + Object elem = ((IStructuredSelection) selection).getFirstElement(); + if (elem instanceof IMemoryBlock) - return (IMemoryBlock)elem; + return (IMemoryBlock) elem; else if (elem instanceof IMemoryRendering) - return ((IMemoryRendering)elem).getMemoryBlock(); + return ((IMemoryRendering) elem).getMemoryBlock(); else return null; } - - public IMemoryBlock getMemoryBlock() - { + + public IMemoryBlock getMemoryBlock() { return fSelectedMemoryBlock; } - + /** * @param currentBlock the current memory block context */ @@ -531,40 +555,39 @@ public class AddMemoryRenderingDialog extends SelectionDialog { final IMemoryBlock selectMB = currentBlock; Job job = new Job("Populate dialog") //$NON-NLS-1$ { + @Override protected IStatus run(IProgressMonitor monitor) { - IMemoryBlockRetrieval mbRetrieval = MemoryViewUtil.getMemoryBlockRetrieval(selectMB); - - if (mbRetrieval != null) - { + IMemoryBlockRetrieval mbRetrieval = MemoryViewUtil.getMemoryBlockRetrieval(selectMB); + + if (mbRetrieval != null) { fMemoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(mbRetrieval); int selectionIdx = 0; - for (int i=0; i<fMemoryBlocks.length; i++) - { - if (fMemoryBlocks[i] == selectMB) - { + for (int i = 0; i < fMemoryBlocks.length; i++) { + if (fMemoryBlocks[i] == selectMB) { selectionIdx = i; break; } } - + final String[] labels = getLabels(fMemoryBlocks); final int idx = selectionIdx; final IMemoryBlock selectedBlk = selectMB; - WorkbenchJob wbJob = new WorkbenchJob("populate dialog"){ //$NON-NLS-1$ - + WorkbenchJob wbJob = new WorkbenchJob("populate dialog") { //$NON-NLS-1$ + + @Override public IStatus runInUIThread(IProgressMonitor wbMonitor) { - doPopulateDialog(memoryBlock, fViewer, labels, idx, selectedBlk); + doPopulateDialog(memoryBlock, fViewer, labels, idx, selectedBlk); return Status.OK_STATUS; - }}; - wbJob.setSystem(true); - wbJob.schedule(); - } - else - { - DebugUIPlugin.logErrorMessage("Unable to obtain memory block retrieval."); //$NON-NLS-1$ - } + } + }; + wbJob.setSystem(true); + wbJob.schedule(); + } else { + DebugUIPlugin.logErrorMessage("Unable to obtain memory block retrieval."); //$NON-NLS-1$ + } return Status.OK_STATUS; - }}; + } + }; job.setSystem(true); job.schedule(); } @@ -573,13 +596,15 @@ public class AddMemoryRenderingDialog extends SelectionDialog { * */ private void addNew() { - WorkbenchJob job = new WorkbenchJob("populate dialog"){ //$NON-NLS-1$ + WorkbenchJob job = new WorkbenchJob("populate dialog") { //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { memoryBlock.add(DebugUIMessages.AddMemoryRenderingDialog_Add_New); memoryBlock.select(0); return Status.OK_STATUS; - }}; + } + }; job.setSystem(true); job.schedule(); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CodePagesPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CodePagesPreferencePage.java index 0e9a10395..69d744617 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CodePagesPreferencePage.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CodePagesPreferencePage.java @@ -9,7 +9,6 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ - package org.eclipse.debug.internal.ui.views.memory; import java.io.UnsupportedEncodingException; @@ -38,52 +37,53 @@ public class CodePagesPreferencePage extends FieldEditorPreferencePage { setTitle(DebugUIMessages.CodePagesPrefDialog_1); } + @Override protected void createFieldEditors() { fAsciiCodePage = new StringFieldEditor(IDebugUIConstants.PREF_DEFAULT_ASCII_CODE_PAGE, DebugUIMessages.CodePagesPrefDialog_2, getFieldEditorParent()); fAsciiCodePage.setEmptyStringAllowed(false); addField(fAsciiCodePage); - + fEbcdicCodePage = new StringFieldEditor(IDebugUIConstants.PREF_DEFAULT_EBCDIC_CODE_PAGE, DebugUIMessages.CodePagesPrefDialog_4, getFieldEditorParent()); fEbcdicCodePage.setEmptyStringAllowed(false); addField(fEbcdicCodePage); } + @Override public boolean performOk() { - + if (fAsciiCodePage == null || fEbcdicCodePage == null) return super.performOk(); - + // check that the codepages are supported String asciiCodePage = fAsciiCodePage.getStringValue(); asciiCodePage = asciiCodePage.trim(); try { - new String(new byte[]{1}, asciiCodePage); + new String(new byte[] { 1 }, asciiCodePage); } catch (UnsupportedEncodingException e) { Shell shell = DebugUIPlugin.getShell(); - if (shell != null) - { - IStatus status = DebugUIPlugin.newErrorStatus(DebugUIMessages.CodePagesPrefDialog_0, e); - ErrorDialog.openError(shell, DebugUIMessages.CodePagesPrefDialog_6, DebugUIMessages.CodePagesPrefDialog_7, status); // + if (shell != null) { + IStatus status = DebugUIPlugin.newErrorStatus(DebugUIMessages.CodePagesPrefDialog_0, e); + ErrorDialog.openError(shell, DebugUIMessages.CodePagesPrefDialog_6, DebugUIMessages.CodePagesPrefDialog_7, status); // } return false; } - + String ebcdicCodePage = fEbcdicCodePage.getStringValue(); ebcdicCodePage = ebcdicCodePage.trim(); try { - new String(new byte[]{1}, ebcdicCodePage); + new String(new byte[] { 1 }, ebcdicCodePage); } catch (UnsupportedEncodingException e) { Shell shell = DebugUIPlugin.getShell(); - if (shell != null) - { - IStatus status = DebugUIPlugin.newErrorStatus(DebugUIMessages.CodePagesPrefDialog_0, e); - ErrorDialog.openError(shell, DebugUIMessages.CodePagesPrefDialog_8, DebugUIMessages.CodePagesPrefDialog_9, status); // + if (shell != null) { + IStatus status = DebugUIPlugin.newErrorStatus(DebugUIMessages.CodePagesPrefDialog_0, e); + ErrorDialog.openError(shell, DebugUIMessages.CodePagesPrefDialog_8, DebugUIMessages.CodePagesPrefDialog_9, status); // } return false; } return super.performOk(); } + @Override protected Control createContents(Composite parent) { PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, DebugUIPlugin.getUniqueIdentifier() + ".CodePagesPrefDialog_context"); //$NON-NLS-1$ return super.createContents(parent); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryView.java index aa0ae6580..61933c8dc 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryView.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryView.java @@ -11,28 +11,28 @@ package org.eclipse.debug.internal.ui.views.memory; - /** - * Functions to allow user to control the Memory View or the Memory Rendering View + * Functions to allow user to control the Memory View or the Memory Rendering + * View * * @since 3.0 */ -public interface IMemoryView -{ +public interface IMemoryView { /** * @return the top view tab from the Memory View */ - public IMemoryViewTab getTopMemoryTab( ); - + public IMemoryViewTab getTopMemoryTab(); + /** * @return all view tabs from current tab folder */ public IMemoryViewTab[] getAllViewTabs(); - + /** * Move specified view tab to the top + * * @param viewTab */ public void moveToTop(IMemoryViewTab viewTab); - + } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewPane.java index e7329f13d..b092ff38c 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewPane.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewPane.java @@ -16,79 +16,81 @@ import org.eclipse.jface.viewers.ISelectionProvider; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; - /** * Represent a view pane in the memory view. * - * This is an internal interface for mananging the view panes within the Memory View + * This is an internal interface for mananging the view panes within the Memory + * View + * * @since 3.1 */ public interface IMemoryViewPane { - + /** - * Create the view pane with the given parent composite, and pane - * id. + * Create the view pane with the given parent composite, and pane id. + * * @param parent * @param paneId * @param label * @return the control of the view pane */ public Control createViewPane(Composite parent, String paneId, String label); - + /** - * Restore view pane based on current selection from the debug view. - * Create memory blocks or renderings that currently exist in the debug - * session. + * Restore view pane based on current selection from the debug view. Create + * memory blocks or renderings that currently exist in the debug session. */ public void restoreViewPane(); - + /** * Dispose the view pane */ public void dispose(); - + /** * @return unique identifier of the view pane */ public String getId(); - + /** - * @return array of actions to be contributed to the view pane's - * acition bar. + * @return array of actions to be contributed to the view pane's acition + * bar. */ public IAction[] getActions(); - + /** - * Add the given selection listener to the view pane. The selection - * listener gets notified when the selection from the view pane - * has changed. + * Add the given selection listener to the view pane. The selection listener + * gets notified when the selection from the view pane has changed. + * * @param listener */ public void addSelectionListener(ISelectionChangedListener listener); - + /** - * Remove the selection listener from the view pane. The listener - * will no longer get notified when selection is changed. + * Remove the selection listener from the view pane. The listener will no + * longer get notified when selection is changed. + * * @param listener */ public void removeSelctionListener(ISelectionChangedListener listener); - + /** * @return the selection provider of the view pane */ public ISelectionProvider getSelectionProvider(); - + /** * @return the control for ths memory view pane */ public Control getControl(); - + /** * Called when the view pane becomes visible or hidden + * * @param visible visibility state of teh view pane */ public void setVisible(boolean visible); - + /** * @return if the view pane is currently visible */ diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.java index c9dab6a24..0b5f388bc 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.java @@ -9,55 +9,53 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ - package org.eclipse.debug.internal.ui.views.memory; import org.eclipse.debug.ui.memory.IMemoryRendering; - /** * Represent a view tab in the Memory View or Memory Rendering View * - * Refer to AbstractMemoryViewTab. - * This is an internal interface. This class is not intended to be implemented by clients. + * Refer to AbstractMemoryViewTab. This is an internal interface. This class is + * not intended to be implemented by clients. * * @since 3.0 */ -public interface IMemoryViewTab -{ +public interface IMemoryViewTab { /** * Remove the view tab. */ public void dispose(); - + /** * @return if the view tab is disposed */ public boolean isDisposed(); - + /** * @return enablement state of the view tab. */ public boolean isEnabled(); - - + /** * Sets the enablament state of the view tab. + * * @param enabled */ public void setEnabled(boolean enabled); - + /** * Set view tab's label + * * @param label */ public void setTabLabel(String label); - + /** * @return view tab's label, null if the label is not available */ public String getTabLabel(); - + /** * @return the rendering of this view tab */ diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/LinkRenderingPanesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/LinkRenderingPanesAction.java index 767f3c588..7af713e31 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/LinkRenderingPanesAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/LinkRenderingPanesAction.java @@ -20,35 +20,38 @@ import org.eclipse.ui.IViewPart; /** * Action to link/unlink rendering view panes */ -public class LinkRenderingPanesAction implements IViewActionDelegate{ +public class LinkRenderingPanesAction implements IViewActionDelegate { IMemoryRenderingSite fRenderingSite; private MemoryViewSynchronizationService fMemSyncService; - - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) */ - public void init(IViewPart view) { - - if (view instanceof IMemoryRenderingSite) - { - fRenderingSite = (IMemoryRenderingSite)view; - + @Override + public void init(IViewPart view) { + + if (view instanceof IMemoryRenderingSite) { + fRenderingSite = (IMemoryRenderingSite) view; + IMemoryRenderingSynchronizationService syncService = fRenderingSite.getSynchronizationService(); - + if (syncService instanceof MemoryViewSynchronizationService) - fMemSyncService = (MemoryViewSynchronizationService)syncService; + fMemSyncService = (MemoryViewSynchronizationService) syncService; } } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ + @Override public void run(IAction action) { - + if (fMemSyncService == null) return; - + fMemSyncService.setEnabled(!fMemSyncService.isEnabled()); updateActionState(action); } @@ -57,20 +60,24 @@ public class LinkRenderingPanesAction implements IViewActionDelegate{ * @param action */ private void updateActionState(IAction action) { - + if (fMemSyncService == null) return; - + if (fMemSyncService.isEnabled()) action.setChecked(true); else action.setChecked(false); } - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) + /* + * (non-Javadoc) + * @see + * org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action + * .IAction, org.eclipse.jface.viewers.ISelection) */ + @Override public void selectionChanged(IAction action, ISelection selection) { - updateActionState(action); + updateActionState(action); } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java index 2e4179594..0adc1a39e 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlocksTreeViewPane.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2010 IBM Corporation and others. + * Copyright (c) 2004, 2013 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 @@ -11,7 +11,7 @@ * display memory blocks that do not reference IDebugTarget * *******************************************************************************/ - + package org.eclipse.debug.internal.ui.views.memory; import java.util.ArrayList; @@ -66,14 +66,13 @@ import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.progress.UIJob; - /** * Tree viewer for memory blocks */ -public class MemoryBlocksTreeViewPane implements ISelectionListener, ISelectionChangedListener, IMemoryViewPane, IMemoryRenderingContainer{ - +public class MemoryBlocksTreeViewPane implements ISelectionListener, ISelectionChangedListener, IMemoryViewPane, IMemoryRenderingContainer { + public static final String PANE_ID = DebugUIPlugin.getUniqueIdentifier() + ".MemoryView.MemoryBlocksTreeViewPane"; //$NON-NLS-1$ - + private IViewPart fParent; private IPresentationContext fPresentationContext; private MemoryViewTreeViewer fTreeViewer; @@ -87,85 +86,83 @@ public class MemoryBlocksTreeViewPane implements ISelectionListener, ISelectionC private TreeViewPaneContextListener fDebugContextListener; private ViewPaneEventHandler fEvtHandler; private String fLabel; - - class TreeViewerRemoveMemoryBlocksAction extends Action - { - TreeViewerRemoveMemoryBlocksAction() - { + + class TreeViewerRemoveMemoryBlocksAction extends Action { + TreeViewerRemoveMemoryBlocksAction() { super(); - setText(DebugUIMessages.RemoveMemoryBlockAction_title); + setText(DebugUIMessages.RemoveMemoryBlockAction_title); - setToolTipText(DebugUIMessages.RemoveMemoryBlockAction_tooltip); - setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE_MEMORY)); + setToolTipText(DebugUIMessages.RemoveMemoryBlockAction_tooltip); + setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE_MEMORY)); setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_REMOVE_MEMORY)); setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_REMOVE_MEMORY)); PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".RemoveMemoryBlockAction_context"); //$NON-NLS-1$ setEnabled(true); } - - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { ISelection selected = fTreeViewer.getSelection(); - - if (selected != null && selected instanceof IStructuredSelection) - { - Object[] selectedMemBlks = ((IStructuredSelection)selected).toArray(); - ArrayList memoryBlocks = new ArrayList(); - for (int i=0; i<selectedMemBlks.length; i++) - { - if (selectedMemBlks[i] instanceof IMemoryBlock) + + if (selected != null && selected instanceof IStructuredSelection) { + Object[] selectedMemBlks = ((IStructuredSelection) selected).toArray(); + ArrayList<Object> memoryBlocks = new ArrayList<Object>(); + for (int i = 0; i < selectedMemBlks.length; i++) { + if (selectedMemBlks[i] instanceof IMemoryBlock) { memoryBlocks.add(selectedMemBlks[i]); + } } - - DebugPlugin.getDefault().getMemoryBlockManager().removeMemoryBlocks((IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()])); + + DebugPlugin.getDefault().getMemoryBlockManager().removeMemoryBlocks(memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()])); } } } - - class TreeViewerRemoveAllMemoryBlocksAction extends Action - { - TreeViewerRemoveAllMemoryBlocksAction() - { + + class TreeViewerRemoveAllMemoryBlocksAction extends Action { + TreeViewerRemoveAllMemoryBlocksAction() { super(); - setText(DebugUIMessages.MemoryBlocksTreeViewPane_2); + setText(DebugUIMessages.MemoryBlocksTreeViewPane_2); - setToolTipText(DebugUIMessages.MemoryBlocksTreeViewPane_2); - setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE_ALL)); + setToolTipText(DebugUIMessages.MemoryBlocksTreeViewPane_2); + setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE_ALL)); setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE_ALL)); setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_REMOVE_ALL)); PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".RemoveAllMemoryBlocksAction_context"); //$NON-NLS-1$ } - - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { - - IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow(); + + IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow(); if (window == null) { return; } - boolean proceed = MessageDialog.openQuestion(window.getShell(), DebugUIMessages.MemoryBlocksTreeViewPane_0, DebugUIMessages.MemoryBlocksTreeViewPane_1); // + boolean proceed = MessageDialog.openQuestion(window.getShell(), DebugUIMessages.MemoryBlocksTreeViewPane_0, DebugUIMessages.MemoryBlocksTreeViewPane_1); // if (proceed) { IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(fRetrieval); DebugPlugin.getDefault().getMemoryBlockManager().removeMemoryBlocks(memoryBlocks); } - } + } } - - class ViewPaneEventHandler implements IMemoryBlockListener, IDebugEventSetListener - { + + class ViewPaneEventHandler implements IMemoryBlockListener, IDebugEventSetListener { private boolean fDisposed = false; - - public ViewPaneEventHandler() - { + + public ViewPaneEventHandler() { DebugPlugin.getDefault().getMemoryBlockManager().addListener(this); DebugPlugin.getDefault().addDebugEventListener(this); } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ public void dispose() { @@ -174,54 +171,67 @@ public class MemoryBlocksTreeViewPane implements ISelectionListener, ISelectionC DebugPlugin.getDefault().removeDebugEventListener(this); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockAdded(org.eclipse.debug.core.model.IMemoryBlock) + /* + * (non-Javadoc) + * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener# + * MemoryBlockAdded(org.eclipse.debug.core.model.IMemoryBlock) */ + @Override public void memoryBlocksAdded(final IMemoryBlock[] memory) { // if the content provider is disposed, do not handle event - if (fDisposed) + if (fDisposed) { return; + } updateActionsEnablement(); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock) + /* + * (non-Javadoc) + * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener# + * MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock) */ + @Override public void memoryBlocksRemoved(final IMemoryBlock[] memory) { - if (fDisposed) + if (fDisposed) { return; + } updateActionsEnablement(); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.BasicDebugViewContentProvider#doHandleDebugEvent(org.eclipse.debug.core.DebugEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.BasicDebugViewContentProvider + * #doHandleDebugEvent(org.eclipse.debug.core.DebugEvent) */ protected void doHandleDebugEvent(DebugEvent event) { - + // if the view is disposed, do not handle event - if (fDisposed) + if (fDisposed) { return; - - if (event.getKind() == DebugEvent.TERMINATE) - { - // should only handle the terminate event if the target is terminated - if (event.getSource() instanceof IDebugTarget) - { + } + + if (event.getKind() == DebugEvent.TERMINATE) { + // should only handle the terminate event if the target is + // terminated + if (event.getSource() instanceof IDebugTarget) { IMemoryBlockRetrieval srcRetrieval = MemoryViewUtil.getMemoryBlockRetrieval(event.getSource()); - if (srcRetrieval == fRetrieval) - { + if (srcRetrieval == fRetrieval) { // #setInput must be done on the UI thread - UIJob job = new UIJob("setInput"){ //$NON-NLS-1$ + UIJob job = new UIJob("setInput") { //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { - - // if viewpane is disposed, do not handle event - if (fTreeViewer.getContentProvider() == null) - return Status.OK_STATUS; - + + // if viewpane is disposed, do not handle event + if (fTreeViewer.getContentProvider() == null) { + return Status.OK_STATUS; + } + fTreeViewer.setInput(null); return Status.OK_STATUS; - }}; - + } + }; + job.setSystem(true); job.schedule(); } @@ -229,37 +239,32 @@ public class MemoryBlocksTreeViewPane implements ISelectionListener, ISelectionC } } + @Override public void handleDebugEvents(DebugEvent[] events) { - for (int i=0; i<events.length; i++) - { + for (int i = 0; i < events.length; i++) { doHandleDebugEvent(events[i]); } } } - - class TreeViewPaneContextListener implements IDebugContextListener - { + + class TreeViewPaneContextListener implements IDebugContextListener { public void contextActivated(ISelection selection) { - - if (selection.isEmpty() && fRetrieval != null) - { + + if (selection.isEmpty() && fRetrieval != null) { fRetrieval = null; - if (fTreeViewer != null && fTreeViewer.getContentProvider() != null) + if (fTreeViewer != null && fTreeViewer.getContentProvider() != null) { fTreeViewer.setInput(fRetrieval); + } updateActionsEnablement(); return; } - - if (selection instanceof IStructuredSelection) - { - Object obj = ((IStructuredSelection)selection).getFirstElement(); - if (obj instanceof IAdaptable) - { - IAdaptable context = (IAdaptable)obj; + + if (selection instanceof IStructuredSelection) { + Object obj = ((IStructuredSelection) selection).getFirstElement(); + if (obj instanceof IAdaptable) { + IAdaptable context = (IAdaptable) obj; IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(context); - if (retrieval != null && retrieval != fRetrieval && - fTreeViewer != null && fTreeViewer.getContentProvider() != null) - { + if (retrieval != null && retrieval != fRetrieval && fTreeViewer != null && fTreeViewer.getContentProvider() != null) { // set new setting fRetrieval = retrieval; fTreeViewer.setInput(fRetrieval); @@ -269,79 +274,85 @@ public class MemoryBlocksTreeViewPane implements ISelectionListener, ISelectionC } } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextEvent(org.eclipse.debug.internal.ui.contexts.provisional.DebugContextEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener + * #contextEvent(org.eclipse.debug.internal.ui.contexts.provisional. + * DebugContextEvent) */ + @Override public void debugContextChanged(DebugContextEvent event) { if ((event.getFlags() & DebugContextEvent.ACTIVATED) > 0) { contextActivated(event.getContext()); } } } - - public MemoryBlocksTreeViewPane(IViewPart parent) - { + + public MemoryBlocksTreeViewPane(IViewPart parent) { fParent = parent; fSelectionProvider = new ViewPaneSelectionProvider(); } - - public Control createViewPane(Composite parent, String paneId, String label) - { + + @Override + public Control createViewPane(Composite parent, String paneId, String label) { fPaneId = paneId; int style = SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.VIRTUAL; fLabel = label; - + IMemoryRenderingSite site = getMemoryRenderingSite(); fPresentationContext = new MemoryViewPresentationContext(site, this, null); fTreeViewer = new MemoryViewTreeViewer(parent, style, fPresentationContext); - + IAdaptable context = DebugUITools.getPartDebugContext(fParent.getSite()); IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(context); - if (retrieval != null) + if (retrieval != null) { fTreeViewer.setInput(retrieval); - + } + fRetrieval = retrieval; - + fParent.getViewSite().getSelectionProvider().addSelectionChangedListener(this); fParent.getViewSite().getPage().addSelectionListener(this); - + fDebugContextListener = new TreeViewPaneContextListener(); DebugUITools.addPartDebugContextListener(fParent.getSite(), fDebugContextListener); - + fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() { + @Override public void selectionChanged(SelectionChangedEvent event) { ISelection treeSelected = event.getSelection(); fSelectionProvider.setSelection(treeSelected); - }}); + } + }); updateRetrieval(); fEvtHandler = new ViewPaneEventHandler(); - + // create context menu MenuManager mgr = createContextMenuManager(); Menu menu = mgr.createContextMenu(fTreeViewer.getControl()); fTreeViewer.getControl().setMenu(menu); - + GridData data = new GridData(); data.grabExcessHorizontalSpace = true; data.grabExcessVerticalSpace = true; data.horizontalAlignment = SWT.FILL; data.verticalAlignment = SWT.FILL; fTreeViewer.getControl().setLayoutData(data); - + updateActionsEnablement(); - + return fTreeViewer.getControl(); } - - + /** * */ private void updateRetrieval() { - + Object context = DebugUITools.getPartDebugContext(fParent.getSite()); fRetrieval = MemoryViewUtil.getMemoryBlockRetrieval(context); } @@ -350,6 +361,7 @@ public class MemoryBlocksTreeViewPane implements ISelectionListener, ISelectionC MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { + @Override public void menuAboutToShow(IMenuManager manager) { manager.add(fAddMemoryBlockAction); manager.add(fRemoveMemoryBlockAction); @@ -361,212 +373,238 @@ public class MemoryBlocksTreeViewPane implements ISelectionListener, ISelectionC fParent.getSite().registerContextMenu(getId(), menuMgr, fSelectionProvider); return menuMgr; } - - public void dispose() - { + + @Override + public void dispose() { fParent.getViewSite().getSelectionProvider().removeSelectionChangedListener(this); - fParent.getViewSite().getPage().removeSelectionListener(this); + fParent.getViewSite().getPage().removeSelectionListener(this); fAddMemoryBlockAction.dispose(); DebugUITools.removePartDebugContextListener(fParent.getSite(), fDebugContextListener); - fEvtHandler.dispose(); - fPresentationContext.dispose(); + fEvtHandler.dispose(); + fPresentationContext.dispose(); } - /* (non-Javadoc) - * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection) + /* + * (non-Javadoc) + * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui. + * IWorkbenchPart, org.eclipse.jface.viewers.ISelection) */ + @Override public void selectionChanged(IWorkbenchPart part, ISelection selection) { - + if (selection instanceof IStructuredSelection) { + Object obj = ((IStructuredSelection) selection).getFirstElement(); - if (selection instanceof IStructuredSelection) - { - Object obj = ((IStructuredSelection)selection).getFirstElement(); - - if (obj instanceof IMemoryBlock) - { + if (obj instanceof IMemoryBlock) { // if the selection event comes from this view - if (part == fParent) - { - // do not change selection if the selection is already correct + if (part == fParent) { + // do not change selection if the selection is already + // correct ISelection treeSel = fTreeViewer.getSelection(); - if (treeSel instanceof IStructuredSelection) - { - if (((IStructuredSelection)treeSel).getFirstElement() == obj) + if (treeSel instanceof IStructuredSelection) { + if (((IStructuredSelection) treeSel).getFirstElement() == obj) { return; + } } - // remove itself as selection listener when handling selection changed event + // remove itself as selection listener when handling + // selection changed event removeSelctionListener(this); fTreeViewer.setSelection(selection); - // remove itself as selection listener when handling selection changed event + // remove itself as selection listener when handling + // selection changed event addSelectionListener(this); } } } - - } + } - - public String getId() - { + @Override + public String getId() { return fPaneId; } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#getActions() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#getActions() */ + @Override public IAction[] getActions() { - - if (fAddMemoryBlockAction == null) - fAddMemoryBlockAction = new RetargetAddMemoryBlockAction((IMemoryRenderingSite)fParent); - - if (fRemoveMemoryBlockAction == null) - { + + if (fAddMemoryBlockAction == null) { + fAddMemoryBlockAction = new RetargetAddMemoryBlockAction((IMemoryRenderingSite) fParent); + } + + if (fRemoveMemoryBlockAction == null) { fRemoveMemoryBlockAction = new TreeViewerRemoveMemoryBlocksAction(); } - - if (fRemoveAllMemoryBlocksAction == null) - { + + if (fRemoveAllMemoryBlocksAction == null) { fRemoveAllMemoryBlocksAction = new TreeViewerRemoveAllMemoryBlocksAction(); } - + updateActionsEnablement(); - - return new IAction[]{fAddMemoryBlockAction, fRemoveMemoryBlockAction, fRemoveAllMemoryBlocksAction}; + + return new IAction[] { + fAddMemoryBlockAction, fRemoveMemoryBlockAction, + fRemoveAllMemoryBlocksAction }; } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#addSelectionListener(org.eclipse.jface.viewers.ISelectionChangedListener) + /* + * (non-Javadoc) + * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane# + * addSelectionListener(org.eclipse.jface.viewers.ISelectionChangedListener) */ - public void addSelectionListener(ISelectionChangedListener listener) - { - if (fSelectionProvider == null) + @Override + public void addSelectionListener(ISelectionChangedListener listener) { + if (fSelectionProvider == null) { fSelectionProvider = new ViewPaneSelectionProvider(); - + } + fSelectionProvider.addSelectionChangedListener(listener); } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#removeSelctionListener(org.eclipse.jface.viewers.ISelectionChangedListener) + + /* + * (non-Javadoc) + * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane# + * removeSelctionListener + * (org.eclipse.jface.viewers.ISelectionChangedListener) */ - public void removeSelctionListener(ISelectionChangedListener listener) - { - if (fSelectionProvider == null) + @Override + public void removeSelctionListener(ISelectionChangedListener listener) { + if (fSelectionProvider == null) { return; - + } + fSelectionProvider.removeSelectionChangedListener(listener); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#getSelectionProvider() + /* + * (non-Javadoc) + * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane# + * getSelectionProvider() */ + @Override public ISelectionProvider getSelectionProvider() { return fSelectionProvider; } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#restoreViewPane() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#restoreViewPane + * () */ + @Override public void restoreViewPane() { updateRetrieval(); updateActionsEnablement(); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#getControl() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#getControl() */ + @Override public Control getControl() { return fTreeViewer.getControl(); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#setVisible(boolean) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#setVisible + * (boolean) */ + @Override public void setVisible(boolean visible) { - if (fVisible != visible) - { + if (fVisible != visible) { fVisible = visible; - - if(fVisible) - { + + if (fVisible) { fTreeViewer.refresh(); fTreeViewer.getControl().setFocus(); } } } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#isVisible() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMemoryViewPane#isVisible() */ + @Override public boolean isVisible() { return fVisible; } - - private void updateActionsEnablement() - { - if (fRemoveMemoryBlockAction == null) + + private void updateActionsEnablement() { + if (fRemoveMemoryBlockAction == null) { return; - - if (fRemoveAllMemoryBlocksAction == null) + } + + if (fRemoveAllMemoryBlocksAction == null) { return; - - if (fRetrieval != null) - { + } + + if (fRetrieval != null) { IMemoryBlock[] memBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(fRetrieval); - if(memBlocks.length > 0) - { + if (memBlocks.length > 0) { fRemoveMemoryBlockAction.setEnabled(true); fRemoveAllMemoryBlocksAction.setEnabled(true); - } - else - { + } else { fRemoveMemoryBlockAction.setEnabled(false); - fRemoveAllMemoryBlocksAction.setEnabled(false); + fRemoveAllMemoryBlocksAction.setEnabled(false); } - } - else - { + } else { fRemoveMemoryBlockAction.setEnabled(false); fRemoveAllMemoryBlocksAction.setEnabled(false); } } + @Override public void selectionChanged(SelectionChangedEvent event) { // only handle selection changed from parent's selection provider - if (event.getSource() == fParent.getSite().getSelectionProvider()) - { + if (event.getSource() == fParent.getSite().getSelectionProvider()) { MemoryBlocksTreeViewPane.this.selectionChanged(fParent, event.getSelection()); } } - - public StructuredViewer getViewer() - { + + public StructuredViewer getViewer() { return fTreeViewer; } + @Override public IMemoryRenderingSite getMemoryRenderingSite() { - if (fParent instanceof IMemoryRenderingSite) - return (IMemoryRenderingSite)fParent; + if (fParent instanceof IMemoryRenderingSite) { + return (IMemoryRenderingSite) fParent; + } return null; } + @Override public void addMemoryRendering(IMemoryRendering rendering) { // do nothing } + @Override public void removeMemoryRendering(IMemoryRendering rendering) { // do nothing } + @Override public IMemoryRendering[] getRenderings() { return new IMemoryRendering[0]; } + @Override public IMemoryRendering getActiveRendering() { return null; } + @Override public String getLabel() { return fLabel; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java index d6001e865..6fbf1344d 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java @@ -77,34 +77,37 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { protected MemoryViewSelectionProvider fSelectionProvider; private MemoryViewPartListener fPartListener; - + private SashForm fSashForm; - private Hashtable fViewPanes = new Hashtable(); - private Hashtable fViewPaneControls = new Hashtable(); - private ArrayList fVisibleViewPanes = new ArrayList(); + private Hashtable<String, IMemoryViewPane> fViewPanes = new Hashtable<String, IMemoryViewPane>(); + private Hashtable<String, ViewForm> fViewPaneControls = new Hashtable<String, ViewForm>(); + private ArrayList<String> fVisibleViewPanes = new ArrayList<String>(); private boolean fVisible; - - private ArrayList fWeights = new ArrayList(); - - private static final String VISIBILITY_PREF = IDebugUIConstants.ID_MEMORY_VIEW+".viewPanesVisibility"; //$NON-NLS-1$ + + private ArrayList<Integer> fWeights = new ArrayList<Integer>(); + + private static final String VISIBILITY_PREF = IDebugUIConstants.ID_MEMORY_VIEW + ".viewPanesVisibility"; //$NON-NLS-1$ private static final String ID_MEMORY_VIEW_CONTEXT = "org.eclipse.debug.ui.memoryview"; //$NON-NLS-1$ private static final String ID_ADD_MEMORY_BLOCK_COMMAND = "org.eclipse.debug.ui.commands.addMemoryMonitor"; //$NON-NLS-1$ private static final String ID_TOGGLE_MEMORY_MONITORS_PANE_COMMAND = "org.eclipse.debug.ui.commands.toggleMemoryMonitorsPane"; //$NON-NLS-1$ private static final String ID_NEXT_MEMORY_BLOCK_COMMAND = "org.eclipse.debug.ui.commands.nextMemoryBlock"; //$NON-NLS-1$ private static final String ID_NEW_RENDERING_COMMAND = "org.eclipse.debug.ui.commands.newRendering"; //$NON-NLS-1$ private static final String ID_CLOSE_RENDERING_COMMAND = "org.eclipse.debug.ui.commands.closeRendering"; //$NON-NLS-1$ - - public static final String VIEW_PANE_ORIENTATION_PREF = IDebugUIConstants.ID_MEMORY_VIEW+".orientation"; //$NON-NLS-1$ + + public static final String VIEW_PANE_ORIENTATION_PREF = IDebugUIConstants.ID_MEMORY_VIEW + ".orientation"; //$NON-NLS-1$ public static final int HORIZONTAL_VIEW_ORIENTATION = 0; - public static final int VERTICAL_VIEW_ORIENTATION =1; + public static final int VERTICAL_VIEW_ORIENTATION = 1; + + private String[] defaultVisiblePaneIds = { + MemoryBlocksTreeViewPane.PANE_ID, + IDebugUIConstants.ID_RENDERING_VIEW_PANE_1 }; - private String[] defaultVisiblePaneIds ={MemoryBlocksTreeViewPane.PANE_ID, IDebugUIConstants.ID_RENDERING_VIEW_PANE_1}; - private MemoryBlocksTreeViewPane fMemBlkViewer; - + private MemoryViewSynchronizationService fSyncService; - - private boolean fPinMBDisplay = false; // pin memory block display, on by default + + private boolean fPinMBDisplay = false; // pin memory block display, on by + // default private static int fViewCnt = 0; private AbstractHandler fAddHandler; @@ -112,231 +115,253 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { private AbstractHandler fNextMemoryBlockHandler; private AbstractHandler fNewRenderingHandler; private AbstractHandler fCloseRenderingHandler; - + private ViewPaneOrientationAction[] fOrientationActions; private int fViewOrientation = HORIZONTAL_VIEW_ORIENTATION; - + private String fActivePaneId; - - class MemoryViewSelectionProvider implements ISelectionProvider, ISelectionChangedListener - { - ArrayList fListeners = new ArrayList(); - + + class MemoryViewSelectionProvider implements ISelectionProvider, ISelectionChangedListener { + ArrayList<ISelectionChangedListener> fListeners = new ArrayList<ISelectionChangedListener>(); + IStructuredSelection fSelections = new StructuredSelection(); - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener + * (org.eclipse.jface.viewers.ISelectionChangedListener) */ - public void addSelectionChangedListener(ISelectionChangedListener listener) - { + @Override + public void addSelectionChangedListener(ISelectionChangedListener listener) { if (!fListeners.contains(listener)) fListeners.add(listener); - + } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection() */ - public ISelection getSelection() - { + @Override + public ISelection getSelection() { return fSelections; } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) + /* + * (non-Javadoc) + * @see org.eclipse.jface.viewers.ISelectionProvider# + * removeSelectionChangedListener + * (org.eclipse.jface.viewers.ISelectionChangedListener) */ - public void removeSelectionChangedListener(ISelectionChangedListener listener) - { + @Override + public void removeSelectionChangedListener(ISelectionChangedListener listener) { if (fListeners.contains(listener)) fListeners.remove(listener); - + } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse + * .jface.viewers.ISelection) */ - public void setSelection(ISelection selection) - { - if (selection instanceof IStructuredSelection) - { + @Override + public void setSelection(ISelection selection) { + if (selection instanceof IStructuredSelection) { boolean fireChanged = false; - + // only fire change event if the selection has really changed - if (fSelections.getFirstElement() != ((IStructuredSelection)selection).getFirstElement()) + if (fSelections.getFirstElement() != ((IStructuredSelection) selection).getFirstElement()) fireChanged = true; - fSelections = (IStructuredSelection)selection; - + fSelections = (IStructuredSelection) selection; + if (fireChanged) fireChanged(); } } - - public void fireChanged() - { + + public void fireChanged() { SelectionChangedEvent evt = new SelectionChangedEvent(this, getSelection()); - for (int i=0; i<fListeners.size(); i++) - { - ((ISelectionChangedListener)fListeners.get(i)).selectionChanged(evt); + for (int i = 0; i < fListeners.size(); i++) { + fListeners.get(i).selectionChanged(evt); } } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged + * (org.eclipse.jface.viewers.SelectionChangedEvent) */ + @Override public void selectionChanged(SelectionChangedEvent event) { ISelection viewPaneSelection = event.getSelection(); - - if (viewPaneSelection instanceof IStructuredSelection) - { - Object selected = ((IStructuredSelection)viewPaneSelection).getFirstElement(); - - if (selected != null) - { - StructuredSelection strucSelection = new StructuredSelection(new Object[]{selected}); + + if (viewPaneSelection instanceof IStructuredSelection) { + Object selected = ((IStructuredSelection) viewPaneSelection).getFirstElement(); + + if (selected != null) { + StructuredSelection strucSelection = new StructuredSelection(new Object[] { selected }); setSelection(strucSelection); - } - else - { + } else { setSelection(viewPaneSelection); } } } } - - class MemoryViewPartListener implements IPartListener2 - { + + class MemoryViewPartListener implements IPartListener2 { IMemoryRenderingSite fView = null; - - public MemoryViewPartListener(IMemoryRenderingSite view) - { + + public MemoryViewPartListener(IMemoryRenderingSite view) { fView = view; } - /* (non-Javadoc) - * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference) + /* + * (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui. + * IWorkbenchPartReference) */ + @Override public void partActivated(IWorkbenchPartReference ref) { } - /* (non-Javadoc) - * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference) + /* + * (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui. + * IWorkbenchPartReference) */ + @Override public void partBroughtToTop(IWorkbenchPartReference ref) { } - /* (non-Javadoc) - * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference) + /* + * (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui. + * IWorkbenchPartReference) */ + @Override public void partClosed(IWorkbenchPartReference ref) { } - /* (non-Javadoc) - * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference) + /* + * (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui. + * IWorkbenchPartReference) */ + @Override public void partDeactivated(IWorkbenchPartReference ref) { } - /* (non-Javadoc) - * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference) + /* + * (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui. + * IWorkbenchPartReference) */ + @Override public void partHidden(IWorkbenchPartReference ref) { - + IWorkbenchPart part = ref.getPart(false); - - if (part == fView) - { + + if (part == fView) { setVisible(false); } } - /* (non-Javadoc) - * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference) + /* + * (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui. + * IWorkbenchPartReference) */ + @Override public void partVisible(IWorkbenchPartReference ref) { IWorkbenchPart part = ref.getPart(false); - - if (part == fView) - { + + if (part == fView) { setVisible(true); restoreView(); } } - /* (non-Javadoc) - * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference) + /* + * (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui. + * IWorkbenchPartReference) */ + @Override public void partInputChanged(IWorkbenchPartReference ref) { } - public void partOpened(IWorkbenchPartReference ref) - { + @Override + public void partOpened(IWorkbenchPartReference ref) { } } - + + @Override public void init(IViewSite site) throws PartInitException { super.init(site); - - fViewCnt ++; + + fViewCnt++; String secondaryId = site.getSecondaryId(); if (secondaryId != null) MemoryViewIdRegistry.registerView(secondaryId); - + // only do this the first time // not sure if there is a bug in the UI... if the view is // not a primary view and if it's hidden, the view is not // init and created until it becomes visible. - if (fViewCnt == 1) - { + if (fViewCnt == 1) { // also try to find other views and register - if (DebugUIPlugin.getActiveWorkbenchWindow() != null && - DebugUIPlugin.getActiveWorkbenchWindow().getActivePage() != null) - { + if (DebugUIPlugin.getActiveWorkbenchWindow() != null && DebugUIPlugin.getActiveWorkbenchWindow().getActivePage() != null) { IViewReference references[] = DebugUIPlugin.getActiveWorkbenchWindow().getActivePage().getViewReferences(); - for (int i=0; i<references.length; i++) - { - if (references[i].getSecondaryId() != null) - { + for (int i = 0; i < references.length; i++) { + if (references[i].getSecondaryId() != null) { MemoryViewIdRegistry.registerView(references[i].getSecondaryId()); } } } } - + fSyncService = new MemoryViewSynchronizationService(); } - - /* (non-Javadoc) - * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) + + /* + * (non-Javadoc) + * @see + * org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets + * .Composite) */ + @Override public void createPartControl(Composite parent) { fSashForm = new SashForm(parent, SWT.HORIZONTAL); - + fSelectionProvider = new MemoryViewSelectionProvider(); - + // set up selection provider and listeners getSite().setSelectionProvider(fSelectionProvider); createMemoryBlocksTreeViewPane(fSashForm); createRenderingViewPane(IDebugUIConstants.ID_RENDERING_VIEW_PANE_1); createRenderingViewPane(IDebugUIConstants.ID_RENDERING_VIEW_PANE_2); - + setVisible(true); - + // set up weights in sashform - Integer[] weights = (Integer[])fWeights.toArray(new Integer[fWeights.size()]); + Integer[] weights = fWeights.toArray(new Integer[fWeights.size()]); int[] intWeights = new int[weights.length]; - for (int i=0; i<weights.length; i++) - { + for (int i = 0; i < weights.length; i++) { intWeights[i] = weights[i].intValue(); } fSashForm.setWeights(intWeights); loadViewPanesVisibility(); - + createOrientationActions(); loadOrientation(); - + fPartListener = new MemoryViewPartListener(this); getSite().getPage().addPartListener(fPartListener); activateHandlers(); @@ -344,45 +369,45 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { restoreView(); } - - public void activateHandlers() { - ICommandService commandSupport = (ICommandService)getSite().getService(ICommandService.class); - IHandlerService handlerService = (IHandlerService)getSite().getService(IHandlerService.class); - IContextService contextSupport = (IContextService)getSite().getService(IContextService.class); - - if (commandSupport != null && handlerService != null && contextSupport != null) - { + public void activateHandlers() { + ICommandService commandSupport = (ICommandService) getSite().getService(ICommandService.class); + IHandlerService handlerService = (IHandlerService) getSite().getService(IHandlerService.class); + IContextService contextSupport = (IContextService) getSite().getService(IContextService.class); + + if (commandSupport != null && handlerService != null && contextSupport != null) { contextSupport.activateContext(ID_MEMORY_VIEW_CONTEXT); - + fAddHandler = new AbstractHandler() { - public Object execute(ExecutionEvent event) throws ExecutionException { - IAdaptable context = DebugUITools.getPartDebugContext(getSite()); - if (context != null && MemoryViewUtil.isValidSelection(new StructuredSelection(context))) - { - RetargetAddMemoryBlockAction action = new RetargetAddMemoryBlockAction(MemoryView.this); - action.run(); - action.dispose(); - } - return null; - }}; - handlerService.activateHandler(ID_ADD_MEMORY_BLOCK_COMMAND, fAddHandler); - - fToggleMonitorsHandler = new AbstractHandler() { - public Object execute(ExecutionEvent event) throws ExecutionException { - ToggleMemoryMonitorsAction action = new ToggleMemoryMonitorsAction(); - action.init(MemoryView.this); + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + IAdaptable context = DebugUITools.getPartDebugContext(getSite()); + if (context != null && MemoryViewUtil.isValidSelection(new StructuredSelection(context))) { + RetargetAddMemoryBlockAction action = new RetargetAddMemoryBlockAction(MemoryView.this); action.run(); action.dispose(); - return null; } - }; - + return null; + } + }; + handlerService.activateHandler(ID_ADD_MEMORY_BLOCK_COMMAND, fAddHandler); + + fToggleMonitorsHandler = new AbstractHandler() { + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + ToggleMemoryMonitorsAction action = new ToggleMemoryMonitorsAction(); + action.init(MemoryView.this); + action.run(); + action.dispose(); + return null; + } + }; + handlerService.activateHandler(ID_TOGGLE_MEMORY_MONITORS_PANE_COMMAND, fToggleMonitorsHandler); - + fNextMemoryBlockHandler = new AbstractHandler() { - public Object execute(ExecutionEvent event) - throws ExecutionException { + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { SwitchMemoryBlockAction action = new SwitchMemoryBlockAction(); action.init(MemoryView.this); action.run(); @@ -391,22 +416,20 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { } }; handlerService.activateHandler(ID_NEXT_MEMORY_BLOCK_COMMAND, fNextMemoryBlockHandler); - + fCloseRenderingHandler = new AbstractHandler() { - public Object execute(ExecutionEvent event) - throws ExecutionException { - + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + IMemoryRenderingContainer container = getContainer(fActivePaneId); - if (container != null) - { + if (container != null) { if (container instanceof RenderingViewPane) { if (!((RenderingViewPane) container).canRemoveRendering()) return null; } IMemoryRendering activeRendering = container.getActiveRendering(); - if (activeRendering != null) - { + if (activeRendering != null) { container.removeMemoryRendering(activeRendering); } } @@ -415,17 +438,16 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { } }; handlerService.activateHandler(ID_CLOSE_RENDERING_COMMAND, fCloseRenderingHandler); - + fNewRenderingHandler = new AbstractHandler() { - public Object execute(ExecutionEvent event) - throws ExecutionException { + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + + IMemoryRenderingContainer container = getContainer(fActivePaneId); - IMemoryRenderingContainer container = getContainer(fActivePaneId); - - if (container != null && container instanceof RenderingViewPane) - { - RenderingViewPane pane = (RenderingViewPane)container; + if (container != null && container instanceof RenderingViewPane) { + RenderingViewPane pane = (RenderingViewPane) container; if (pane.canAddRendering()) pane.showCreateRenderingTab(); } @@ -434,46 +456,47 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { }; handlerService.activateHandler(ID_NEW_RENDERING_COMMAND, fNewRenderingHandler); } - } - + } + /** * */ private void createMemoryBlocksTreeViewPane(Composite parent) { - + fMemBlkViewer = new MemoryBlocksTreeViewPane(this); fViewPanes.put(MemoryBlocksTreeViewPane.PANE_ID, fMemBlkViewer); ViewForm viewerViewForm = new ViewForm(parent, SWT.NONE); PlatformUI.getWorkbench().getHelpSystem().setHelp(viewerViewForm, IDebugUIConstants.PLUGIN_ID + ".MemoryView_context"); //$NON-NLS-1$ fViewPaneControls.put(MemoryBlocksTreeViewPane.PANE_ID, viewerViewForm); fWeights.add(new Integer(15)); - + fMemBlkViewer.addSelectionListener(fSelectionProvider); - + Control viewerControl = fMemBlkViewer.createViewPane(viewerViewForm, MemoryBlocksTreeViewPane.PANE_ID, DebugUIMessages.MemoryView_Memory_monitors); viewerViewForm.setContent(viewerControl); - + ISelection selection = fMemBlkViewer.getSelectionProvider().getSelection(); if (selection != null) - fSelectionProvider.setSelection(selection); + fSelectionProvider.setSelection(selection); - ToolBarManager viewerToolBarMgr = new ToolBarManager(SWT.FLAT); + ToolBarManager viewerToolBarMgr = new ToolBarManager(SWT.FLAT); IAction[] actions = fMemBlkViewer.getActions(); - for (int i=0; i<actions.length; i++) - { + for (int i = 0; i < actions.length; i++) { viewerToolBarMgr.add(actions[i]); } ToolBar viewerToolbar = viewerToolBarMgr.createControl(viewerViewForm); viewerViewForm.setTopRight(viewerToolbar); - + Label viewerLabel = new Label(viewerViewForm, SWT.WRAP); - viewerLabel.setText(DebugUIMessages.MemoryView_Memory_monitors); + viewerLabel.setText(DebugUIMessages.MemoryView_Memory_monitors); viewerViewForm.setTopLeft(viewerLabel); - + fMemBlkViewer.getControl().addFocusListener(new FocusAdapter() { + @Override public void focusGained(FocusEvent e) { fActivePaneId = fMemBlkViewer.getId(); - }}); + } + }); } /** @@ -482,11 +505,14 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { */ private Listener createDeactivateListener(final IMemoryViewPane viewPane) { Listener deactivateListener = new Listener() { - private String id=viewPane.getId(); + private String id = viewPane.getId(); + + @Override public void handleEvent(Event event) { if (fActivePaneId.equals(id)) viewPane.removeSelctionListener(fSelectionProvider); - }}; + } + }; return deactivateListener; } @@ -495,12 +521,15 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { */ private Listener createActivateListener(final IMemoryViewPane viewPane) { Listener activateListener = new Listener() { - private String id=viewPane.getId(); + private String id = viewPane.getId(); + + @Override public void handleEvent(Event event) { fActivePaneId = id; viewPane.addSelectionListener(fSelectionProvider); fSelectionProvider.setSelection(viewPane.getSelectionProvider().getSelection()); - }}; + } + }; return activateListener; } @@ -508,167 +537,174 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { * */ public void createRenderingViewPane(final String paneId) { - final RenderingViewPane renderingPane = new RenderingViewPane(this); + final RenderingViewPane renderingPane = new RenderingViewPane(this); fViewPanes.put(paneId, renderingPane); ViewForm renderingViewForm = new ViewForm(fSashForm, SWT.NONE); fViewPaneControls.put(paneId, renderingViewForm); fWeights.add(new Integer(40)); - + Control renderingControl = renderingPane.createViewPane(renderingViewForm, paneId, DebugUIMessages.MemoryView_Memory_renderings, true, true); PlatformUI.getWorkbench().getHelpSystem().setHelp(renderingControl, IDebugUIConstants.PLUGIN_ID + ".MemoryView_context"); //$NON-NLS-1$ renderingViewForm.setContent(renderingControl); - + Listener renderingActivateListener = createActivateListener(renderingPane); renderingControl.addListener(SWT.Activate, renderingActivateListener); - + Listener renderingDeactivateListener = createDeactivateListener(renderingPane); renderingControl.addListener(SWT.Deactivate, renderingDeactivateListener); } - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.ui.part.WorkbenchPart#setFocus() */ + @Override public void setFocus() { if (fActivePaneId == null) fActivePaneId = fMemBlkViewer.getId(); - + IMemoryViewPane pane = getViewPane(fActivePaneId); pane.getControl().setFocus(); } - + + @Override public void dispose() { - getSite().getPage().removePartListener(fPartListener); - - Enumeration enumeration = fViewPanes.elements(); - while (enumeration.hasMoreElements()) - { + getSite().getPage().removePartListener(fPartListener); + + Enumeration<IMemoryViewPane> enumeration = fViewPanes.elements(); + while (enumeration.hasMoreElements()) { Object element = enumeration.nextElement(); - if (element instanceof IMemoryViewPane) - { - ((IMemoryViewPane)element).dispose(); + if (element instanceof IMemoryViewPane) { + ((IMemoryViewPane) element).dispose(); } } - + fViewPaneControls.clear(); - + IViewSite viewSite = getViewSite(); String secondaryId = viewSite.getSecondaryId(); if (secondaryId != null) MemoryViewIdRegistry.deregisterView(secondaryId); - + fSyncService.shutdown(); - + if (fAddHandler != null) fAddHandler.dispose(); - + if (fToggleMonitorsHandler != null) fToggleMonitorsHandler.dispose(); - + if (fNextMemoryBlockHandler != null) fNextMemoryBlockHandler.dispose(); - + super.dispose(); } - - private void setVisible(boolean visible) - { + + private void setVisible(boolean visible) { IMemoryViewPane[] viewPanes = getViewPanes(); - - for (int i=0; i<viewPanes.length; i++) - { + + for (int i = 0; i < viewPanes.length; i++) { // if currently visible, take view pane's visibility into account // else force view pane to be visible if it is listed in // "visible view panes" array list. if (fVisible) viewPanes[i].setVisible(visible && viewPanes[i].isVisible()); - else - { + else { if (isViewPaneVisible(viewPanes[i].getId())) viewPanes[i].setVisible(visible); - } + } } - + fVisible = visible; } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView#getViewPane(java.lang.String) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView#getViewPane + * (java.lang.String) */ public IMemoryViewPane getViewPane(String paneId) { - return (IMemoryViewPane)fViewPanes.get(paneId); - } + return fViewPanes.get(paneId); + } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView#getViewPanes() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView#getViewPanes + * () */ public IMemoryViewPane[] getViewPanes() { IMemoryViewPane[] viewPanes = new IMemoryViewPane[fViewPanes.size()]; - Enumeration enumeration = fViewPanes.elements(); - int i=0; - while (enumeration.hasMoreElements()) - { - viewPanes[i] = (IMemoryViewPane)enumeration.nextElement(); + Enumeration<IMemoryViewPane> enumeration = fViewPanes.elements(); + int i = 0; + while (enumeration.hasMoreElements()) { + viewPanes[i] = enumeration.nextElement(); i++; } - + return viewPanes; } - + /** - * Restore each view pane from the memory view based on current - * debug selection + * Restore each view pane from the memory view based on current debug + * selection */ private void restoreView() { IMemoryViewPane[] viewPanes = getViewPanes(); - for (int i=0; i<viewPanes.length; i++) - { + for (int i = 0; i < viewPanes.length; i++) { viewPanes[i].restoreViewPane(); } } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView#showViewPane(boolean, java.lang.String) + + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView#showViewPane + * (boolean, java.lang.String) */ public void showViewPane(boolean show, String paneId) { - - Control viewPaneControl = (Control)fViewPaneControls.get(paneId); - - if (viewPaneControl != null) - { + + Control viewPaneControl = fViewPaneControls.get(paneId); + + if (viewPaneControl != null) { Control children[] = fSashForm.getChildren(); - - for (int i=0; i<children.length; i++) - { - if (children[i] == viewPaneControl) - { + + for (int i = 0; i < children.length; i++) { + if (children[i] == viewPaneControl) { children[i].setVisible(show); - IMemoryViewPane viewPane = (IMemoryViewPane)fViewPanes.get(paneId); + IMemoryViewPane viewPane = fViewPanes.get(paneId); if (viewPane != null) viewPane.setVisible(show); } } fSashForm.layout(); } - + storeViewPaneVisibility(); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView#isViewPaneVisible(java.lang.String) + + /* + * (non-Javadoc) + * @see org.eclipse.debug.internal.ui.views.memory.IMultipaneMemoryView# + * isViewPaneVisible(java.lang.String) */ public boolean isViewPaneVisible(String paneId) { return fVisibleViewPanes.contains(paneId); } - - private void storeViewPaneVisibility() { + + private void storeViewPaneVisibility() { fVisibleViewPanes.clear(); - StringBuffer visibleViewPanes= new StringBuffer(); - - Enumeration enumeration = fViewPaneControls.keys(); - + StringBuffer visibleViewPanes = new StringBuffer(); + + Enumeration<String> enumeration = fViewPaneControls.keys(); + while (enumeration.hasMoreElements()) { - String paneId = (String)enumeration.nextElement(); - - Control control = (Control)fViewPaneControls.get(paneId); + String paneId = enumeration.nextElement(); + + Control control = fViewPaneControls.get(paneId); if (control.isVisible()) { visibleViewPanes.append(paneId); visibleViewPanes.append(","); //$NON-NLS-1$ @@ -676,7 +712,7 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { } } IEclipsePreferences node = InstanceScope.INSTANCE.getNode(DebugUIPlugin.getUniqueIdentifier()); - if(node != null) { + if (node != null) { try { node.put(getVisibilityPrefId(), visibleViewPanes.toString()); node.flush(); @@ -685,66 +721,53 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { } } } - + private void loadViewPanesVisibility() { - String visiblePanes = Platform.getPreferencesService().getString( - DebugUIPlugin.getUniqueIdentifier(), - getVisibilityPrefId(), - null, - null); - + String visiblePanes = Platform.getPreferencesService().getString(DebugUIPlugin.getUniqueIdentifier(), getVisibilityPrefId(), null, null); + if (visiblePanes != null && visiblePanes.length() > 0) { StringTokenizer tokenizer = new StringTokenizer(visiblePanes, ","); //$NON-NLS-1$ - while (tokenizer.hasMoreTokens()) - { + while (tokenizer.hasMoreTokens()) { String paneId = tokenizer.nextToken(); fVisibleViewPanes.add(paneId); } - } - else { - for (int i=0 ;i<defaultVisiblePaneIds.length; i++) - { + } else { + for (int i = 0; i < defaultVisiblePaneIds.length; i++) { fVisibleViewPanes.add(defaultVisiblePaneIds[i]); } } - - Enumeration enumeration = fViewPaneControls.keys(); - while (enumeration.hasMoreElements()) - { - String paneId = (String)enumeration.nextElement(); + + Enumeration<String> enumeration = fViewPaneControls.keys(); + while (enumeration.hasMoreElements()) { + String paneId = enumeration.nextElement(); boolean visible = false; - if(fVisibleViewPanes.contains(paneId)) + if (fVisibleViewPanes.contains(paneId)) visible = true; - - Control control = (Control)fViewPaneControls.get(paneId); + + Control control = fViewPaneControls.get(paneId); control.setVisible(visible); - - IMemoryViewPane viewPane = (IMemoryViewPane)fViewPanes.get(paneId); + + IMemoryViewPane viewPane = fViewPanes.get(paneId); viewPane.setVisible(visible); } - + fSashForm.layout(); } - + private void loadOrientation() { - fViewOrientation = Platform.getPreferencesService().getInt( - DebugUIPlugin.getUniqueIdentifier(), - getOrientationPrefId(), - HORIZONTAL_VIEW_ORIENTATION, - null); - - for (int i=0; i<fOrientationActions.length; i++) { - if (fOrientationActions[i].getOrientation() == fViewOrientation) - { + fViewOrientation = Platform.getPreferencesService().getInt(DebugUIPlugin.getUniqueIdentifier(), getOrientationPrefId(), HORIZONTAL_VIEW_ORIENTATION, null); + + for (int i = 0; i < fOrientationActions.length; i++) { + if (fOrientationActions[i].getOrientation() == fViewOrientation) { fOrientationActions[i].run(); } } updateOrientationActions(); } - + private void saveOrientation() { IEclipsePreferences node = InstanceScope.INSTANCE.getNode(DebugUIPlugin.getUniqueIdentifier()); - if(node != null) { + if (node != null) { try { node.putInt(getOrientationPrefId(), fViewOrientation); node.flush(); @@ -753,97 +776,100 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { } } } - - private void updateOrientationActions() - { - for (int i=0; i<fOrientationActions.length; i++) - { - if (fOrientationActions[i].getOrientation() == fViewOrientation) - { + + private void updateOrientationActions() { + for (int i = 0; i < fOrientationActions.length; i++) { + if (fOrientationActions[i].getOrientation() == fViewOrientation) { fOrientationActions[i].setChecked(true); - } - else - { + } else { fOrientationActions[i].setChecked(false); } - + } } - /* (non-Javadoc) - * @see org.eclipse.debug.ui.memory.IMemoryRenderingSite#getSynchronizationService() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.ui.memory.IMemoryRenderingSite#getSynchronizationService + * () */ + @Override public IMemoryRenderingSynchronizationService getSynchronizationService() { return fSyncService; } - /* (non-Javadoc) - * @see org.eclipse.debug.ui.memory.IMemoryRenderingSite#getMemoryRenderingContainers() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.ui.memory.IMemoryRenderingSite#getMemoryRenderingContainers + * () */ + @Override public IMemoryRenderingContainer[] getMemoryRenderingContainers() { - Enumeration enumeration = fViewPanes.elements(); - ArrayList containers = new ArrayList(); - while (enumeration.hasMoreElements()){ + Enumeration<IMemoryViewPane> enumeration = fViewPanes.elements(); + ArrayList<Object> containers = new ArrayList<Object>(); + while (enumeration.hasMoreElements()) { Object obj = enumeration.nextElement(); if (obj instanceof IMemoryRenderingContainer) containers.add(obj); } - - return (IMemoryRenderingContainer[])containers.toArray(new IMemoryRenderingContainer[containers.size()]); + + return containers.toArray(new IMemoryRenderingContainer[containers.size()]); } - /* (non-Javadoc) - * @see org.eclipse.debug.ui.memory.IMemoryRenderingSite#getContainer(java.lang.String) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.ui.memory.IMemoryRenderingSite#getContainer(java.lang + * .String) */ + @Override public IMemoryRenderingContainer getContainer(String id) { - Object viewPane = fViewPanes.get(id); - + Object viewPane = fViewPanes.get(id); + if (viewPane instanceof IMemoryRenderingContainer) - return (IMemoryRenderingContainer)viewPane; - + return (IMemoryRenderingContainer) viewPane; + return null; } public boolean isPinMBDisplay() { return fPinMBDisplay; } - public void setPinMBDisplay(boolean pinMBDisplay) { fPinMBDisplay = pinMBDisplay; } - - private String getVisibilityPrefId() - { + + private String getVisibilityPrefId() { IViewSite vs = getViewSite(); String viewId = vs.getSecondaryId(); - + if (viewId != null) return VISIBILITY_PREF + "." + viewId; //$NON-NLS-1$ return VISIBILITY_PREF; } - - private String getOrientationPrefId() - { + + private String getOrientationPrefId() { IViewSite vs = getViewSite(); String viewId = vs.getSecondaryId(); - + if (viewId != null) return VIEW_PANE_ORIENTATION_PREF + "." + viewId; //$NON-NLS-1$ return VIEW_PANE_ORIENTATION_PREF; } - - private void createOrientationActions() - { + + private void createOrientationActions() { IActionBars actionBars = getViewSite().getActionBars(); IMenuManager viewMenu = actionBars.getMenuManager(); - + fOrientationActions = new ViewPaneOrientationAction[2]; fOrientationActions[0] = new ViewPaneOrientationAction(this, HORIZONTAL_VIEW_ORIENTATION); fOrientationActions[1] = new ViewPaneOrientationAction(this, VERTICAL_VIEW_ORIENTATION); - + viewMenu.add(new Separator()); MenuManager layoutSubMenu = new MenuManager(VariablesViewMessages.VariablesView_40); layoutSubMenu.add(fOrientationActions[0]); @@ -851,24 +877,23 @@ public class MemoryView extends ViewPart implements IMemoryRenderingSite2 { viewMenu.add(layoutSubMenu); viewMenu.add(new Separator()); } - - public void setViewPanesOrientation(int orientation) - { + + public void setViewPanesOrientation(int orientation) { fViewOrientation = orientation; if (fViewOrientation == VERTICAL_VIEW_ORIENTATION) fSashForm.setOrientation(SWT.VERTICAL); else fSashForm.setOrientation(SWT.HORIZONTAL); - + saveOrientation(); updateOrientationActions(); } - - public int getViewPanesOrientation() - { + + public int getViewPanesOrientation() { return fViewOrientation; } + @Override public void setContainerVisible(String id, boolean visible) { showViewPane(visible, id); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java index f26a4901e..92c3d6686 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewIdRegistry.java @@ -14,50 +14,43 @@ import java.util.ArrayList; /** * Class for managing the secondary ids for Memory View - * + * */ -public class MemoryViewIdRegistry{ - - private static ArrayList fgRegistry; - - public static void registerView(String secondaryId) - { - ArrayList registry = getRegistry(); - - if (!registry.contains(secondaryId)) - { +public class MemoryViewIdRegistry { + + private static ArrayList<String> fgRegistry; + + public static void registerView(String secondaryId) { + ArrayList<String> registry = getRegistry(); + + if (!registry.contains(secondaryId)) { registry.add(secondaryId); } } - - public static void deregisterView(String secondaryId) - { - ArrayList registry = getRegistry(); - - if (registry.contains(secondaryId)) - { + + public static void deregisterView(String secondaryId) { + ArrayList<String> registry = getRegistry(); + + if (registry.contains(secondaryId)) { registry.remove(secondaryId); } } - - public static String getUniqueSecondaryId(String viewId) - { + + public static String getUniqueSecondaryId(String viewId) { int cnt = 0; String id = viewId + "." + cnt; //$NON-NLS-1$ - ArrayList registry = getRegistry(); - while (registry.contains(id)) - { - cnt ++; + ArrayList<String> registry = getRegistry(); + while (registry.contains(id)) { + cnt++; id = viewId + "." + cnt; //$NON-NLS-1$ } return id; } - - private static ArrayList getRegistry() - { + + private static ArrayList<String> getRegistry() { if (fgRegistry == null) - fgRegistry = new ArrayList(); - + fgRegistry = new ArrayList<String>(); + return fgRegistry; } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewPrefAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewPrefAction.java index 9b54d9fc2..8980ef6f0 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewPrefAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewPrefAction.java @@ -24,37 +24,41 @@ import org.eclipse.ui.IViewPart; public class MemoryViewPrefAction implements IViewActionDelegate { + @Override public void init(IViewPart view) { } + @Override public void run(IAction action) { - + PreferenceManager prefManager = new PreferenceManager(); - + ResetMemoryBlockPreferencePage page = new ResetMemoryBlockPreferencePage(); - IPreferenceNode node = new PreferenceNode("org.eclipse.debug.ui.memory.resetMemoryBlock", page); //$NON-NLS-1$ + IPreferenceNode node = new PreferenceNode("org.eclipse.debug.ui.memory.resetMemoryBlock", page); //$NON-NLS-1$ prefManager.addToRoot(node); - + SetPaddedStringPreferencePage page2 = new SetPaddedStringPreferencePage(); - IPreferenceNode node2 = new PreferenceNode("org.eclipse.debug.ui.memory.setPaddedString", page2); //$NON-NLS-1$ + IPreferenceNode node2 = new PreferenceNode("org.eclipse.debug.ui.memory.setPaddedString", page2); //$NON-NLS-1$ prefManager.addToRoot(node2); CodePagesPreferencePage page3 = new CodePagesPreferencePage(); - IPreferenceNode node3 = new PreferenceNode("org.eclipse.debug.ui.memory.codePages", page3); //$NON-NLS-1$ + IPreferenceNode node3 = new PreferenceNode("org.eclipse.debug.ui.memory.codePages", page3); //$NON-NLS-1$ prefManager.addToRoot(node3); - + final PreferenceDialog dialog = new PreferenceDialog(DebugUIPlugin.getShell(), prefManager); BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), new Runnable() { + @Override public void run() { dialog.create(); dialog.open(); } - }); + }); } + @Override public void selectionChanged(IAction action, ISelection selection) { } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java index c99109a02..4669b9a4a 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewSynchronizationService.java @@ -27,63 +27,59 @@ import org.eclipse.swt.widgets.Display; /** * Synchronization service for the memory view. + * * @since 3.1 */ -public class MemoryViewSynchronizationService implements - IMemoryRenderingSynchronizationService, IMemoryBlockListener, IPropertyChangeListener { +public class MemoryViewSynchronizationService implements IMemoryRenderingSynchronizationService, IMemoryBlockListener, IPropertyChangeListener { private static final int ENABLED = 0; private static final int ENABLING = 1; private static final int DISABLED = 2; - - private Hashtable fSynchronizeInfo; + + private Hashtable<IMemoryBlock, SynchronizeInfo> fSynchronizeInfo; private int fEnableState = ENABLED; - private Hashtable fPropertyListeners; - + private Hashtable<IPropertyChangeListener, PropertyListener> fPropertyListeners; + private IMemoryRendering fLastChangedRendering; private IMemoryRendering fSyncServiceProvider; private static final boolean DEBUG_SYNC_SERVICE = false; - - public MemoryViewSynchronizationService() - { - fSynchronizeInfo = new Hashtable(); - fPropertyListeners = new Hashtable(); + + public MemoryViewSynchronizationService() { + fSynchronizeInfo = new Hashtable<IMemoryBlock, SynchronizeInfo>(); + fPropertyListeners = new Hashtable<IPropertyChangeListener, PropertyListener>(); MemoryViewUtil.getMemoryBlockManager().addListener(this); } /** - * Wrapper for ISynchronizedMemoryBlockView - * Holds a list of property filters for the view. + * Wrapper for ISynchronizedMemoryBlockView Holds a list of property filters + * for the view. */ - class PropertyListener - { + class PropertyListener { IPropertyChangeListener fListener; String[] fFilters; - - public PropertyListener(IPropertyChangeListener listener, String[] properties) - { + + public PropertyListener(IPropertyChangeListener listener, String[] properties) { fListener = listener; - - if(properties != null) - { + + if (properties != null) { fFilters = properties; } } /** - * If the property matches one of the filters, the property - * is valid and the view should be notified about its change. + * If the property matches one of the filters, the property is valid and + * the view should be notified about its change. + * * @param property the property * @return if the property is specified in the filter */ - public boolean isValidProperty(String property){ - if (fFilters == null) + public boolean isValidProperty(String property) { + if (fFilters == null) { return true; - for (int i=0; i<fFilters.length; i++) - { - if (fFilters[i].equals(property)) - { + } + for (int i = 0; i < fFilters.length; i++) { + if (fFilters[i].equals(property)) { return true; } } @@ -91,11 +87,12 @@ public class MemoryViewSynchronizationService implements } /** - * Set property filters, indicating what property change events - * the listener is interested in. + * Set property filters, indicating what property change events the + * listener is interested in. + * * @param filters the property filters or <code>null</code> */ - public void setPropertyFilters(String[] filters){ + public void setPropertyFilters(String[] filters) { fFilters = filters; } @@ -106,241 +103,257 @@ public class MemoryViewSynchronizationService implements return fListener; } } - - /* (non-Javadoc) - * @see org.eclipse.debug.ui.IMemoryBlockViewSynchronizer#getSynchronizedProperty(org.eclipse.debug.ui.ISynchronizedMemoryBlockView, java.lang.String) + + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.ui.IMemoryBlockViewSynchronizer#getSynchronizedProperty + * (org.eclipse.debug.ui.ISynchronizedMemoryBlockView, java.lang.String) */ - public Object getSynchronizedProperty(IMemoryBlock memoryBlock, String propertyId) - { - SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(memoryBlock); - - if (info != null) - { + public Object getSynchronizedProperty(IMemoryBlock memoryBlock, String propertyId) { + SynchronizeInfo info = fSynchronizeInfo.get(memoryBlock); + + if (info != null) { Object value = info.getProperty(propertyId); return value; } - + return null; } - /* (non-Javadoc) - * @see org.eclipse.debug.ui.IMemoryBlockListener#MemoryBlockAdded(org.eclipse.debug.core.model.IMemoryBlock) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.ui.IMemoryBlockListener#MemoryBlockAdded(org.eclipse + * .debug.core.model.IMemoryBlock) */ + @Override public void memoryBlocksAdded(IMemoryBlock[] memoryBlocks) { // do nothing when a memory block is added // create a synchronize info object when there is a fView // tab registered to be synchronized. - - + } - /* (non-Javadoc) - * @see org.eclipse.debug.ui.IMemoryBlockListener#MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.ui.IMemoryBlockListener#MemoryBlockRemoved(org.eclipse + * .debug.core.model.IMemoryBlock) */ + @Override public void memoryBlocksRemoved(IMemoryBlock[] memoryBlocks) { - + // Sync info can be null if the service is already shut down - if (fSynchronizeInfo == null) + if (fSynchronizeInfo == null) { return; - - for (int i=0; i<memoryBlocks.length; i++) - { + } + + for (int i = 0; i < memoryBlocks.length; i++) { IMemoryBlock memory = memoryBlocks[i]; - - if (fLastChangedRendering != null && fLastChangedRendering.getMemoryBlock() == memory) + + if (fLastChangedRendering != null && fLastChangedRendering.getMemoryBlock() == memory) { fLastChangedRendering = null; - - if (fSyncServiceProvider != null && fSyncServiceProvider.getMemoryBlock() == memory) + } + + if (fSyncServiceProvider != null && fSyncServiceProvider.getMemoryBlock() == memory) { fSyncServiceProvider = null; - + } + // delete the info object and remove it from fSynchronizeInfo // when the memory block is deleted - SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(memory); - - if (info != null) - { + SynchronizeInfo info = fSynchronizeInfo.get(memory); + + if (info != null) { info.delete(); fSynchronizeInfo.remove(memory); } } } - + /** * Clean up when the plug-in is shutdown */ - public void shutdown() - { - if (fSynchronizeInfo != null) - { - Enumeration enumeration = fSynchronizeInfo.elements(); - + public void shutdown() { + if (fSynchronizeInfo != null) { + Enumeration<SynchronizeInfo> enumeration = fSynchronizeInfo.elements(); + // clean up all synchronize info objects - while (enumeration.hasMoreElements()){ - SynchronizeInfo info = (SynchronizeInfo)enumeration.nextElement(); + while (enumeration.hasMoreElements()) { + SynchronizeInfo info = enumeration.nextElement(); info.delete(); } - + fSynchronizeInfo.clear(); fSynchronizeInfo = null; } MemoryViewUtil.getMemoryBlockManager().removeListener(this); } - - - /* (non-Javadoc) - * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener, java.lang.String[]) + + /* + * (non-Javadoc) + * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService# + * addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener, + * java.lang.String[]) */ + @Override public void addPropertyChangeListener(IPropertyChangeListener listener, String[] properties) { fPropertyListeners.put(listener, new PropertyListener(listener, properties)); } - /* (non-Javadoc) - * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) + /* + * (non-Javadoc) + * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService# + * removePropertyChangeListener + * (org.eclipse.jface.util.IPropertyChangeListener) */ + @Override public void removePropertyChangeListener(IPropertyChangeListener listener) { - if (fPropertyListeners.containsKey(listener)) - { + if (fPropertyListeners.containsKey(listener)) { fPropertyListeners.remove(listener); } } - + /** * Fire property change events + * * @param evt the event to fire */ - public void firePropertyChanged(final PropertyChangeEvent evt) - { + public void firePropertyChanged(final PropertyChangeEvent evt) { // do not fire property changed event if the synchronization // service is disabled - if (fEnableState == DISABLED) + if (fEnableState == DISABLED) { return; - + } + // Make sure the synchronizer does not swallow any events // Values of the properties are updated in the syncrhonizer immediately. // Change events are queued up on the UI Thread. - Display.getDefault().syncExec(new Runnable() - { - public void run() - { - if (fSynchronizeInfo == null) + Display.getDefault().syncExec(new Runnable() { + @Override + public void run() { + if (fSynchronizeInfo == null) { return; - - IMemoryRendering rendering = (IMemoryRendering)evt.getSource(); + } + + IMemoryRendering rendering = (IMemoryRendering) evt.getSource(); String propertyId = evt.getProperty(); - - SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(rendering.getMemoryBlock()); - if (info != null) - { + + SynchronizeInfo info = fSynchronizeInfo.get(rendering.getMemoryBlock()); + if (info != null) { Object value = info.getProperty(propertyId); - if (value != null) - { - Enumeration enumeration = fPropertyListeners.elements(); - - while(enumeration.hasMoreElements()) - { - PropertyListener listener = (PropertyListener)enumeration.nextElement(); - + if (value != null) { + Enumeration<PropertyListener> enumeration = fPropertyListeners.elements(); + + while (enumeration.hasMoreElements()) { + PropertyListener listener = enumeration.nextElement(); + IPropertyChangeListener origListener = listener.getListener(); - - // if it's a valid property - valid means that it's listed in the property filters - if (listener.isValidProperty(propertyId)){ + + // if it's a valid property - valid means that it's + // listed in the property filters + if (listener.isValidProperty(propertyId)) { PropertyChangeNotifier notifier = new PropertyChangeNotifier(origListener, evt); - SafeRunner.run(notifier); + SafeRunner.run(notifier); } } } } } }); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService#getProperty(org.eclipse.debug.core.model.IMemoryBlock, java.lang.String) + } + + /* + * (non-Javadoc) + * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService# + * getProperty(org.eclipse.debug.core.model.IMemoryBlock, java.lang.String) */ + @Override public Object getProperty(IMemoryBlock block, String property) { - + // When the synchronization service is disabled // return null for all queries to properties // This is to ensure that renderings are not synchronized // to new synchronization properties when the sync service is // disabled. - if (!isEnabled()) + if (!isEnabled()) { return null; - - SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(block); - - if (info != null) + } + + SynchronizeInfo info = fSynchronizeInfo.get(block); + + if (info != null) { return info.getProperty(property); - + } + return null; } - - /* (non-Javadoc) - * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse + * .jface.util.PropertyChangeEvent) */ + @Override public void propertyChange(PropertyChangeEvent event) { - if (event == null || !(event.getSource() instanceof IMemoryRendering)) - { + if (event == null || !(event.getSource() instanceof IMemoryRendering)) { return; } - + // Do not handle any property changed event as the // sync service is being enabled. // Otherwise, current sync info provider may overwrite - // sync info unexpectedly. We want to sync with the rendering + // sync info unexpectedly. We want to sync with the rendering // that is last changed. - if (fEnableState == ENABLING) + if (fEnableState == ENABLING) { return; - - IMemoryRendering rendering = ((IMemoryRendering)event.getSource()); + } + + IMemoryRendering rendering = ((IMemoryRendering) event.getSource()); IMemoryBlock memoryBlock = rendering.getMemoryBlock(); String propertyId = event.getProperty(); Object value = event.getNewValue(); - - if (DEBUG_SYNC_SERVICE) - { + + if (DEBUG_SYNC_SERVICE) { DebugUIPlugin.trace("SYNC SERVICE RECEIVED CHANGED EVENT:"); //$NON-NLS-1$ DebugUIPlugin.trace("Source: " + rendering); //$NON-NLS-1$ DebugUIPlugin.trace("Property: " + propertyId); //$NON-NLS-1$ DebugUIPlugin.trace("Value: " + value); //$NON-NLS-1$ - - if (value instanceof BigInteger) - { - DebugUIPlugin.trace("Value in hex: " + ((BigInteger)value).toString(16)); //$NON-NLS-1$ + + if (value instanceof BigInteger) { + DebugUIPlugin.trace("Value in hex: " + ((BigInteger) value).toString(16)); //$NON-NLS-1$ } } - - if (memoryBlock == null) + + if (memoryBlock == null) { return; - - if (propertyId == null) + } + + if (propertyId == null) { return; - + } + // find the synchronize info object for the memory block - SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(memoryBlock); - + SynchronizeInfo info = fSynchronizeInfo.get(memoryBlock); + // if info is not available, need to create one to hold the property - if (info == null) - { + if (info == null) { info = new SynchronizeInfo(memoryBlock); fSynchronizeInfo.put(memoryBlock, info); } - + // get the value of the property Object oldValue = info.getProperty(propertyId); - - if (oldValue == null) - { + + if (oldValue == null) { // if the value has never been added to the info object // set the property and fire a change event info.setProperty(propertyId, value); fLastChangedRendering = rendering; firePropertyChanged(event); return; - } - else if (!oldValue.equals(value)) - { + } else if (!oldValue.equals(value)) { // if the value has changed // set the property and fire a change event info.setProperty(propertyId, value); @@ -348,60 +361,57 @@ public class MemoryViewSynchronizationService implements firePropertyChanged(event); } } - - public void setEnabled(boolean enabled) - { - if (enabled && fEnableState == ENABLED) + + public void setEnabled(boolean enabled) { + if (enabled && fEnableState == ENABLED) { return; - - if (!enabled && fEnableState == DISABLED) + } + + if (!enabled && fEnableState == DISABLED) { return; - - try - { - if (enabled) - { + } + + try { + if (enabled) { fEnableState = ENABLING; - // get sync info from the sync service provider - if (fLastChangedRendering != null) - { + // get sync info from the sync service provider + if (fLastChangedRendering != null) { IMemoryBlock memBlock = fLastChangedRendering.getMemoryBlock(); - SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(memBlock); + SynchronizeInfo info = fSynchronizeInfo.get(memBlock); String[] ids = info.getPropertyIds(); - + // stop handling property changed event while the // synchronization service is being enabled // this is to get around problem when the last changed // rendering is not currently the sync info provider - - for (int i=0; i<ids.length; i++) - { + + for (int i = 0; i < ids.length; i++) { PropertyChangeEvent evt = new PropertyChangeEvent(fLastChangedRendering, ids[i], null, info.getProperty(ids[i])); firePropertyChanged(evt); } } } - } - finally - { - if (enabled) + } finally { + if (enabled) { fEnableState = ENABLED; - else + } else { fEnableState = DISABLED; + } } } - - public boolean isEnabled() - { + + public boolean isEnabled() { return fEnableState == ENABLED; } - - /* (non-Javadoc) - * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService#setSynchronizationProvider(org.eclipse.debug.ui.memory.IMemoryRendering) + /* + * (non-Javadoc) + * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService# + * setSynchronizationProvider(org.eclipse.debug.ui.memory.IMemoryRendering) */ + @Override public void setSynchronizationProvider(IMemoryRendering rendering) { - + if (DEBUG_SYNC_SERVICE) { DebugUIPlugin.trace("SYNCHRONIZATION PROVIDER: " + rendering); //$NON-NLS-1$ } @@ -413,11 +423,13 @@ public class MemoryViewSynchronizationService implements } fSyncServiceProvider = rendering; } - - /* (non-Javadoc) - * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService#getSynchronizationProvider() + /* + * (non-Javadoc) + * @see org.eclipse.debug.ui.memory.IMemoryRenderingSynchronizationService# + * getSynchronizationProvider() */ + @Override public IMemoryRendering getSynchronizationProvider() { return fSyncServiceProvider; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java index b39cd4f10..1f7dd7c23 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java @@ -32,8 +32,9 @@ import org.eclipse.swt.widgets.Listener; import org.eclipse.ui.progress.WorkbenchJob; /** - * Represents a tab in the Memory View. This is where memory renderings - * are hosted in the Memory View. + * Represents a tab in the Memory View. This is where memory renderings are + * hosted in the Memory View. + * * @since 3.1 */ public class MemoryViewTab implements IMemoryViewTab, IPropertyChangeListener, Listener { @@ -45,42 +46,42 @@ public class MemoryViewTab implements IMemoryViewTab, IPropertyChangeListener, L private boolean fIsDisposed = false; private Control fControl; private RenderingViewPane fContainer; - - - public MemoryViewTab(CTabItem tabItem, IMemoryRendering rendering, RenderingViewPane container) - { + + public MemoryViewTab(CTabItem tabItem, IMemoryRendering rendering, RenderingViewPane container) { fTabItem = tabItem; fRendering = rendering; fContainer = container; - + // set the rendering as the synchronization provider - // as the new rendering should be in focus and have control + // as the new rendering should be in focus and have control // after it's created - + if (container.getMemoryRenderingSite().getSynchronizationService() != null) container.getMemoryRenderingSite().getSynchronizationService().setSynchronizationProvider(rendering); Control control = createViewTab(); - + control.addListener(SWT.Activate, this); control.addListener(SWT.Deactivate, this); - + fTabItem.setControl(control); fTabItem.setData(this); fTabItem.setText(getLabel()); fTabItem.setImage(getImage()); - + fTabItem.addDisposeListener(fDisposeListener = new DisposeListener() { + @Override public void widgetDisposed(DisposeEvent e) { fTabItem.removeDisposeListener(fDisposeListener); dispose(); - }}); + } + }); } - - private Control createViewTab() - { + + private Control createViewTab() { ISafeRunnable safeRunnable = new ISafeRunnable() { + @Override public void handleException(Throwable exception) { // create an error rendering to fill the view tab ErrorRendering rendering = new ErrorRendering(fRendering.getRenderingId(), exception); @@ -88,72 +89,80 @@ public class MemoryViewTab implements IMemoryViewTab, IPropertyChangeListener, L // dispose the rendering fRendering.dispose(); - + fRendering = rendering; fControl = rendering.createControl(fTabItem.getParent()); } + @Override public void run() throws Exception { fControl = fRendering.createControl(fTabItem.getParent()); fRendering.addPropertyChangeListener(getInstance()); - }}; - + } + }; + SafeRunner.run(safeRunnable); return fControl; } - - private String getLabel() - { + + private String getLabel() { return fRendering.getLabel(); } - - private Image getImage() - { + + private Image getImage() { return fRendering.getImage(); } - - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#dispose() */ + @Override public void dispose() { - + if (fIsDisposed) return; - + fIsDisposed = true; - + fRendering.removePropertyChangeListener(this); - - if (!fControl.isDisposed()) - { + + if (!fControl.isDisposed()) { fControl.removeListener(SWT.Activate, this); fControl.removeListener(SWT.Deactivate, this); } - + // always deactivate rendering before disposing it. fRendering.deactivated(); - + fRendering.dispose(); } - - public boolean isDisposed() - { + + @Override + public boolean isDisposed() { return fIsDisposed; } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#isEnabled() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#isEnabled() */ + @Override public boolean isEnabled() { return fEnabled; } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#setEnabled(boolean) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#setEnabled( + * boolean) */ + @Override public void setEnabled(boolean enabled) { fEnabled = enabled; - + if (fEnabled) fRendering.becomesVisible(); else @@ -161,67 +170,73 @@ public class MemoryViewTab implements IMemoryViewTab, IPropertyChangeListener, L } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#setTabLabel(java.lang.String) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#setTabLabel + * (java.lang.String) */ + @Override public void setTabLabel(String label) { fTabItem.setText(label); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#getTabLabel() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#getTabLabel() */ + @Override public String getTabLabel() { return fTabItem.getText(); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#getRendering() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.IMemoryViewTab#getRendering() */ + @Override public IMemoryRendering getRendering() { return fRendering; } - /* (non-Javadoc) - * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse + * .jface.util.PropertyChangeEvent) */ + @Override public void propertyChange(final PropertyChangeEvent event) { - + // make sure this runs on the UI thread, otherwise, it // will get to a swt exception - + WorkbenchJob job = new WorkbenchJob("MemoryViewTab PropertyChanged") { //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { if (isDisposed()) return Status.OK_STATUS; - - if (event.getSource() == fRendering) - { - if (event.getProperty().equals(IBasicPropertyConstants.P_TEXT)) - { + + if (event.getSource() == fRendering) { + if (event.getProperty().equals(IBasicPropertyConstants.P_TEXT)) { Object value = event.getNewValue(); - if (value != null && value instanceof String) - { - String label = (String)value; + if (value != null && value instanceof String) { + String label = (String) value; setTabLabel(label); - } - else - { + } else { setTabLabel(fRendering.getLabel()); } } - - if (event.getProperty().equals(IBasicPropertyConstants.P_IMAGE)) - { + + if (event.getProperty().equals(IBasicPropertyConstants.P_IMAGE)) { Object value = event.getNewValue(); - if (value != null && value instanceof Image) - { - Image image = (Image)value; + if (value != null && value instanceof Image) { + Image image = (Image) value; fTabItem.setImage(image); - } - else - { + } else { fTabItem.setImage(fRendering.getImage()); } } @@ -232,23 +247,24 @@ public class MemoryViewTab implements IMemoryViewTab, IPropertyChangeListener, L job.setSystem(true); job.schedule(); } - - private MemoryViewTab getInstance() - { + + private MemoryViewTab getInstance() { return this; } - /* (non-Javadoc) - * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) + /* + * (non-Javadoc) + * @see + * org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets. + * Event) */ + @Override public void handleEvent(Event event) { - if (event.type == SWT.Activate) - { + if (event.type == SWT.Activate) { fRendering.activated(); fContainer.setRenderingSelection(fRendering); } - if (event.type == SWT.Deactivate) - { + if (event.type == SWT.Deactivate) { fRendering.deactivated(); } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeModelContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeModelContentProvider.java index 2862b623d..4eea20d3e 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeModelContentProvider.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeModelContentProvider.java @@ -19,22 +19,17 @@ import org.eclipse.debug.internal.ui.viewers.model.TreeModelContentProvider; import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta; import org.eclipse.debug.internal.ui.viewers.model.provisional.TreeModelViewer; -public class MemoryViewTreeModelContentProvider extends - TreeModelContentProvider { - +public class MemoryViewTreeModelContentProvider extends TreeModelContentProvider { + + @Override protected void updateNodes(IModelDelta[] nodes, int mask) { - - if (getViewer() instanceof TreeModelViewer) - { - for (int i = 0; i < nodes.length; i++) { + + if (getViewer() instanceof TreeModelViewer) { + for (int i = 0; i < nodes.length; i++) { IModelDelta node = nodes[i]; int flags = node.getFlags(); - if((mask & ITreeModelContentProvider.CONTROL_MODEL_DELTA_FLAGS) != 0 && - (flags & IModelDelta.ADDED) != 0 && - (flags & IModelDelta.SELECT) != 0 && - node.getElement() instanceof IMemoryBlock) - { + if ((mask & ITreeModelContentProvider.CONTROL_MODEL_DELTA_FLAGS) != 0 && (flags & IModelDelta.ADDED) != 0 && (flags & IModelDelta.SELECT) != 0 && node.getElement() instanceof IMemoryBlock) { if ((flags & IModelDelta.SELECT) != 0) { if (getPresentationContext().getPart() instanceof MemoryView) { MemoryView view = (MemoryView) getPresentationContext().getPart(); @@ -54,53 +49,51 @@ public class MemoryViewTreeModelContentProvider extends } flags = flags & mask; - if ((flags & IModelDelta.ADDED) != 0) { - handleAdd(node); - } - if ((flags & IModelDelta.REMOVED) != 0) { - handleRemove(node); - } - if ((flags & IModelDelta.CONTENT) != 0) { - handleContent(node); - } - if ((flags & IModelDelta.STATE) != 0) { - handleState(node); - } - if ((flags & IModelDelta.INSERTED) != 0) { - handleInsert(node); - } - if ((flags & IModelDelta.REPLACED) != 0) { - handleReplace(node); - } - if ((flags & IModelDelta.INSTALL) != 0) { - handleInstall(node); - } - if ((flags & IModelDelta.UNINSTALL) != 0) { - handleUninstall(node); - } - if ((flags & IModelDelta.EXPAND) != 0) { - handleExpand(node); - } - if ((flags & IModelDelta.COLLAPSE) != 0) { - handleCollapse(node); - } - if ((flags & IModelDelta.SELECT) != 0) { - handleSelect(node); - } - if ((flags & IModelDelta.REVEAL) != 0) { - handleReveal(node); - } - updateNodes(node.getChildDeltas(), mask); - } + if ((flags & IModelDelta.ADDED) != 0) { + handleAdd(node); + } + if ((flags & IModelDelta.REMOVED) != 0) { + handleRemove(node); + } + if ((flags & IModelDelta.CONTENT) != 0) { + handleContent(node); + } + if ((flags & IModelDelta.STATE) != 0) { + handleState(node); + } + if ((flags & IModelDelta.INSERTED) != 0) { + handleInsert(node); + } + if ((flags & IModelDelta.REPLACED) != 0) { + handleReplace(node); + } + if ((flags & IModelDelta.INSTALL) != 0) { + handleInstall(node); + } + if ((flags & IModelDelta.UNINSTALL) != 0) { + handleUninstall(node); + } + if ((flags & IModelDelta.EXPAND) != 0) { + handleExpand(node); + } + if ((flags & IModelDelta.COLLAPSE) != 0) { + handleCollapse(node); + } + if ((flags & IModelDelta.SELECT) != 0) { + handleSelect(node); + } + if ((flags & IModelDelta.REVEAL) != 0) { + handleReveal(node); + } + updateNodes(node.getChildDeltas(), mask); + } } } - - private boolean isFirstMemoryBlock() - { + + private boolean isFirstMemoryBlock() { Object input = getViewer().getInput(); - if (input instanceof IMemoryBlockRetrieval) - { - IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks((IMemoryBlockRetrieval)input); + if (input instanceof IMemoryBlockRetrieval) { + IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks((IMemoryBlockRetrieval) input); if (memoryBlocks.length == 1) return true; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeViewer.java index e97c86ea1..2031204ee 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeViewer.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTreeViewer.java @@ -17,29 +17,31 @@ import org.eclipse.debug.internal.ui.viewers.model.provisional.TreeModelViewer; import org.eclipse.swt.widgets.Composite; /** - * Customized tree viewer for the Memory View - * This Tree Viewer has a specialized update policy for the memory view. - * When the model fires a ADDED delta, the update policy handles the event as follows: - * If the ADDED delta is accompanied by SELECT, and the added element is an memory blok, then - * the udpate policy asks the Memory View if the it is currently pinned to a memory block. If the view - * is currently pinned, then the SELECT delta is ignored. + * Customized tree viewer for the Memory View This Tree Viewer has a specialized + * update policy for the memory view. When the model fires a ADDED delta, the + * update policy handles the event as follows: If the ADDED delta is accompanied + * by SELECT, and the added element is an memory blok, then the udpate policy + * asks the Memory View if the it is currently pinned to a memory block. If the + * view is currently pinned, then the SELECT delta is ignored. + * + * If the ADDED delta and SELECT delta are recieved in separate nodes, then the + * delta will be handled as-is and would not take the pinning state of the + * memory view into account. * - * If the ADDED delta and SELECT delta are recieved in separate nodes, then the delta will be handled as-is and would - * not take the pinning state of the memory view into account. - * */ public class MemoryViewTreeViewer extends TreeModelViewer { - public MemoryViewTreeViewer(Composite parent, int style, - IPresentationContext context) { + public MemoryViewTreeViewer(Composite parent, int style, IPresentationContext context) { super(parent, style, context); } - - /* - * Need to have a customized content provider to define a special update policy for the Memory View - * (non-Javadoc) - * @see org.eclipse.debug.internal.ui.viewers.model.InternalTreeModelViewer#createContentProvider() + + /* + * Need to have a customized content provider to define a special update + * policy for the Memory View (non-Javadoc) + * @see org.eclipse.debug.internal.ui.viewers.model.InternalTreeModelViewer# + * createContentProvider() */ + @Override protected ITreeModelContentProvider createContentProvider() { return new MemoryViewTreeModelContentProvider(); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java index 7836738b8..2957f11e4 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java @@ -39,69 +39,36 @@ import org.eclipse.ui.progress.UIJob; * @since 3.0 */ public class MemoryViewUtil { - - public static final int[] ignoreKeyEvents = - { - SWT.ARROW_UP, - SWT.ARROW_DOWN, - SWT.ARROW_LEFT, - SWT.ARROW_RIGHT, - SWT.PAGE_UP, - SWT.PAGE_DOWN, - SWT.HOME, - SWT.END, - SWT.INSERT, - SWT.F1, - SWT.F2, - SWT.F3, - SWT.F4, - SWT.F5, - SWT.F6, - SWT.F7, - SWT.F8, - SWT.F9, - SWT.F10, - SWT.F11, - SWT.F12, - SWT.F13, - SWT.F14, - SWT.F15, - SWT.HELP, - SWT.CAPS_LOCK, - SWT.NUM_LOCK, - SWT.SCROLL_LOCK, - SWT.PAUSE, - SWT.BREAK, - SWT.PRINT_SCREEN, - SWT.ESC, - SWT.CTRL, - SWT.ALT, - SWT.SHIFT - }; - - public static ArrayList MEMORY_BLOCKS_HISTORY = new ArrayList(); - + + public static final int[] ignoreKeyEvents = { + SWT.ARROW_UP, SWT.ARROW_DOWN, SWT.ARROW_LEFT, SWT.ARROW_RIGHT, + SWT.PAGE_UP, SWT.PAGE_DOWN, SWT.HOME, SWT.END, SWT.INSERT, SWT.F1, + SWT.F2, SWT.F3, SWT.F4, SWT.F5, SWT.F6, SWT.F7, SWT.F8, SWT.F9, + SWT.F10, SWT.F11, SWT.F12, SWT.F13, SWT.F14, SWT.F15, SWT.HELP, + SWT.CAPS_LOCK, SWT.NUM_LOCK, SWT.SCROLL_LOCK, SWT.PAUSE, SWT.BREAK, + SWT.PRINT_SCREEN, SWT.ESC, SWT.CTRL, SWT.ALT, SWT.SHIFT }; + + public static ArrayList<String> MEMORY_BLOCKS_HISTORY = new ArrayList<String>(); + /** * @param selection * @return true if the given selection is valid for creating a memory block */ static public boolean isValidSelection(ISelection selection) { - + if (!(selection instanceof IStructuredSelection)) return false; - - //only single selection is allowed for this action - if (selection.isEmpty() || ((IStructuredSelection)selection).size() > 1) - { + + // only single selection is allowed for this action + if (selection.isEmpty() || ((IStructuredSelection) selection).size() > 1) { return false; } - - Object elem = ((IStructuredSelection)selection).getFirstElement(); - + + Object elem = ((IStructuredSelection) selection).getFirstElement(); + return isValidContext(elem); } - /** * @param elem * @return @@ -110,78 +77,75 @@ public class MemoryViewUtil { // if not debug element if (!(elem instanceof IAdaptable)) return false; - - IMemoryBlockRetrieval memRetrieval =(IMemoryBlockRetrieval) ((IAdaptable)elem).getAdapter(IMemoryBlockRetrieval.class); + + IMemoryBlockRetrieval memRetrieval = (IMemoryBlockRetrieval) ((IAdaptable) elem).getAdapter(IMemoryBlockRetrieval.class); IDebugTarget debugTarget = null; if (elem instanceof IDebugElement) { - debugTarget = ((IDebugElement)elem).getDebugTarget(); + debugTarget = ((IDebugElement) elem).getDebugTarget(); } else { - debugTarget = (IDebugTarget)((IAdaptable)elem).getAdapter(IDebugTarget.class); + debugTarget = (IDebugTarget) ((IAdaptable) elem).getAdapter(IDebugTarget.class); } - - if (memRetrieval == null) - { - // if debug element returns null from getAdapter, assume its debug target is going to retrieve memory blocks + + if (memRetrieval == null) { + // if debug element returns null from getAdapter, assume its debug + // target is going to retrieve memory blocks memRetrieval = debugTarget; } - + // not valid if the debug target is already terminated if (debugTarget != null && (debugTarget.isTerminated() || debugTarget.isDisconnected())) return false; - + if (memRetrieval != null && memRetrieval.supportsStorageRetrieval()) { return true; } - + return false; - } + } - /** * Helper function to open an error dialog. + * * @param title * @param message * @param e */ - static public void openError (final String title, final String message, final Exception e) - { - UIJob uiJob = new UIJob("open error"){ //$NON-NLS-1$ + static public void openError(final String title, final String message, final Exception e) { + UIJob uiJob = new UIJob("open error") { //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { -// open error for the exception + // open error for the exception String detail = IInternalDebugCoreConstants.EMPTY_STRING; if (e != null) detail = e.getMessage(); - + Shell shell = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell(); - - MessageDialog.openError( - shell, - title, - message + "\n" + detail); //$NON-NLS-1$ + + MessageDialog.openError(shell, title, message + "\n" + detail); //$NON-NLS-1$ return Status.OK_STATUS; - }}; + } + }; uiJob.setSystem(true); uiJob.schedule(); } - - static IMemoryBlockManager getMemoryBlockManager() - { + + static IMemoryBlockManager getMemoryBlockManager() { return DebugPlugin.getDefault().getMemoryBlockManager(); } - - static public boolean isLinuxGTK() - { + + static public boolean isLinuxGTK() { String ws = Platform.getWS(); return ws.equals(Platform.WS_GTK); } - + /** - * Checks to see if the event is valid for activating - * cell editing in a view tab + * Checks to see if the event is valid for activating cell editing in a view + * tab + * * @param event - * @return true if the edit event is valid for activating the cell editor + * @return true if the edit event is valid for activating the cell editor */ public static boolean isValidEditEvent(int event) { for (int i = 0; i < MemoryViewUtil.ignoreKeyEvents.length; i++) { @@ -190,76 +154,71 @@ public class MemoryViewUtil { } return true; } - - public static BigInteger alignToBoundary(BigInteger integer, int numberOfUnitsPerLine) - { + + public static BigInteger alignToBoundary(BigInteger integer, int numberOfUnitsPerLine) { BigInteger[] result = integer.divideAndRemainder(BigInteger.valueOf(numberOfUnitsPerLine)); integer = integer.subtract(result[1]); return integer; } - - public static void addHistory(String expression) - { + + public static void addHistory(String expression) { if (!MEMORY_BLOCKS_HISTORY.contains(expression)) MEMORY_BLOCKS_HISTORY.add(0, expression); - + if (MEMORY_BLOCKS_HISTORY.size() > 5) - MEMORY_BLOCKS_HISTORY.remove(MEMORY_BLOCKS_HISTORY.size()-1); + MEMORY_BLOCKS_HISTORY.remove(MEMORY_BLOCKS_HISTORY.size() - 1); } - - public static String[] getHistory() - { - return (String[])MEMORY_BLOCKS_HISTORY.toArray(new String[MEMORY_BLOCKS_HISTORY.size()]); + + public static String[] getHistory() { + return MEMORY_BLOCKS_HISTORY.toArray(new String[MEMORY_BLOCKS_HISTORY.size()]); } - + /** * Return the memory block retrieval of the given object + * * @param object - * @return the memory block retrieval of the given object or <code>null</code> - * if no memory block retrieval can be found - * - * Returning null for the memory block retrieval will result in errors in operations - * that follow. - * - * Non-standard debug models must provide a memory block retrieval via - * <code>getAdapter(IMemoryBlockRetrieval.class</code> + * @return the memory block retrieval of the given object or + * <code>null</code> if no memory block retrieval can be found + * + * Returning null for the memory block retrieval will result in + * errors in operations that follow. + * + * Non-standard debug models must provide a memory block retrieval + * via <code>getAdapter(IMemoryBlockRetrieval.class</code> */ - public static IMemoryBlockRetrieval getMemoryBlockRetrieval(Object object) - { + public static IMemoryBlockRetrieval getMemoryBlockRetrieval(Object object) { IMemoryBlockRetrieval retrieval = null; - - // if memory block extension, retrieval must be queired throught its interface + + // if memory block extension, retrieval must be queired throught its + // interface if (object instanceof IMemoryBlockExtension) - return ((IMemoryBlockExtension)object).getMemoryBlockRetrieval(); + return ((IMemoryBlockExtension) object).getMemoryBlockRetrieval(); // check if the object can adapt to a memory block retrieval - if (object instanceof IAdaptable) - { - IAdaptable adaptable = (IAdaptable)object; - retrieval = (IMemoryBlockRetrieval)adaptable.getAdapter(IMemoryBlockRetrieval.class); + if (object instanceof IAdaptable) { + IAdaptable adaptable = (IAdaptable) object; + retrieval = (IMemoryBlockRetrieval) adaptable.getAdapter(IMemoryBlockRetrieval.class); } - - // if cannot adapt and the object itself is already an IMemoryBlockRetrieval, return that. - if (retrieval == null && object instanceof IMemoryBlockRetrieval) - { - retrieval = (IMemoryBlockRetrieval)object; + + // if cannot adapt and the object itself is already an + // IMemoryBlockRetrieval, return that. + if (retrieval == null && object instanceof IMemoryBlockRetrieval) { + retrieval = (IMemoryBlockRetrieval) object; } - + // otherewise, default back to the debug target - if (retrieval == null && object instanceof IDebugElement) - { - IDebugElement de = (IDebugElement)object; + if (retrieval == null && object instanceof IDebugElement) { + IDebugElement de = (IDebugElement) object; retrieval = de.getDebugTarget(); } - + return retrieval; } - + /** * Returns the hash code for this object, as an Integer. * */ - public static Integer getHashCode(Object o) - { + public static Integer getHashCode(Object o) { return new Integer(o.hashCode()); } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java index 474a6ea74..937f26044 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java @@ -11,7 +11,6 @@ package org.eclipse.debug.internal.ui.views.memory; - import org.eclipse.debug.core.model.IMemoryBlockRetrieval; import org.eclipse.debug.core.model.IMemoryBlockRetrievalExtension; import org.eclipse.debug.internal.core.IInternalDebugCoreConstants; @@ -33,7 +32,7 @@ import org.eclipse.ui.PlatformUI; /** * @since 3.0 */ -public class MonitorMemoryBlockDialog extends TrayDialog implements ModifyListener{ +public class MonitorMemoryBlockDialog extends TrayDialog implements ModifyListener { private Combo expressionInput; private Text lengthInput; @@ -42,30 +41,36 @@ public class MonitorMemoryBlockDialog extends TrayDialog implements ModifyListen private boolean needLength = true; private String fPrefillExp = null; private String fPrefillLength = null; - + /** - * the predefined width of the wrapping label for the expression to enter combo + * the predefined width of the wrapping label for the expression to enter + * combo + * * @since 3.3 */ private static final int LABEL_WIDTH = 210; - + /** * @param parentShell */ public MonitorMemoryBlockDialog(Shell parentShell, IMemoryBlockRetrieval memRetrieval, String prefillExp, String prefillLength) { super(parentShell); - + if (memRetrieval instanceof IMemoryBlockRetrievalExtension) needLength = false; - + fPrefillExp = prefillExp; fPrefillLength = prefillLength; setShellStyle(getShellStyle() | SWT.RESIZE); } - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets + * .Composite) */ + @Override protected Control createDialogArea(Composite parent) { Composite comp = (Composite) super.createDialogArea(parent); SWTFactory.createWrapLabel(comp, DebugUIMessages.MonitorMemoryBlockDialog_EnterExpressionToMonitor, 1, LABEL_WIDTH); @@ -74,7 +79,7 @@ public class MonitorMemoryBlockDialog extends TrayDialog implements ModifyListen expressionInput.setText(fPrefillExp); } expressionInput.addModifyListener(this); - + if (needLength) { SWTFactory.createLabel(comp, DebugUIMessages.MonitorMemoryBlockDialog_NumberOfBytes, 1); lengthInput = SWTFactory.createSingleText(comp, 1); @@ -86,32 +91,39 @@ public class MonitorMemoryBlockDialog extends TrayDialog implements ModifyListen PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IDebugUIConstants.PLUGIN_ID + ".MonitorMemoryBlockDialog_context"); //$NON-NLS-1$ return comp; } - /* (non-Javadoc) - * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell) + + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets + * .Shell) */ + @Override protected void configureShell(Shell newShell) { super.configureShell(newShell); - + newShell.setText(DebugUIMessages.MonitorMemoryBlockDialog_MonitorMemory); } - + /** * @return the entered expression */ public String getExpression() { return expression; } - + /** * @return the entered length */ public String getLength() { return length; } - - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.jface.dialogs.Dialog#okPressed() */ + @Override protected void okPressed() { expression = expressionInput.getText(); @@ -125,43 +137,47 @@ public class MonitorMemoryBlockDialog extends TrayDialog implements ModifyListen super.okPressed(); } - /* (non-Javadoc) - * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events + * .ModifyEvent) */ + @Override public void modifyText(ModifyEvent e) { updateOKButtonState(); } private void updateOKButtonState() { - if (needLength) - { + if (needLength) { String lengthText = lengthInput.getText(); String input = expressionInput.getText(); - - if (input == null || input.equals(IInternalDebugCoreConstants.EMPTY_STRING) || lengthText == null || lengthText.equals(IInternalDebugCoreConstants.EMPTY_STRING)) - { - getButton(IDialogConstants.OK_ID).setEnabled(false); - } - else - { + + if (input == null || input.equals(IInternalDebugCoreConstants.EMPTY_STRING) || lengthText == null || lengthText.equals(IInternalDebugCoreConstants.EMPTY_STRING)) { + getButton(IDialogConstants.OK_ID).setEnabled(false); + } else { getButton(IDialogConstants.OK_ID).setEnabled(true); - } + } } } - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets + * .Composite) */ + @Override protected Control createButtonBar(Composite parent) { - - Control ret = super.createButtonBar(parent); - + + Control ret = super.createButtonBar(parent); + if (needLength) updateOKButtonState(); else // always enable the OK button if we only need the expression getButton(IDialogConstants.OK_ID).setEnabled(true); - + return ret; } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/NewMemoryViewAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/NewMemoryViewAction.java index 2e62da38d..b6afd1e24 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/NewMemoryViewAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/NewMemoryViewAction.java @@ -30,22 +30,25 @@ import org.eclipse.ui.PartInitException; public class NewMemoryViewAction implements IViewActionDelegate { private MemoryView fView; + + @Override public void init(IViewPart view) { if (view instanceof MemoryView) - fView = (MemoryView)view; + fView = (MemoryView) view; } + @Override public void run(IAction action) { - + String secondaryId = MemoryViewIdRegistry.getUniqueSecondaryId(IDebugUIConstants.ID_MEMORY_VIEW); try { IWorkbenchPage page = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage(); IViewPart newView = page.showView(IDebugUIConstants.ID_MEMORY_VIEW, secondaryId, IWorkbenchPage.VIEW_ACTIVATE); - + // set initial selection for new view setInitialSelection(newView); setInitialViewSettings(newView); - + } catch (PartInitException e) { // if view cannot be opened, open error DebugUIPlugin.log(e); @@ -54,52 +57,47 @@ public class NewMemoryViewAction implements IViewActionDelegate { private void setInitialSelection(IViewPart newView) { ISelection selection = fView.getSite().getSelectionProvider().getSelection(); - if (selection instanceof IStructuredSelection) - { - IStructuredSelection strucSel = (IStructuredSelection)selection; - + if (selection instanceof IStructuredSelection) { + IStructuredSelection strucSel = (IStructuredSelection) selection; + // return if current selection is empty if (strucSel.isEmpty()) return; - + Object obj = strucSel.getFirstElement(); - + if (obj == null) return; - - if (obj instanceof IMemoryRendering) - { - IMemoryBlock memBlock = ((IMemoryRendering)obj).getMemoryBlock(); + + if (obj instanceof IMemoryRendering) { + IMemoryBlock memBlock = ((IMemoryRendering) obj).getMemoryBlock(); strucSel = new StructuredSelection(memBlock); newView.getSite().getSelectionProvider().setSelection(strucSel); - } - else if (obj instanceof IMemoryBlock) - { + } else if (obj instanceof IMemoryBlock) { newView.getSite().getSelectionProvider().setSelection(strucSel); } } } private void setInitialViewSettings(IViewPart newView) { - if (fView != null && newView instanceof MemoryView) - { - MemoryView newMView = (MemoryView)newView; + if (fView != null && newView instanceof MemoryView) { + MemoryView newMView = (MemoryView) newView; IMemoryViewPane[] viewPanes = fView.getViewPanes(); int orientation = fView.getViewPanesOrientation(); - for (int i=0; i<viewPanes.length; i++) - { + for (int i = 0; i < viewPanes.length; i++) { // copy view pane visibility newMView.showViewPane(fView.isViewPaneVisible(viewPanes[i].getId()), viewPanes[i].getId()); } - + // do not want to copy renderings as it could be very expensive // create a blank view and let user creates renderings as needed - + // set orientation of new view newMView.setViewPanesOrientation(orientation); } } + @Override public void selectionChanged(IAction action, ISelection selection) { } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PinMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PinMemoryBlockAction.java index 93f5fa3d3..c4ee61cb6 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PinMemoryBlockAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PinMemoryBlockAction.java @@ -17,30 +17,34 @@ import org.eclipse.ui.IViewActionDelegate; import org.eclipse.ui.IViewPart; /** - * Action for pinning the display of the memory view to - * the current memory block. The view would not change - * selection when a new memory block is added if the diplay is pinned. - * + * Action for pinning the display of the memory view to the current memory + * block. The view would not change selection when a new memory block is added + * if the diplay is pinned. + * */ public class PinMemoryBlockAction implements IViewActionDelegate { private MemoryView fView; + + @Override public void init(IViewPart view) { if (view instanceof MemoryView) - fView = (MemoryView)view; + fView = (MemoryView) view; } + @Override public void run(IAction action) { if (fView == null) return; - + boolean pin = !fView.isPinMBDisplay(); fView.setPinMBDisplay(pin); - + action.setChecked(pin); } + @Override public void selectionChanged(IAction action, ISelection selection) { } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PropertyChangeNotifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PropertyChangeNotifier.java index 4b50660d2..558cd48bd 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PropertyChangeNotifier.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PropertyChangeNotifier.java @@ -17,32 +17,37 @@ import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; /** - * Fire properties changes events in ISafeRunnable to ensure that - * exceptions are caught and handled. + * Fire properties changes events in ISafeRunnable to ensure that exceptions are + * caught and handled. + * * @since 3.1 */ -public class PropertyChangeNotifier implements ISafeRunnable -{ - +public class PropertyChangeNotifier implements ISafeRunnable { + IPropertyChangeListener fListener; PropertyChangeEvent fEvt; - - public PropertyChangeNotifier(IPropertyChangeListener listener, PropertyChangeEvent evt) - { + + public PropertyChangeNotifier(IPropertyChangeListener listener, PropertyChangeEvent evt) { fListener = listener; fEvt = evt; } - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable) + + /* + * (non-Javadoc) + * @see + * org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable + * ) */ + @Override public void handleException(Throwable exception) { DebugUIPlugin.log(exception); } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.core.runtime.ISafeRunnable#run() */ + @Override public void run() throws Exception { fListener.propertyChange(fEvt); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryRenderingAction.java index 0b5618cba..d0fb67ef6 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryRenderingAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryRenderingAction.java @@ -18,60 +18,60 @@ import org.eclipse.debug.ui.memory.IMemoryRendering; import org.eclipse.debug.ui.memory.IMemoryRenderingContainer; import org.eclipse.jface.action.Action; - /** - * Remove Memory Rendering action - * This action serves two purposes: - * - remove memory rendering from Memory Rendering Pane - * - quck way to remove a memory block from Memory Rendering Pane + * Remove Memory Rendering action This action serves two purposes: - remove + * memory rendering from Memory Rendering Pane - quck way to remove a memory + * block from Memory Rendering Pane + * + * When user clicks on the this tool bar action, it simply removes the top view + * tab from Memory Rendering Pane. * - * When user clicks on the this tool bar action, it simply removes - * the top view tab from Memory Rendering Pane. * @since 3.0 */ -public class RemoveMemoryRenderingAction extends Action -{ +public class RemoveMemoryRenderingAction extends Action { private IMemoryRenderingContainer fViewPane; - public RemoveMemoryRenderingAction(IMemoryRenderingContainer viewPane) - { + + public RemoveMemoryRenderingAction(IMemoryRenderingContainer viewPane) { // create action as drop down - super(DebugUIMessages.RemoveMemoryRenderingAction_Remove_rendering, AS_PUSH_BUTTON); - setText(DebugUIMessages.RemoveMemoryRenderingAction_Remove_rendering); + super(DebugUIMessages.RemoveMemoryRenderingAction_Remove_rendering, AS_PUSH_BUTTON); + setText(DebugUIMessages.RemoveMemoryRenderingAction_Remove_rendering); - setToolTipText(DebugUIMessages.RemoveMemoryRenderingAction_Remove_rendering); - setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE_MEMORY)); + setToolTipText(DebugUIMessages.RemoveMemoryRenderingAction_Remove_rendering); + setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE_MEMORY)); setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_REMOVE_MEMORY)); setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_REMOVE_MEMORY)); fViewPane = viewPane; } - - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { - + // user has click on the RemoveMemoryRendering button IMemoryViewTab topTab = getViewTab(); - - if (topTab != null) - { + + if (topTab != null) { IMemoryRendering rendering = topTab.getRendering(); - - if (rendering != null) - { + + if (rendering != null) { fViewPane.removeMemoryRendering(rendering); } } } - /* (non-Javadoc) - * @see com.ibm.debug.defaultrenderings.internal.actions.AbstractMemoryAction#getViewTab() + /* + * (non-Javadoc) + * @see + * com.ibm.debug.defaultrenderings.internal.actions.AbstractMemoryAction + * #getViewTab() */ IMemoryViewTab getViewTab() { - if (fViewPane instanceof IMemoryView) - { - return ((IMemoryView)fViewPane).getTopMemoryTab(); + if (fViewPane instanceof IMemoryView) { + return ((IMemoryView) fViewPane).getTopMemoryTab(); } return null; - } + } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveRenderingContextAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveRenderingContextAction.java index c908ef62b..43a741344 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveRenderingContextAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveRenderingContextAction.java @@ -19,51 +19,56 @@ import org.eclipse.ui.IViewPart; /** * @since 3.0 - * + * */ public class RemoveRenderingContextAction implements IViewActionDelegate { private IMemoryRenderingSite fMemoryView; - - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) */ + @Override public void init(IViewPart view) { - if (view instanceof IMemoryRenderingSite) - { - fMemoryView = (IMemoryRenderingSite)view; + if (view instanceof IMemoryRenderingSite) { + fMemoryView = (IMemoryRenderingSite) view; } } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ + @Override public void run(IAction action) { if (fMemoryView == null) return; - + IMemoryRenderingContainer container = getRenderingContainer(action); - if (container != null) - { + if (container != null) { RemoveMemoryRenderingAction removeAction = new RemoveMemoryRenderingAction(container); removeAction.run(); } } - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) + /* + * (non-Javadoc) + * @see + * org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action + * .IAction, org.eclipse.jface.viewers.ISelection) */ + @Override public void selectionChanged(IAction action, ISelection selection) { IMemoryRenderingContainer container = getRenderingContainer(action); - if (container instanceof RenderingViewPane) - { - if (!((RenderingViewPane)container).canRemoveRendering()) + if (container instanceof RenderingViewPane) { + if (!((RenderingViewPane) container).canRemoveRendering()) action.setEnabled(false); else action.setEnabled(true); } } - + /** * @param action * @return @@ -72,16 +77,14 @@ public class RemoveRenderingContextAction implements IViewActionDelegate { IMemoryRenderingContainer[] viewPanes = fMemoryView.getMemoryRenderingContainers(); String actionId = action.getId(); IMemoryRenderingContainer selectedPane = null; - - for (int i=0; i<viewPanes.length; i++) - { - if (actionId.indexOf(viewPanes[i].getId()) != -1) - { + + for (int i = 0; i < viewPanes.length; i++) { + if (actionId.indexOf(viewPanes[i].getId()) != -1) { selectedPane = viewPanes[i]; break; } } - + return selectedPane; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java index d45f55b35..3628aa755 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RenderingViewPane.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2010 IBM Corporation and others. + * Copyright (c) 2004, 2013 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 @@ -62,178 +62,179 @@ import org.eclipse.ui.IWorkbenchPreferenceConstants; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.progress.UIJob; - - /** - * Represents a rendering view pane in the Memory View. - * This hosts the memory view tabs in the view. + * Represents a rendering view pane in the Memory View. This hosts the memory + * view tabs in the view. + * * @since 3.1 - * + * */ -public class RenderingViewPane extends AbstractMemoryViewPane implements IMemoryRenderingContainer{ +public class RenderingViewPane extends AbstractMemoryViewPane implements IMemoryRenderingContainer { public static final String RENDERING_VIEW_PANE_ID = DebugUIPlugin.getUniqueIdentifier() + ".MemoryView.RenderingViewPane"; //$NON-NLS-1$ - - private Hashtable fTabFolderForMemoryBlock = new Hashtable(); - private Hashtable fMemoryBlockFromTabFolder = new Hashtable(); + + private Hashtable<IMemoryBlock, CTabFolder> fTabFolderForMemoryBlock = new Hashtable<IMemoryBlock, CTabFolder>(); + private Hashtable<CTabFolder, IMemoryBlock> fMemoryBlockFromTabFolder = new Hashtable<CTabFolder, IMemoryBlock>(); private ViewPaneRenderingMgr fRenderingMgr; - + private IMemoryRenderingSite fRenderingSite; - private Set fAddedRenderings = new HashSet(); - private Set fAddedMemoryBlocks = new HashSet(); - + private Set<IMemoryRendering> fAddedRenderings = new HashSet<IMemoryRendering>(); + private Set<IMemoryBlock> fAddedMemoryBlocks = new HashSet<IMemoryBlock>(); + private boolean fCanAddRendering = true; private boolean fCanRemoveRendering = true; - + /** * @param parent is the view hosting this view pane * @param paneId is the identifier assigned by the Memory View * - * Pane id is assigned with the following format. - * Rendering view pane created has its id assigned to - * org.eclipse.debug.ui.MemoryView.RenderingViewPane.#. - * # is a number indicating the order of which the rendering view - * pane is created. First rendering view pane created will have its - * id assigned to org.eclipse.debug.ui.MemoryView.RenderingViewPane.1. - * Second rendering view pane created will have its id assigned to - * org.eclipse.debug.ui.MemoryView.RenderingViewPane.2. and so on. - * View pane are created from left to right by the Memory View. + * Pane id is assigned with the following format. Rendering view + * pane created has its id assigned to + * org.eclipse.debug.ui.MemoryView.RenderingViewPane.#. # is a + * number indicating the order of which the rendering view pane + * is created. First rendering view pane created will have its id + * assigned to + * org.eclipse.debug.ui.MemoryView.RenderingViewPane.1. Second + * rendering view pane created will have its id assigned to + * org.eclipse.debug.ui.MemoryView.RenderingViewPane.2. and so + * on. View pane are created from left to right by the Memory + * View. * */ public RenderingViewPane(IViewPart parent) { super(parent); - - if (parent instanceof IMemoryRenderingSite) - fRenderingSite = (IMemoryRenderingSite)parent; - else - { + + if (parent instanceof IMemoryRenderingSite) { + fRenderingSite = (IMemoryRenderingSite) parent; + } else { DebugUIPlugin.logErrorMessage("Parent for the rendering view pane is invalid."); //$NON-NLS-1$ } } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockAdded(org.eclipse.debug.core.model.IMemoryBlock) + + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockAdded + * (org.eclipse.debug.core.model.IMemoryBlock) */ + @Override public void memoryBlocksAdded(final IMemoryBlock[] memoryBlocks) { Display.getDefault().asyncExec(new Runnable() { + @Override public void run() { - - if (isDisposed()) + + if (isDisposed()) { return; - + } + // check condition before doing anything - if (memoryBlocks == null || memoryBlocks.length <= 0) + if (memoryBlocks == null || memoryBlocks.length <= 0) { return; - - for (int i=0; i<memoryBlocks.length; i++) - { + } + + for (int i = 0; i < memoryBlocks.length; i++) { IMemoryBlock memory = memoryBlocks[i]; - - if (!fTabFolderForMemoryBlock.containsKey(memory)) - { - createFolderForMemoryBlock(memory); - } + + if (!fTabFolderForMemoryBlock.containsKey(memory)) { + createFolderForMemoryBlock(memory); + } fAddedMemoryBlocks.add(memory); updateToolBarActionsEnablement(); } - }}); + } + }); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener#MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock) + /* + * (non-Javadoc) + * @see org.eclipse.debug.internal.core.memory.IMemoryBlockListener# + * MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock) */ + @Override public void memoryBlocksRemoved(final IMemoryBlock[] memoryBlocks) { Display.getDefault().asyncExec(new Runnable() { + @Override public void run() { - for (int j=0; j<memoryBlocks.length; j++) - { + for (int j = 0; j < memoryBlocks.length; j++) { IMemoryBlock mbRemoved = memoryBlocks[j]; - if (fTabFolderForMemoryBlock == null) - { + if (fTabFolderForMemoryBlock == null) { return; } - - // get all renderings from this memory block and remove them from the view + + // get all renderings from this memory block and remove them + // from the view IMemoryRendering[] renderings = fRenderingMgr.getRenderingsFromMemoryBlock(mbRemoved); - - for (int k=0; k<renderings.length; k++) - { + + for (int k = 0; k < renderings.length; k++) { removeMemoryRendering(renderings[k]); } - + // remove a the tab folder if the memory block is removed - CTabFolder tabFolder = - (CTabFolder) fTabFolderForMemoryBlock.get(mbRemoved); - - if (tabFolder == null) + CTabFolder tabFolder = fTabFolderForMemoryBlock.get(mbRemoved); + + if (tabFolder == null) { continue; - + } + fTabFolderForMemoryBlock.remove(mbRemoved); fMemoryBlockFromTabFolder.remove(tabFolder); IMemoryBlockRetrieval retrieve = MemoryViewUtil.getMemoryBlockRetrieval(mbRemoved); - if (retrieve != null) - { - if (fTabFolderForDebugView.contains(tabFolder)) - { + if (retrieve != null) { + if (fTabFolderForDebugView.contains(tabFolder)) { fTabFolderForDebugView.remove(MemoryViewUtil.getHashCode(retrieve)); } } - - if (!tabFolder.isDisposed()) { + + if (!tabFolder.isDisposed()) { // dispose all view tabs belonging to the tab folder CTabItem[] items = tabFolder.getItems(); - - for (int i=0; i<items.length; i++) - { + + for (int i = 0; i < items.length; i++) { disposeTab(items[i]); } - + // dispose the tab folder - tabFolder.dispose(); - + tabFolder.dispose(); + // if this is the top control - if (tabFolder == fStackLayout.topControl) - { - + if (tabFolder == fStackLayout.topControl) { + // if memory view is visible and have a selection // follow memory view's selection - + ISelection selection = DebugUIPlugin.getActiveWorkbenchWindow().getSelectionService().getSelection(IDebugUIConstants.ID_MEMORY_VIEW); IMemoryBlock mbToSelect = getMemoryBlock(selection); - - if (mbToSelect != null) - { - // memory view may not have got the event and is still displaying + + if (mbToSelect != null) { + // memory view may not have got the event and is + // still displaying // the deleted memory block - if (mbToSelect != mbRemoved) + if (mbToSelect != mbRemoved) { handleMemoryBlockSelection(null, mbToSelect); - else if ((MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(retrieve).length > 0)) - { + } else if ((MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(retrieve).length > 0)) { mbToSelect = MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(retrieve)[0]; - handleMemoryBlockSelection(null, mbToSelect); - } - else - { + handleMemoryBlockSelection(null, mbToSelect); + } else { emptyFolder(); } - } - else if (MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(retrieve).length > 0) - { // get to the next folder + } else if (MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(retrieve).length > 0) { // get + // to + // the + // next + // folder mbToSelect = MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(retrieve)[0]; handleMemoryBlockSelection(null, mbToSelect); - } - else - { + } else { emptyFolder(); - + } } - + // if not the top control // no need to do anything } - + fAddedMemoryBlocks.remove(mbRemoved); updateToolBarActionsEnablement(); } @@ -242,112 +243,127 @@ public class RenderingViewPane extends AbstractMemoryViewPane implements IMemory } - /* (non-Javadoc) - * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection) + /* + * (non-Javadoc) + * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui. + * IWorkbenchPart, org.eclipse.jface.viewers.ISelection) */ + @Override public void selectionChanged(final IWorkbenchPart part, final ISelection selection) { - if (isDisposed()) + if (isDisposed()) { return; - + } + // do not schedule job if any of these conditions are true - if(part == RenderingViewPane.this) + if (part == RenderingViewPane.this) { return; - - if (!(selection instanceof IStructuredSelection)) + } + + if (!(selection instanceof IStructuredSelection)) { return; - - if (selection == AbstractMemoryViewPane.EMPTY) + } + + if (selection == AbstractMemoryViewPane.EMPTY) { return; - - UIJob job = new UIJob("RenderingViewPane selectionChanged"){ //$NON-NLS-1$ + } + + UIJob job = new UIJob("RenderingViewPane selectionChanged") { //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { try { - if (isDisposed()) + if (isDisposed()) { return Status.OK_STATUS; - - if (selection.isEmpty()) - { + } + + if (selection.isEmpty()) { // if the event comes from Memory View - // pick empty tab folder as the memory view is no longer displaying anything - if (part.getSite().getId().equals(IDebugUIConstants.ID_MEMORY_VIEW)) - { - if (part == getMemoryRenderingSite().getSite().getPart()) - { + // pick empty tab folder as the memory view is no longer + // displaying anything + if (part.getSite().getId().equals(IDebugUIConstants.ID_MEMORY_VIEW)) { + if (part == getMemoryRenderingSite().getSite().getPart()) { IMemoryViewTab lastViewTab = getTopMemoryTab(); - - if (lastViewTab != null) + + if (lastViewTab != null) { lastViewTab.setEnabled(false); - + } + emptyFolder(); } } - + // do not do anything if there is no selection - // In the case when a debug adpater fires a debug event incorrectly, Launch View sets - // selection to nothing. If the view tab is disabled, it erases all the "delta" information - // in the content. This may not be desirable as it will cause memory to show up as - // unchanged when it's actually changed. Do not disable the view tab until there is a + // In the case when a debug adpater fires a debug event + // incorrectly, Launch View sets + // selection to nothing. If the view tab is disabled, it + // erases all the "delta" information + // in the content. This may not be desirable as it will + // cause memory to show up as + // unchanged when it's actually changed. Do not disable + // the view tab until there is a // valid selection. - + return Status.OK_STATUS; } - + // back up current view tab IMemoryViewTab lastViewTab = getTopMemoryTab(); - - if (!(selection instanceof IStructuredSelection)) + + if (!(selection instanceof IStructuredSelection)) { return Status.OK_STATUS; + } - Object elem = ((IStructuredSelection)selection).getFirstElement(); - - if (elem instanceof IMemoryBlock) - { + Object elem = ((IStructuredSelection) selection).getFirstElement(); + + if (elem instanceof IMemoryBlock) { // if the selection event comes from this view - if (part == getMemoryRenderingSite()) - { - // find the folder associated with the given IMemoryBlockRetrieval - IMemoryBlock memBlock = (IMemoryBlock)elem; - + if (part == getMemoryRenderingSite()) { + // find the folder associated with the given + // IMemoryBlockRetrieval + IMemoryBlock memBlock = (IMemoryBlock) elem; + // should never get here... added code for safety - if (fTabFolderForMemoryBlock == null) - { - if (lastViewTab != null) + if (fTabFolderForMemoryBlock == null) { + if (lastViewTab != null) { lastViewTab.setEnabled(false); - + } + emptyFolder(); - return Status.OK_STATUS; + return Status.OK_STATUS; } - + handleMemoryBlockSelection(lastViewTab, memBlock); } } - } - catch(SWTException se) - { + } catch (SWTException se) { DebugUIPlugin.log(se); } return Status.OK_STATUS; - }}; + } + }; job.setSystem(true); job.schedule(); } - + public void handleMemoryBlockSelection(final IMemoryViewTab lastViewTab, final IMemoryBlock memBlock) { // Do not check if the debug target of mb is removed - // We should not get into this method if the debug target of the memory block is terminated - // Memory Block Manager gets the terminate event and would have removed all memory blocks + // We should not get into this method if the debug target of the memory + // block is terminated + // Memory Block Manager gets the terminate event and would have removed + // all memory blocks // associated with the debug target - // Therefore, we will never try to set a selection to a memory block whose target is terminated + // Therefore, we will never try to set a selection to a memory block + // whose target is terminated // check current memory block CTabFolder currentFolder = (CTabFolder) fStackLayout.topControl; if (currentFolder != null && !currentFolder.isDisposed()) { - IMemoryBlock currentBlk = (IMemoryBlock) fMemoryBlockFromTabFolder.get(currentFolder); + IMemoryBlock currentBlk = fMemoryBlockFromTabFolder.get(currentFolder); if (currentBlk != null) { - if (currentBlk == memBlock) + if (currentBlk == memBlock) { return; + } } } @@ -360,26 +376,26 @@ public class RenderingViewPane extends AbstractMemoryViewPane implements IMemory // if we've got a tabfolder to go with the IMemoryBlock, display // it if (fTabFolderForMemoryBlock.containsKey(memBlock)) { - if (fStackLayout.topControl != (CTabFolder) fTabFolderForMemoryBlock.get(memBlock)) { - setTabFolder((CTabFolder) fTabFolderForMemoryBlock.get(memBlock)); + if (fStackLayout.topControl != fTabFolderForMemoryBlock.get(memBlock)) { + setTabFolder(fTabFolderForMemoryBlock.get(memBlock)); fViewPaneCanvas.layout(); } } else { // otherwise, add a new one CTabFolder folder = createTabFolder(fViewPaneCanvas); - + fTabFolderForMemoryBlock.put(memBlock, folder); fMemoryBlockFromTabFolder.put(folder, memBlock); - setTabFolder((CTabFolder) fTabFolderForMemoryBlock.get(memBlock)); + setTabFolder(fTabFolderForMemoryBlock.get(memBlock)); fViewPaneCanvas.layout(); fAddedMemoryBlocks.add(memBlock); - + newCreateRenderingForFolder(memBlock, folder); } // restore view tabs IMemoryRendering[] renderings = fRenderingMgr.getRenderingsFromMemoryBlock(memBlock); CTabFolder toDisplay = (CTabFolder) fStackLayout.topControl; - + // if only CreateRendering is present, restore renderings if (isRestoreViewTabs(toDisplay)) { restoreViewTabs(renderings); @@ -403,80 +419,81 @@ public class RenderingViewPane extends AbstractMemoryViewPane implements IMemory } IMemoryViewTab viewTab = getTopMemoryTab(); - if (viewTab != null) + if (viewTab != null) { setRenderingSelection(viewTab.getRendering()); + } - //set toolbar actions enabled/disabled + // set toolbar actions enabled/disabled updateToolBarActionsEnablement(); } - - private boolean isRestoreViewTabs(CTabFolder folder) - { - if (canAddRendering()) + + private boolean isRestoreViewTabs(CTabFolder folder) { + if (canAddRendering()) { return (folder.getItemCount() == 1 && getTopMemoryTab().getRendering() instanceof CreateRendering); - else + } else { return (folder.getItemCount() == 0); + } } - - private int getIndexOfCreateRenderingTab(CTabFolder folder) - { - for(int i = 0; i < folder.getItemCount(); i++) - if(folder.getItem(i).getData() instanceof MemoryViewTab && - ((MemoryViewTab) folder.getItem(i).getData()).getRendering() instanceof CreateRendering) + + private int getIndexOfCreateRenderingTab(CTabFolder folder) { + for (int i = 0; i < folder.getItemCount(); i++) { + if (folder.getItem(i).getData() instanceof MemoryViewTab && ((MemoryViewTab) folder.getItem(i).getData()).getRendering() instanceof CreateRendering) { return i; - + } + } + return -1; } public void memoryBlockRenderingAdded(final IMemoryRendering rendering) { - + Display.getDefault().asyncExec(new Runnable() { + @Override public void run() { - - if (isDisposed()) + + if (isDisposed()) { return; - - if (fAddedRenderings.contains(rendering)) + } + + if (fAddedRenderings.contains(rendering)) { return; + } IMemoryBlock memoryblk = rendering.getMemoryBlock(); - CTabFolder tabFolder = (CTabFolder) fTabFolderForMemoryBlock.get(memoryblk); - - if (tabFolder == null) - { + CTabFolder tabFolder = fTabFolderForMemoryBlock.get(memoryblk); + + if (tabFolder == null) { tabFolder = createFolderForMemoryBlock(memoryblk); } - - if (tabFolder == fStackLayout.topControl) - { + + if (tabFolder == fStackLayout.topControl) { // disable current view tab if (getTopMemoryTab() != null) { deactivateRendering(getTopMemoryTab()); getTopMemoryTab().setEnabled(false); - } + } } fAddedRenderings.add(rendering); - + int index = getIndexOfCreateRenderingTab(tabFolder); - if (index < 0) - index = 0; + if (index < 0) { + index = 0; + } CTabItem tab = createTab(tabFolder, index); - - MemoryViewTab viewTab = new MemoryViewTab(tab, rendering,getInstance()); + + MemoryViewTab viewTab = new MemoryViewTab(tab, rendering, getInstance()); tabFolder.setSelection(tabFolder.indexOf(tab)); - - if (tabFolder == fStackLayout.topControl) - { + + if (tabFolder == fStackLayout.topControl) { setRenderingSelection(viewTab.getRendering()); // disable top view tab if the view pane is not visible IMemoryViewTab top = getTopMemoryTab(); - if (top != null) + if (top != null) { top.setEnabled(fVisible); - } - else - { + } + } else { deactivateRendering(viewTab); viewTab.setEnabled(false); } @@ -486,67 +503,64 @@ public class RenderingViewPane extends AbstractMemoryViewPane implements IMemory }); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.memory.IMemoryRenderingListener#MemoryBlockRenderingRemoved(org.eclipse.debug.internal.core.memory.IMemoryRendering) + /* + * (non-Javadoc) + * @see org.eclipse.debug.internal.core.memory.IMemoryRenderingListener# + * MemoryBlockRenderingRemoved + * (org.eclipse.debug.internal.core.memory.IMemoryRendering) */ public void memoryBlockRenderingRemoved(final IMemoryRendering rendering) { final IMemoryBlock memory = rendering.getMemoryBlock(); - - // need to run the following code on the UI Thread to avoid invalid thread access exception - Display.getDefault().asyncExec(new Runnable() - { - public void run() - { - if (!fAddedRenderings.contains(rendering)) + + // need to run the following code on the UI Thread to avoid invalid + // thread access exception + Display.getDefault().asyncExec(new Runnable() { + @Override + public void run() { + if (!fAddedRenderings.contains(rendering)) { return; - + } + fAddedRenderings.remove(rendering); - + CTabFolder tabFolder = (CTabFolder) fStackLayout.topControl; - - if (tabFolder.isDisposed()) + + if (tabFolder.isDisposed()) { return; - + } + CTabItem[] tabs = tabFolder.getItems(); boolean foundTab = false; - for (int i = 0; i < tabs.length; i++) - { + for (int i = 0; i < tabs.length; i++) { IMemoryViewTab viewTab = (IMemoryViewTab) tabs[i].getData(); - - if (tabs[i].isDisposed()) + + if (tabs[i].isDisposed()) { continue; - + } - if (viewTab.getRendering().getMemoryBlock() == memory) - { - if (viewTab.getRendering() == rendering) - { + if (viewTab.getRendering().getMemoryBlock() == memory) { + if (viewTab.getRendering() == rendering) { foundTab = true; disposeTab(tabs[i]); break; } - + } } // if a tab is not found in the current top control // this deletion is a result of a debug target termination // find memory from other folder and dispose the view tab - if (!foundTab) - { - Enumeration enumeration = fTabFolderForMemoryBlock.elements(); - while (enumeration.hasMoreElements()) - { - CTabFolder otherTabFolder = (CTabFolder) enumeration.nextElement(); + if (!foundTab) { + Enumeration<CTabFolder> enumeration = fTabFolderForMemoryBlock.elements(); + while (enumeration.hasMoreElements()) { + CTabFolder otherTabFolder = enumeration.nextElement(); tabs = otherTabFolder.getItems(); IMemoryViewTab viewTab = null; - for (int i = 0; i < tabs.length; i++) - { + for (int i = 0; i < tabs.length; i++) { viewTab = (IMemoryViewTab) tabs[i].getData(); - if (viewTab.getRendering().getMemoryBlock() == memory) - { - if (viewTab.getRendering() == rendering) - { + if (viewTab.getRendering().getMemoryBlock() == memory) { + if (viewTab.getRendering() == rendering) { foundTab = true; disposeTab(tabs[i]); break; @@ -556,199 +570,206 @@ public class RenderingViewPane extends AbstractMemoryViewPane implements IMemory } } IMemoryViewTab top = getTopMemoryTab(); - + // update selection - if (top != null) + if (top != null) { setRenderingSelection(top.getRendering()); - + } + updateToolBarActionsEnablement(); } }); - - } - + + } + /** * @param viewTab */ protected void setRenderingSelection(IMemoryRendering rendering) { - if (rendering != null) - { - fSelectionProvider.setSelection(new StructuredSelection(rendering)); - } + if (rendering != null) { + fSelectionProvider.setSelection(new StructuredSelection(rendering)); + } } - - private void restoreViewTabs(IMemoryRendering[] renderings) - { - for (int i=0; i<renderings.length; i++) - { + + private void restoreViewTabs(IMemoryRendering[] renderings) { + for (int i = 0; i < renderings.length; i++) { memoryBlockRenderingAdded(renderings[i]); } } - - private void handleDebugElementSelection(final IMemoryViewTab lastViewTab, final IAdaptable element) - { + + private void handleDebugElementSelection(final IMemoryViewTab lastViewTab, final IAdaptable element) { // get current memory block retrieval and debug target IMemoryBlockRetrieval currentRetrieve = null; - + // get tab folder CTabFolder tabFolder = (CTabFolder) fStackLayout.topControl; - + // get memory block - IMemoryBlock currentBlock = (IMemoryBlock)fMemoryBlockFromTabFolder.get(tabFolder); - - if (currentBlock != null) - { + IMemoryBlock currentBlock = fMemoryBlockFromTabFolder.get(tabFolder); + + if (currentBlock != null) { currentRetrieve = MemoryViewUtil.getMemoryBlockRetrieval(currentBlock); - + // backup current retrieve and tab folder - if (currentRetrieve != null && tabFolder != null) - { + if (currentRetrieve != null && tabFolder != null) { fTabFolderForDebugView.put(MemoryViewUtil.getHashCode(currentRetrieve), tabFolder); } } - + // find the folder associated with the given IMemoryBlockRetrieval IMemoryBlockRetrieval retrieve = MemoryViewUtil.getMemoryBlockRetrieval(element); // if debug target has changed // switch to that tab folder - if (retrieve != null && retrieve != currentRetrieve) - { + if (retrieve != null && retrieve != currentRetrieve) { Integer key = MemoryViewUtil.getHashCode(retrieve); - CTabFolder folder = (CTabFolder)fTabFolderForDebugView.get(key); - - if (folder != null) - { + CTabFolder folder = fTabFolderForDebugView.get(key); + + if (folder != null) { setTabFolder(folder); fTabFolderForDebugView.put(key, folder); fViewPaneCanvas.layout(); - } - else - { + } else { // find out if there is any memory block for this debug target // and set up tab folder for the memory blocks IMemoryBlock blocks[] = MemoryViewUtil.getMemoryBlockManager().getMemoryBlocks(retrieve); - - if (blocks.length > 0) - { + + if (blocks.length > 0) { handleMemoryBlockSelection(null, blocks[0]); - } - else - { + } else { emptyFolder(); fTabFolderForDebugView.put(key, fEmptyTabFolder); fViewPaneCanvas.layout(); } } } - + // disable last view tab as it becomes hidden IMemoryViewTab newViewTab = getTopMemoryTab(); - if (lastViewTab != null && lastViewTab != newViewTab) - { + if (lastViewTab != null && lastViewTab != newViewTab) { lastViewTab.setEnabled(false); } - if (newViewTab != null) - { + if (newViewTab != null) { // if new view tab is not already enabled, enable it - if (!newViewTab.isEnabled()) - { + if (!newViewTab.isEnabled()) { // if the view tab is visible, enable it - if (fVisible) - { + if (fVisible) { newViewTab.setEnabled(fVisible); - } + } } - + // should only change selection if the new view tab is different - if (lastViewTab != newViewTab) + if (lastViewTab != newViewTab) { setRenderingSelection(newViewTab.getRendering()); - } - //set toolbar actions enabled/disabled + } + } + // set toolbar actions enabled/disabled updateToolBarActionsEnablement(); } - + + @Override protected void addListeners() { super.addListeners(); - - // must directly listen for selection events from parent's selection provider - // to ensure that we get the selection event from the tree viewer pane even + + // must directly listen for selection events from parent's selection + // provider + // to ensure that we get the selection event from the tree viewer pane + // even // if the view does not have focuse fParent.getSite().getSelectionProvider().addSelectionChangedListener(this); } + + @Override protected void removeListeners() { super.removeListeners(); fParent.getSite().getSelectionProvider().removeSelectionChangedListener(this); } - /* (non-Javadoc) - * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt + * .events.SelectionEvent) */ + @Override public void widgetSelected(SelectionEvent e) { - - if (getTopMemoryTab() == null) + + if (getTopMemoryTab() == null) { return; - + } + IMemoryRendering rendering = getTopMemoryTab().getRendering(); - - if (rendering != null) - { + + if (rendering != null) { fSelectionProvider.setSelection(new StructuredSelection(rendering)); } - + } - /* (non-Javadoc) - * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse + * .swt.events.SelectionEvent) */ + @Override public void widgetDefaultSelected(SelectionEvent e) { } - + + @Override public Object getCurrentSelection() { - if (getTopMemoryTab() != null) - if (getTopMemoryTab().getRendering() != null) + if (getTopMemoryTab() != null) { + if (getTopMemoryTab().getRendering() != null) { return getTopMemoryTab().getRendering(); + } + } return null; } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see com.ibm.debug.extended.ui.IMemoryView#getAllViewTabs() */ + @Override public IMemoryViewTab[] getAllViewTabs() { - + // otherwise, find the view tab to display CTabFolder folder = (CTabFolder) fStackLayout.topControl; CTabItem[] items = folder.getItems(); - + IMemoryViewTab[] viewTabs = new IMemoryViewTab[folder.getItemCount()]; - - for(int i=0; i<items.length; i++){ - viewTabs[i] = (IMemoryViewTab)items[i].getData(); + + for (int i = 0; i < items.length; i++) { + viewTabs[i] = (IMemoryViewTab) items[i].getData(); } - + return viewTabs; } - /* (non-Javadoc) - * @see com.ibm.debug.extended.ui.IMemoryView#moveToTop(com.ibm.debug.extended.ui.IMemoryViewTab) + /* + * (non-Javadoc) + * @see + * com.ibm.debug.extended.ui.IMemoryView#moveToTop(com.ibm.debug.extended + * .ui.IMemoryViewTab) */ + @Override public void moveToTop(IMemoryViewTab viewTab) { - + IMemoryViewTab lastViewTab = getTopMemoryTab(); - - if (viewTab == lastViewTab) + + if (viewTab == lastViewTab) { return; - + } + // otherwise, find the view tab to display CTabFolder folder = (CTabFolder) fStackLayout.topControl; CTabItem[] items = folder.getItems(); for (int i = 0; i < items.length; i++) { - IMemoryViewTab tab = - (IMemoryViewTab) items[i].getData(); + IMemoryViewTab tab = (IMemoryViewTab) items[i].getData(); if (viewTab == tab) { boolean isEnabled = lastViewTab.isEnabled(); @@ -756,166 +777,166 @@ public class RenderingViewPane extends AbstractMemoryViewPane implements IMemory // switch to that viewTab lastViewTab.setEnabled(false); folder.setSelection(i); - + setRenderingSelection(tab.getRendering()); - + getTopMemoryTab().setEnabled(isEnabled && fVisible); break; } } } - - private CTabFolder createTabFolder(Composite parent) - { + + private CTabFolder createTabFolder(Composite parent) { CTabFolder folder = new CTabFolder(parent, SWT.NO_REDRAW_RESIZE | SWT.NO_TRIM | SWT.FLAT); - + ColorRegistry reg = JFaceResources.getColorRegistry(); Color c1 = reg.get("org.eclipse.ui.workbench.ACTIVE_TAB_BG_START"), //$NON-NLS-1$ - c2 = reg.get("org.eclipse.ui.workbench.ACTIVE_TAB_BG_END"); //$NON-NLS-1$ - folder.setSelectionBackground(new Color[] {c1, c2}, new int[] {100}, true); + c2 = reg.get("org.eclipse.ui.workbench.ACTIVE_TAB_BG_END"); //$NON-NLS-1$ + folder.setSelectionBackground(new Color[] { c1, c2 }, new int[] { 100 }, true); folder.setSelectionForeground(reg.get("org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR")); //$NON-NLS-1$ folder.setSimple(PlatformUI.getPreferenceStore().getBoolean(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS)); folder.setBorderVisible(true); folder.setFont(fViewPaneCanvas.getFont()); - + folder.addCTabFolder2Listener(new CTabFolder2Adapter() { + @Override public void close(CTabFolderEvent event) { - if(event.item.getData() instanceof MemoryViewTab) + if (event.item.getData() instanceof MemoryViewTab) { RenderingViewPane.this.removeMemoryRendering(((MemoryViewTab) event.item.getData()).getRendering()); + } event.doit = false; } }); return folder; } + @Override public void restoreViewPane() { - + // get current selection from memory view - + ISelection selection = null; - if (fParent.getSite().getSelectionProvider() != null) + if (fParent.getSite().getSelectionProvider() != null) { selection = fParent.getSite().getSelectionProvider().getSelection(); - + } + IMemoryBlock memoryBlock = null; - if (selection != null) - { + if (selection != null) { memoryBlock = getMemoryBlock(selection); } - - if (memoryBlock == null) - { + + if (memoryBlock == null) { // get selection from this view selection = fSelectionProvider.getSelection(); - - if (MemoryViewUtil.isValidSelection(selection)) - { - Object elem = ((IStructuredSelection)selection).getFirstElement(); - if (!(elem instanceof IMemoryBlock)) + if (MemoryViewUtil.isValidSelection(selection)) { + Object elem = ((IStructuredSelection) selection).getFirstElement(); + + if (!(elem instanceof IMemoryBlock)) { return; - - memoryBlock = (IMemoryBlock)elem; + } + + memoryBlock = (IMemoryBlock) elem; } } - - if (memoryBlock == null) - { + + if (memoryBlock == null) { // get a memory block from current debug context IAdaptable context = DebugUITools.getPartDebugContext(fParent.getSite()); - if (context != null) - { + if (context != null) { IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(context); - if (retrieval != null) - { + if (retrieval != null) { IMemoryBlock[] blocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(retrieval); - if (blocks.length > 0) + if (blocks.length > 0) { memoryBlock = blocks[0]; + } } } } - - if (memoryBlock != null) - { - if (!fTabFolderForMemoryBlock.containsKey(memoryBlock)) - { + + if (memoryBlock != null) { + if (!fTabFolderForMemoryBlock.containsKey(memoryBlock)) { // create tab folder if a tab folder does not already exist // for the memory block CTabFolder folder = createTabFolder(fViewPaneCanvas); - + fTabFolderForMemoryBlock.put(memoryBlock, folder); fMemoryBlockFromTabFolder.put(folder, memoryBlock); - setTabFolder((CTabFolder)fTabFolderForMemoryBlock.get(memoryBlock)); + setTabFolder(fTabFolderForMemoryBlock.get(memoryBlock)); IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(memoryBlock); - if (retrieval != null) + if (retrieval != null) { fTabFolderForDebugView.put(MemoryViewUtil.getHashCode(retrieval), fTabFolderForMemoryBlock.get(memoryBlock)); - else + } else { DebugUIPlugin.logErrorMessage("Memory block retrieval for memory block is null."); //$NON-NLS-1$ - + } + fViewPaneCanvas.layout(); fAddedMemoryBlocks.add(memoryBlock); - - // every time we create a folder, we have to create a CreateRendering + + // every time we create a folder, we have to create a + // CreateRendering newCreateRenderingForFolder(memoryBlock, folder); } - - if (fTabFolderForMemoryBlock.containsKey(memoryBlock)) - { - CTabFolder toDisplay = (CTabFolder)fTabFolderForMemoryBlock.get(memoryBlock); - - if (toDisplay != null) - { + + if (fTabFolderForMemoryBlock.containsKey(memoryBlock)) { + CTabFolder toDisplay = fTabFolderForMemoryBlock.get(memoryBlock); + + if (toDisplay != null) { setTabFolder(toDisplay); IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(memoryBlock); - - if (retrieval != null) + + if (retrieval != null) { fTabFolderForDebugView.put(MemoryViewUtil.getHashCode(retrieval), toDisplay); - else + } else { DebugUIPlugin.logErrorMessage("Memory block retrieval is null for memory block."); //$NON-NLS-1$ - + } + fViewPaneCanvas.layout(); - + // restore view tabs IMemoryRendering[] renderings = fRenderingMgr.getRenderingsFromMemoryBlock(memoryBlock); - + // if only CreateRendering is present, restore renderings - if (isRestoreViewTabs(toDisplay)) - { + if (isRestoreViewTabs(toDisplay)) { restoreViewTabs(renderings); } } } - + // disable current storag block - + IMemoryViewTab top = getTopMemoryTab(); - - if (top != null) + + if (top != null) { top.setEnabled(fVisible); + } } } - + + @Override public void dispose() { super.dispose(); - + fTabFolderForMemoryBlock.clear(); fTabFolderForMemoryBlock = null; - + fMemoryBlockFromTabFolder.clear(); fMemoryBlockFromTabFolder = null; - + fRenderingMgr.dispose(); fRenderingMgr = null; - + fAddedMemoryBlocks.clear(); fAddedRenderings.clear(); - } - + } + public Control createViewPane(Composite parent, String paneId, String label, boolean canAddRendering, boolean canRemoveRendering) { return doCreateViewPane(parent, paneId, label, canAddRendering, canRemoveRendering); } - - public Control createViewPane(Composite parent, String paneId, String label) { + + @Override + public Control createViewPane(Composite parent, String paneId, String label) { return doCreateViewPane(parent, paneId, label, true, true); } @@ -927,266 +948,298 @@ public class RenderingViewPane extends AbstractMemoryViewPane implements IMemory * @param canRemoveRendering * @return */ - private Control doCreateViewPane(Composite parent, String paneId, String label, boolean canAddRendering, - boolean canRemoveRendering) { - Control control = super.createViewPane(parent, paneId, label); + private Control doCreateViewPane(Composite parent, String paneId, String label, boolean canAddRendering, boolean canRemoveRendering) { + Control control = super.createViewPane(parent, paneId, label); fCanAddRendering = canAddRendering; fCanRemoveRendering = canRemoveRendering; fRenderingMgr = new ViewPaneRenderingMgr(this); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".MemoryRenderingView_context"); //$NON-NLS-1$ return control; } - + + @Override public IAction[] getActions() { return new IAction[0]; } - - // enable/disable toolbar action - protected void updateToolBarActionsEnablement() - { + + // enable/disable toolbar action + protected void updateToolBarActionsEnablement() { } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.AbstractMemoryViewPane#emptyFolder() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.AbstractMemoryViewPane#emptyFolder + * () */ + @Override protected void emptyFolder() { super.emptyFolder(); updateToolBarActionsEnablement(); fSelectionProvider.setSelection(AbstractMemoryViewPane.EMPTY); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IRenderingViewPane#addMemoryRendering(org.eclipse.debug.internal.ui.views.memory.IMemoryRendering) + /* + * (non-Javadoc) + * @see org.eclipse.debug.internal.ui.views.memory.IRenderingViewPane# + * addMemoryRendering + * (org.eclipse.debug.internal.ui.views.memory.IMemoryRendering) */ + @Override public void addMemoryRendering(IMemoryRendering rendering) { - - if (rendering == null) + + if (rendering == null) { return; + } memoryBlockRenderingAdded(rendering); fRenderingMgr.addMemoryBlockRendering(rendering); - + } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IRenderingViewPane#removeMemoryRendering(org.eclipse.debug.internal.ui.views.memory.IMemoryRendering) + /* + * (non-Javadoc) + * @see org.eclipse.debug.internal.ui.views.memory.IRenderingViewPane# + * removeMemoryRendering + * (org.eclipse.debug.internal.ui.views.memory.IMemoryRendering) */ + @Override public void removeMemoryRendering(IMemoryRendering rendering) { - - if (rendering == null) + + if (rendering == null) { return; - + } + memoryBlockRenderingRemoved(rendering); - - if (fRenderingMgr != null) + + if (fRenderingMgr != null) { fRenderingMgr.removeMemoryBlockRendering(rendering); - + } + } - - private RenderingViewPane getInstance() - { + + private RenderingViewPane getInstance() { return this; } - - private IMemoryBlock getMemoryBlock(ISelection selection) - { - if (!(selection instanceof IStructuredSelection)) + + private IMemoryBlock getMemoryBlock(ISelection selection) { + if (!(selection instanceof IStructuredSelection)) { return null; + } - //only single selection of PICLDebugElements is allowed for this action - if (selection.isEmpty() || ((IStructuredSelection)selection).size() > 1) - { + // only single selection of PICLDebugElements is allowed for this action + if (selection.isEmpty() || ((IStructuredSelection) selection).size() > 1) { return null; } - Object elem = ((IStructuredSelection)selection).getFirstElement(); - - if (elem instanceof IMemoryBlock) - return (IMemoryBlock)elem; - else if (elem instanceof IMemoryRendering) - return ((IMemoryRendering)elem).getMemoryBlock(); - else + Object elem = ((IStructuredSelection) selection).getFirstElement(); + + if (elem instanceof IMemoryBlock) { + return (IMemoryBlock) elem; + } else if (elem instanceof IMemoryRendering) { + return ((IMemoryRendering) elem).getMemoryBlock(); + } else { return null; + } } - - private void deactivateRendering(IMemoryViewTab viewTab) - { - if (viewTab == null) + + private void deactivateRendering(IMemoryViewTab viewTab) { + if (viewTab == null) { return; + } - if (!viewTab.isDisposed()) - { + if (!viewTab.isDisposed()) { viewTab.getRendering().deactivated(); } } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.IRenderingViewPane#getMemoryRenderingSite() + /* + * (non-Javadoc) + * @see org.eclipse.debug.internal.ui.views.memory.IRenderingViewPane# + * getMemoryRenderingSite() */ + @Override public IMemoryRenderingSite getMemoryRenderingSite() { return fRenderingSite; } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.debug.ui.memory.IMemoryRenderingContainer#getId() */ + @Override public String getId() { return getPaneId(); } - /* (non-Javadoc) - * @see org.eclipse.debug.ui.memory.IMemoryRenderingContainer#getRenderings() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.ui.memory.IMemoryRenderingContainer#getRenderings() */ + @Override public IMemoryRendering[] getRenderings() { return fRenderingMgr.getRenderings(); } - /* (non-Javadoc) - * @see org.eclipse.debug.ui.memory.IMemoryRenderingContainer#getActiveRendering() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.ui.memory.IMemoryRenderingContainer#getActiveRendering + * () */ + @Override public IMemoryRendering getActiveRendering() { - if (getTopMemoryTab() == null) + if (getTopMemoryTab() == null) { return null; + } return getTopMemoryTab().getRendering(); } - + /** * Reset the memory renderings within this view pane. - * @param memoryBlock - reset renderings associated with the given memory block - * @param resetVisible - reset what's currently visible if the parameter is true. - * Otherwise, the view pane will reset all renderings associated with the given - * memory block. + * + * @param memoryBlock - reset renderings associated with the given memory + * block + * @param resetVisible - reset what's currently visible if the parameter is + * true. Otherwise, the view pane will reset all renderings + * associated with the given memory block. */ - public void resetRenderings(IMemoryBlock memoryBlock, boolean resetVisible) - { + public void resetRenderings(IMemoryBlock memoryBlock, boolean resetVisible) { // if we only reset what's visible and the view pane is not visible // do nothing. - if (resetVisible && !isVisible()) + if (resetVisible && !isVisible()) { return; - - if(resetVisible) - { + } + + if (resetVisible) { IMemoryRendering rendering = getActiveRendering(); - if (rendering != null) - { - if (rendering.getMemoryBlock() == memoryBlock) - { - if (rendering instanceof IResettableMemoryRendering) - { - IResettableMemoryRendering resettableRendering = (IResettableMemoryRendering)rendering; + if (rendering != null) { + if (rendering.getMemoryBlock() == memoryBlock) { + if (rendering instanceof IResettableMemoryRendering) { + IResettableMemoryRendering resettableRendering = (IResettableMemoryRendering) rendering; try { resettableRendering.resetRendering(); } catch (DebugException e) { // do not pop up error message - // error message is annoying where there are multiple rendering + // error message is annoying where there are + // multiple rendering // panes and renderings to reset } } } } - } - else - { + } else { // get all renderings associated with the given memory block IMemoryRendering[] renderings = fRenderingMgr.getRenderingsFromMemoryBlock(memoryBlock); - + // back up current synchronization provider IMemoryRendering originalProvider = null; IMemoryRenderingSynchronizationService service = getMemoryRenderingSite().getSynchronizationService(); - if (service != null) + if (service != null) { originalProvider = service.getSynchronizationProvider(); - - for (int i=0; i<renderings.length; i++) - { - if (renderings[i] instanceof IResettableMemoryRendering) - { + } + + for (int i = 0; i < renderings.length; i++) { + if (renderings[i] instanceof IResettableMemoryRendering) { try { - - // This is done to allow user to select multiple memory monitors and + + // This is done to allow user to select multiple memory + // monitors and // reset their renderings. - // In this case, a hidden rendering will not be the sync provider to the sync - // service. When the reset happens, the top visible address and selected - // address is not updated in the sync service. When the rendering later - // becomes visible, the rendering gets the sync info from the sync service - // and will try to sync up with old information, giving user the impression - // that the rendering was never reset. By forcing the rendering that we - // are trying to reset as the synchronization provider, we ensure that - // the rendering is able to update its sync info even though the rendering + // In this case, a hidden rendering will not be the sync + // provider to the sync + // service. When the reset happens, the top visible + // address and selected + // address is not updated in the sync service. When the + // rendering later + // becomes visible, the rendering gets the sync info + // from the sync service + // and will try to sync up with old information, giving + // user the impression + // that the rendering was never reset. By forcing the + // rendering that we + // are trying to reset as the synchronization provider, + // we ensure that + // the rendering is able to update its sync info even + // though the rendering // is currently hidden. - if (service != null) + if (service != null) { service.setSynchronizationProvider(renderings[i]); - ((IResettableMemoryRendering)renderings[i]).resetRendering(); + } + ((IResettableMemoryRendering) renderings[i]).resetRendering(); } catch (DebugException e) { // do not pop up error message - // error message is annoying where there are multiple rendering + // error message is annoying where there are multiple + // rendering // panes and renderings to reset } } } - + // restore synchronization provider - if (service != null) + if (service != null) { service.setSynchronizationProvider(originalProvider); + } } } - - - public void showCreateRenderingTab() - { + public void showCreateRenderingTab() { IMemoryRendering activeRendering = RenderingViewPane.this.getActiveRendering(); - if(activeRendering == null) + if (activeRendering == null) { return; - + } + IMemoryBlock memoryblk = activeRendering.getMemoryBlock(); - final CTabFolder tabFolder = (CTabFolder) fTabFolderForMemoryBlock.get(memoryblk); - if (tabFolder != null) - { + final CTabFolder tabFolder = fTabFolderForMemoryBlock.get(memoryblk); + if (tabFolder != null) { Display.getDefault().asyncExec(new Runnable() { - public void run() - { + @Override + public void run() { int index = getIndexOfCreateRenderingTab(tabFolder); - if (index >= 0) + if (index >= 0) { tabFolder.setSelection(index); + } } }); } } public void contextActivated(final ISelection selection) { - - UIJob job = new UIJob("contextActivated"){ //$NON-NLS-1$ - public IStatus runInUIThread(IProgressMonitor monitor) - { - if (isDisposed()) + + UIJob job = new UIJob("contextActivated") { //$NON-NLS-1$ + @Override + public IStatus runInUIThread(IProgressMonitor monitor) { + if (isDisposed()) { return Status.OK_STATUS; - + } + IMemoryViewTab lastViewTab = getTopMemoryTab(); - - if (MemoryViewUtil.isValidSelection(selection)) - { - if (!(selection instanceof IStructuredSelection)) + + if (MemoryViewUtil.isValidSelection(selection)) { + if (!(selection instanceof IStructuredSelection)) { return Status.OK_STATUS; + } - Object elem = ((IStructuredSelection)selection).getFirstElement(); - - if (elem instanceof IAdaptable) - { - handleDebugElementSelection(lastViewTab, (IAdaptable)elem); + Object elem = ((IStructuredSelection) selection).getFirstElement(); + + if (elem instanceof IAdaptable) { + handleDebugElementSelection(lastViewTab, (IAdaptable) elem); } - } - else - { - if (lastViewTab != null) + } else { + if (lastViewTab != null) { lastViewTab.setEnabled(false); - - if (fStackLayout.topControl != fEmptyTabFolder) + } + + if (fStackLayout.topControl != fEmptyTabFolder) { emptyFolder(); - + } + } return Status.OK_STATUS; - }}; + } + }; job.setSystem(true); job.schedule(); } @@ -1195,31 +1248,29 @@ public class RenderingViewPane extends AbstractMemoryViewPane implements IMemory * @param memory */ private CTabFolder createFolderForMemoryBlock(IMemoryBlock memory) { - CTabFolder folder = createTabFolder(fViewPaneCanvas); - - fTabFolderForMemoryBlock.put(memory, folder); - fMemoryBlockFromTabFolder.put(folder, memory); - - IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(memory); - if (retrieval != null) - { - fTabFolderForDebugView.put(MemoryViewUtil.getHashCode(retrieval), folder); - } - else { - DebugUIPlugin.logErrorMessage("Memory block retrieval for memory block is null"); //$NON-NLS-1$ - } - - newCreateRenderingForFolder(memory, folder); - - return folder; + CTabFolder folder = createTabFolder(fViewPaneCanvas); + + fTabFolderForMemoryBlock.put(memory, folder); + fMemoryBlockFromTabFolder.put(folder, memory); + + IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(memory); + if (retrieval != null) { + fTabFolderForDebugView.put(MemoryViewUtil.getHashCode(retrieval), folder); + } else { + DebugUIPlugin.logErrorMessage("Memory block retrieval for memory block is null"); //$NON-NLS-1$ + } + + newCreateRenderingForFolder(memory, folder); + + return folder; } - private void newCreateRenderingForFolder(IMemoryBlock memory, - CTabFolder folder) { - - if (!canAddRendering()) + private void newCreateRenderingForFolder(IMemoryBlock memory, CTabFolder folder) { + + if (!canAddRendering()) { return; - + } + CTabItem newItem = new CTabItem(folder, SWT.NONE); CreateRendering rendering = new CreateRendering(getInstance()); rendering.init(getInstance(), memory); @@ -1227,30 +1278,33 @@ public class RenderingViewPane extends AbstractMemoryViewPane implements IMemory folder.setSelection(0); } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextEvent(org.eclipse.debug.internal.ui.contexts.provisional.DebugContextEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener + * #contextEvent + * (org.eclipse.debug.internal.ui.contexts.provisional.DebugContextEvent) */ + @Override public void debugContextChanged(DebugContextEvent event) { if ((event.getFlags() & DebugContextEvent.ACTIVATED) > 0) { contextActivated(event.getContext()); - } + } } - + /** * @return whether this container allows user to add rendering manually * @since 3.4 */ - public boolean canAddRendering() - { + public boolean canAddRendering() { return fCanAddRendering; } - + /** * @return whether this container allows user to remove rendering manually * @since 3.4 */ - public boolean canRemoveRendering() - { + public boolean canRemoveRendering() { return fCanRemoveRendering; } @@ -1261,8 +1315,9 @@ public class RenderingViewPane extends AbstractMemoryViewPane implements IMemory */ private CTabItem createTab(CTabFolder tabFolder, int index) { int swtStyle = SWT.CLOSE; - if (!canRemoveRendering()) + if (!canRemoveRendering()) { swtStyle = SWT.NONE; + } CTabItem tab = new CTabItem(tabFolder, swtStyle, index); return tab; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java index ebcb6801f..04cb9bba0 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java @@ -26,26 +26,30 @@ import org.eclipse.ui.IViewActionDelegate; import org.eclipse.ui.IViewPart; /** - * The popup menu action for a memory rendering used to reset the current selection - * to the default first memory position + * The popup menu action for a memory rendering used to reset the current + * selection to the default first memory position * * @since 3.2.0 */ -public class ResetMemoryBlockAction implements IViewActionDelegate{ +public class ResetMemoryBlockAction implements IViewActionDelegate { private IViewPart fView; - private ArrayList fSelectedMB = new ArrayList(); + private ArrayList<Object> fSelectedMB = new ArrayList<Object>(); - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) */ + @Override public void init(IViewPart view) { fView = view; } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ + @Override public void run(IAction action) { if (fSelectedMB.isEmpty()) { return; @@ -55,25 +59,29 @@ public class ResetMemoryBlockAction implements IViewActionDelegate{ if (resetPref.equals(IDebugPreferenceConstants.RESET_VISIBLE)) { resetVisible = true; } - Iterator iter = fSelectedMB.iterator(); - while(iter.hasNext()) { - IMemoryBlock mb = (IMemoryBlock)iter.next(); + Iterator<Object> iter = fSelectedMB.iterator(); + while (iter.hasNext()) { + IMemoryBlock mb = (IMemoryBlock) iter.next(); if (fView instanceof MemoryView) { - MemoryView memView = (MemoryView)fView; + MemoryView memView = (MemoryView) fView; IMemoryRenderingContainer[] containers = memView.getMemoryRenderingContainers(); - - for (int i=0; i<containers.length; i++) { + + for (int i = 0; i < containers.length; i++) { if (containers[i] instanceof RenderingViewPane) { - ((RenderingViewPane)containers[i]).resetRenderings(mb, resetVisible); + ((RenderingViewPane) containers[i]).resetRenderings(mb, resetVisible); } } } } } - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) + /* + * (non-Javadoc) + * @see + * org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action + * .IAction, org.eclipse.jface.viewers.ISelection) */ + @Override public void selectionChanged(IAction action, ISelection selection) { action.setEnabled(!selection.isEmpty()); if (selection instanceof IStructuredSelection) { diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockPreferencePage.java index 1aa89987e..01dc1515b 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockPreferencePage.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockPreferencePage.java @@ -21,21 +21,27 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.PlatformUI; -public class ResetMemoryBlockPreferencePage extends FieldEditorPreferencePage{ - - public ResetMemoryBlockPreferencePage() - { +public class ResetMemoryBlockPreferencePage extends FieldEditorPreferencePage { + + public ResetMemoryBlockPreferencePage() { super(FieldEditorPreferencePage.GRID); setPreferenceStore(DebugUITools.getPreferenceStore()); setTitle(DebugUIMessages.ResetMemoryBlockPreferencePage_0); } - + @Override protected void createFieldEditors() { - RadioGroupFieldEditor editor = new RadioGroupFieldEditor(IDebugPreferenceConstants.PREF_RESET_MEMORY_BLOCK, DebugUIMessages.ResetMemoryBlockPreferencePage_1, 1, new String[][] {{DebugUIMessages.ResetMemoryBlockPreferencePage_2, IDebugPreferenceConstants.RESET_VISIBLE},{DebugUIMessages.ResetMemoryBlockPreferencePage_3, IDebugPreferenceConstants.RESET_ALL}}, getFieldEditorParent()); + RadioGroupFieldEditor editor = new RadioGroupFieldEditor(IDebugPreferenceConstants.PREF_RESET_MEMORY_BLOCK, DebugUIMessages.ResetMemoryBlockPreferencePage_1, 1, new String[][] { + { + DebugUIMessages.ResetMemoryBlockPreferencePage_2, + IDebugPreferenceConstants.RESET_VISIBLE }, + { + DebugUIMessages.ResetMemoryBlockPreferencePage_3, + IDebugPreferenceConstants.RESET_ALL } }, getFieldEditorParent()); addField(editor); } - + + @Override protected Control createContents(Composite parent) { PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".resetMemoryMonitor_preference_page_context"); //$NON-NLS-1$ return super.createContents(parent); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RetargetAddMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RetargetAddMemoryBlockAction.java index a0667815d..6eaed8d30 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RetargetAddMemoryBlockAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RetargetAddMemoryBlockAction.java @@ -21,94 +21,79 @@ import org.eclipse.debug.ui.actions.IAddMemoryBlocksTarget; import org.eclipse.debug.ui.memory.IMemoryRenderingSite; /** - * This is the retargettable add memory block action in the Memory View. - * All AddMemoryBlock actions in the view will use this action to make sure - * that clients can override the "Add Memory Monitor" dialog. - * + * This is the retargettable add memory block action in the Memory View. All + * AddMemoryBlock actions in the view will use this action to make sure that + * clients can override the "Add Memory Monitor" dialog. + * */ public class RetargetAddMemoryBlockAction extends AddMemoryBlockAction { - public RetargetAddMemoryBlockAction(IMemoryRenderingSite site) - { + public RetargetAddMemoryBlockAction(IMemoryRenderingSite site) { super(site); } - - public RetargetAddMemoryBlockAction(IMemoryRenderingSite site, boolean addDefaultRenderings) - { + + public RetargetAddMemoryBlockAction(IMemoryRenderingSite site, boolean addDefaultRenderings) { super(site, addDefaultRenderings); } - - public RetargetAddMemoryBlockAction(String text, int style, IMemoryRenderingSite site) - { + + public RetargetAddMemoryBlockAction(String text, int style, IMemoryRenderingSite site) { super(text, style, site); } + @Override public void run() { - // get current selection from Debug View + // get current selection from Debug View Object debugContext = DebugUITools.getPartDebugContext(fSite.getSite()); IAddMemoryBlocksTarget target = getAddMemoryBlocksTarget(debugContext); - - if (target != null) - { + + if (target != null) { try { - if (target.supportsAddMemoryBlocks(getMemoryView())) - { + if (target.supportsAddMemoryBlocks(getMemoryView())) { target.addMemoryBlocks(getMemoryView(), getMemoryView().getSite().getSelectionProvider().getSelection()); - } - else + } else super.run(); } catch (CoreException e) { DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.RetargetAddMemoryBlockAction_0, ActionMessages.RetargetAddMemoryBlockAction_1, e); } - } - else - { + } else { super.run(); } } + @Override protected void updateAction(Object debugContext) { - + try { IAddMemoryBlocksTarget target = getAddMemoryBlocksTarget(debugContext); - - if (target != null) - { - if (target.supportsAddMemoryBlocks(getMemoryView())) - { + + if (target != null) { + if (target.supportsAddMemoryBlocks(getMemoryView())) { if (getMemoryView().getSite().getSelectionProvider() != null) setEnabled(target.canAddMemoryBlocks(getMemoryView(), getMemoryView().getSite().getSelectionProvider().getSelection())); else super.updateAction(debugContext); - } - else + } else super.updateAction(debugContext); - } - else - { + } else { super.updateAction(debugContext); } } catch (CoreException e) { DebugUIPlugin.log(e); } } - - private IAddMemoryBlocksTarget getAddMemoryBlocksTarget(Object debugContext) - { + + private IAddMemoryBlocksTarget getAddMemoryBlocksTarget(Object debugContext) { IMemoryBlockRetrieval standardMemRetrieval = MemoryViewUtil.getMemoryBlockRetrieval(debugContext); - + if (standardMemRetrieval == null) return null; - + IAddMemoryBlocksTarget target = null; - - if (standardMemRetrieval instanceof IAddMemoryBlocksTarget) - { + + if (standardMemRetrieval instanceof IAddMemoryBlocksTarget) { target = (IAddMemoryBlocksTarget) standardMemRetrieval; - } - else if (standardMemRetrieval instanceof IAdaptable) - { - target = (IAddMemoryBlocksTarget)((IAdaptable)standardMemRetrieval).getAdapter(IAddMemoryBlocksTarget.class); + } else if (standardMemRetrieval instanceof IAdaptable) { + target = (IAddMemoryBlocksTarget) ((IAdaptable) standardMemRetrieval).getAdapter(IAddMemoryBlocksTarget.class); } return target; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetPaddedStringPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetPaddedStringPreferencePage.java index 559c20c63..8cd837bd7 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetPaddedStringPreferencePage.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetPaddedStringPreferencePage.java @@ -9,7 +9,6 @@ * IBM Corporation - initial API and implementation *******************************************************************************/ - package org.eclipse.debug.internal.ui.views.memory; import org.eclipse.debug.internal.ui.DebugUIMessages; @@ -24,17 +23,17 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.ui.PlatformUI; public class SetPaddedStringPreferencePage extends FieldEditorPreferencePage { - + private StringFieldEditor fPaddedString; - public SetPaddedStringPreferencePage() - { + public SetPaddedStringPreferencePage() { super(FieldEditorPreferencePage.GRID); setPreferenceStore(DebugUITools.getPreferenceStore()); setTitle(DebugUIMessages.SetPaddedStringDialog_0); - + } + @Override protected void createFieldEditors() { fPaddedString = new StringFieldEditor(IDebugUIConstants.PREF_PADDED_STR, DebugUIMessages.SetPaddedStringPreferencePage_0, getFieldEditorParent()); fPaddedString.setEmptyStringAllowed(false); @@ -42,12 +41,14 @@ public class SetPaddedStringPreferencePage extends FieldEditorPreferencePage { addField(fPaddedString); } + @Override protected Label createDescriptionLabel(Composite parent) { Label label = new Label(parent, SWT.NONE); label.setText(DebugUIMessages.SetPaddedStringDialog_1); return label; } + @Override protected Control createContents(Composite parent) { PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".SetPaddedStrDialog_context"); //$NON-NLS-1$ return super.createContents(parent); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SwitchMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SwitchMemoryBlockAction.java index 3ce617599..8a07ecf15 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SwitchMemoryBlockAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SwitchMemoryBlockAction.java @@ -50,12 +50,13 @@ import org.eclipse.ui.progress.UIJob; import org.eclipse.ui.progress.WorkbenchJob; /** - * The switch memory block action, used + * The switch memory block action, used */ public class SwitchMemoryBlockAction extends Action implements IViewActionDelegate, IActionDelegate2 { /** - * A job that updates the enablement of the of the backing action delegate in the UI thread + * A job that updates the enablement of the of the backing action delegate + * in the UI thread * * @since 3.3.0 */ @@ -69,24 +70,27 @@ public class SwitchMemoryBlockAction extends Action implements IViewActionDelega setSystem(true); } - /* (non-Javadoc) - * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor) + /* + * (non-Javadoc) + * @see + * org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime + * .IProgressMonitor) */ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { if (fAction != null) { IAdaptable context = getDebugContext(); if (context != null) { IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(context); - + if (retrieval != null) { IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(retrieval); fAction.setEnabled(memoryBlocks.length > 0); return Status.OK_STATUS; - } - else if (getViewer() != null) { + } else if (getViewer() != null) { Object input = getViewer().getInput(); if (input instanceof IMemoryBlockRetrieval) { - retrieval = (IMemoryBlockRetrieval)input; + retrieval = (IMemoryBlockRetrieval) input; IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(retrieval); fAction.setEnabled(memoryBlocks.length > 0); return Status.OK_STATUS; @@ -98,49 +102,54 @@ public class SwitchMemoryBlockAction extends Action implements IViewActionDelega return Status.CANCEL_STATUS; } } - + private IViewPart fView; private MenuCreator fMenuCreator; private IAction fAction; private UpdateActionEnablementJob fUpdateJob = new UpdateActionEnablementJob(); - + /** * Memoryblock listener to update action delegate enablement */ private IMemoryBlockListener fListener = new IMemoryBlockListener() { + @Override public void memoryBlocksAdded(IMemoryBlock[] memory) { if (fAction != null) { fUpdateJob.schedule(); } } + @Override public void memoryBlocksRemoved(IMemoryBlock[] memory) { if (fAction != null) { fUpdateJob.schedule(); } } }; - + /** * Listens for debug context changes and updates action delegate enablement */ private IDebugContextListener fDebugContextListener = new IDebugContextListener() { + @Override public void debugContextChanged(DebugContextEvent event) { - if (fAction != null) { + if (fAction != null) { fUpdateJob.schedule(); } } }; - + /** * Switch tab folder for fMemoryBlock to the top in Memory Rendering View */ class SwitchToAction extends Action { private IMemoryBlock fMemoryblock; - - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { if (fView == null) { return; @@ -153,89 +162,98 @@ public class SwitchMemoryBlockAction extends Action implements IViewActionDelega super(); if (buildLabel) { setText(DebugUIMessages.SwitchMemoryBlockAction_4); - Job job = new Job("SwtichToAction"){ //$NON-NLS-1$ + Job job = new Job("SwtichToAction") { //$NON-NLS-1$ + @Override protected IStatus run(IProgressMonitor monitor) { getLabels(memBlk); return Status.OK_STATUS; - }}; + } + }; job.setSystem(true); job.schedule(); } fMemoryblock = memBlk; } - + public SwitchToAction(final IMemoryBlock memBlk, String label) { super(label); fMemoryblock = memBlk; } - + private void getLabels(final IMemoryBlock memBlk) { StringBuffer text = new StringBuffer(IInternalDebugCoreConstants.EMPTY_STRING); String label = new String(IInternalDebugCoreConstants.EMPTY_STRING); if (memBlk instanceof IMemoryBlockExtension) { - String expression = ((IMemoryBlockExtension)memBlk).getExpression(); + String expression = ((IMemoryBlockExtension) memBlk).getExpression(); if (expression == null) { expression = DebugUIMessages.SwitchMemoryBlockAction_0; } text.append(expression); - } - else { + } else { long address = memBlk.getStartAddress(); text.append(Long.toHexString(address)); } - + label = text.toString(); label = decorateLabel(memBlk, label); final String finalLabel = label; WorkbenchJob job = new WorkbenchJob("SwtichToAction Update Label") { //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { SwitchToAction.super.setText(finalLabel); return Status.OK_STATUS; - }}; + } + }; job.setSystem(true); job.schedule(); } } - + /** * Menu creator for the action */ class MenuCreator implements IMenuCreator { Menu dropdown; - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.jface.action.IMenuCreator#dispose() */ + @Override public void dispose() { if (dropdown != null) dropdown.dispose(); } - /* (non-Javadoc) - * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets + * .Control) */ + @Override public Menu getMenu(Control parent) { - if (dropdown != null) { + if (dropdown != null) { dropdown.dispose(); dropdown = null; } - if (dropdown == null) { - dropdown = new Menu(parent); + if (dropdown == null) { + dropdown = new Menu(parent); // get all memory blocks from tree viewer IMemoryBlock[] allMemoryBlocks = null; - + // get selection from memory view IMemoryBlock memoryBlock = getCurrentMemoryBlock(); - + Object context = getDebugContext(); - IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(context); + IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(context); if (retrieval != null) { allMemoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(retrieval); } if (allMemoryBlocks != null) { - for (int i=0; i<allMemoryBlocks.length; i++) { + for (int i = 0; i < allMemoryBlocks.length; i++) { SwitchToAction action = new SwitchToAction(allMemoryBlocks[i], true); if (allMemoryBlocks[i] == memoryBlock) { action.setChecked(true); @@ -249,59 +267,70 @@ public class SwitchMemoryBlockAction extends Action implements IViewActionDelega return dropdown; } - /* (non-Javadoc) - * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets + * .Menu) */ + @Override public Menu getMenu(Menu parent) { return null; } - - } - - /* (non-Javadoc) + + } + + /* + * (non-Javadoc) * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) */ + @Override public void init(IViewPart view) { fView = view; DebugUITools.getDebugContextManager().getContextService(fView.getViewSite().getWorkbenchWindow()).addDebugContextListener(fDebugContextListener); DebugPlugin.getDefault().getMemoryBlockManager().addListener(fListener); fUpdateJob.runInUIThread(new NullProgressMonitor()); } - + /** * Returns the current memory blocks tree viewer, or <code>null</code> + * * @return the memory blocks tree viewer or <code>null</code> */ private StructuredViewer getViewer() { if (fView instanceof MemoryView) { - MemoryView memView = (MemoryView)fView; + MemoryView memView = (MemoryView) fView; IMemoryViewPane pane = memView.getViewPane(MemoryBlocksTreeViewPane.PANE_ID); if (pane instanceof MemoryBlocksTreeViewPane) { - StructuredViewer viewer = ((MemoryBlocksTreeViewPane)pane).getViewer(); + StructuredViewer viewer = ((MemoryBlocksTreeViewPane) pane).getViewer(); return viewer; } } return null; } - - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ + @Override public void run(IAction action) { switchToNext(); } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.jface.action.Action#run() */ + @Override public void run() { switchToNext(); } - private void switchToNext() { + private void switchToNext() { IAdaptable context = getDebugContext(); if (context instanceof IDebugElement) { - IDebugElement debugContext = (IDebugElement)context; + IDebugElement debugContext = (IDebugElement) context; IMemoryBlockRetrieval retrieval = MemoryViewUtil.getMemoryBlockRetrieval(debugContext); if (retrieval != null) { @@ -320,13 +349,13 @@ public class SwitchMemoryBlockAction extends Action implements IViewActionDelega IMemoryBlock current = getCurrentMemoryBlock(); int next = 0; if (current != null) { - for (int i=0; i<memoryBlocks.length; i++) { + for (int i = 0; i < memoryBlocks.length; i++) { if (memoryBlocks[i] == current) { - next = i+1; + next = i + 1; } } } - if (next > memoryBlocks.length-1) { + if (next > memoryBlocks.length - 1) { next = 0; } SwitchToAction switchAction = new SwitchToAction(memoryBlocks[next], false); @@ -334,14 +363,22 @@ public class SwitchMemoryBlockAction extends Action implements IViewActionDelega } } - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) + /* + * (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) {} + @Override + public void selectionChanged(IAction action, ISelection selection) { + } - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction) + /* + * (non-Javadoc) + * @see + * org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction) */ + @Override public void init(IAction action) { fAction = action; fUpdateJob.runInUIThread(new NullProgressMonitor()); @@ -349,9 +386,11 @@ public class SwitchMemoryBlockAction extends Action implements IViewActionDelega action.setMenuCreator(fMenuCreator); } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.ui.IActionDelegate2#dispose() */ + @Override public void dispose() { fAction = null; DebugPlugin.getDefault().getMemoryBlockManager().removeListener(fListener); @@ -361,15 +400,20 @@ public class SwitchMemoryBlockAction extends Action implements IViewActionDelega } } - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event) + /* + * (non-Javadoc) + * @see + * org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action + * .IAction, org.eclipse.swt.widgets.Event) */ + @Override public void runWithEvent(IAction action, Event event) { switchToNext(); } /** * Returns the current memory block + * * @return the current memory block or <code>null</code> */ private IMemoryBlock getCurrentMemoryBlock() { @@ -378,15 +422,14 @@ public class SwitchMemoryBlockAction extends Action implements IViewActionDelega } ISelection memBlkSelection = fView.getSite().getSelectionProvider().getSelection(); IMemoryBlock memoryBlock = null; - - if (memBlkSelection != null) { - if (!memBlkSelection.isEmpty() && memBlkSelection instanceof IStructuredSelection) { - Object obj = ((IStructuredSelection)memBlkSelection).getFirstElement(); - if (obj instanceof IMemoryBlock) { - memoryBlock = (IMemoryBlock)obj; - } - else if (obj instanceof IMemoryRendering) { - memoryBlock = ((IMemoryRendering)obj).getMemoryBlock(); + + if (memBlkSelection != null) { + if (!memBlkSelection.isEmpty() && memBlkSelection instanceof IStructuredSelection) { + Object obj = ((IStructuredSelection) memBlkSelection).getFirstElement(); + if (obj instanceof IMemoryBlock) { + memoryBlock = (IMemoryBlock) obj; + } else if (obj instanceof IMemoryRendering) { + memoryBlock = ((IMemoryRendering) obj).getMemoryBlock(); } } } @@ -395,12 +438,13 @@ public class SwitchMemoryBlockAction extends Action implements IViewActionDelega /** * Decorate the label for the specified <code>IMemoryBlock</code> + * * @param memBlk * @param label * @return the decorated label for the specified <code>IMemoryBlock</code> */ private String decorateLabel(final IMemoryBlock memBlk, String label) { - ILabelDecorator decorator = (ILabelDecorator)memBlk.getAdapter(ILabelDecorator.class); + ILabelDecorator decorator = (ILabelDecorator) memBlk.getAdapter(ILabelDecorator.class); if (decorator != null) { label = decorator.decorateText(label, memBlk); } @@ -408,10 +452,10 @@ public class SwitchMemoryBlockAction extends Action implements IViewActionDelega } private IAdaptable getDebugContext() { - if (fView != null) { - return DebugUITools.getPartDebugContext(fView.getSite()); - } else { - return DebugUITools.getDebugContext(); - } + if (fView != null) { + return DebugUITools.getPartDebugContext(fView.getSite()); + } else { + return DebugUITools.getDebugContext(); + } } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java index 974b876eb..80ea1e47e 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java @@ -16,99 +16,94 @@ import java.util.Hashtable; import org.eclipse.debug.core.model.IMemoryBlock; - /** - * Stores synchronization information for a memory block - * Each object of synchronization information contains a memory block, - * a list of views to be synchronized and a list of properties to be syncrhonized. - * The views are responsible for defining properties to be synchronized and notifying - * the synchronizer of properties changes. This is only for keeping track of - * values of synchronized properties and firing events when properties are changed. + * Stores synchronization information for a memory block Each object of + * synchronization information contains a memory block, a list of views to be + * synchronized and a list of properties to be syncrhonized. The views are + * responsible for defining properties to be synchronized and notifying the + * synchronizer of properties changes. This is only for keeping track of values + * of synchronized properties and firing events when properties are changed. * - * Memory block serves as a key for synchronization. Views displaying the same - * memory block can be synchronized. Views displaying different memory block + * Memory block serves as a key for synchronization. Views displaying the same + * memory block can be synchronized. Views displaying different memory block * cannot be synchronized. * * @since 3.0 */ -public class SynchronizeInfo -{ - private IMemoryBlock fBlock; // memory block blocked by the views - private Hashtable fProperties; // list of properties to be synchronized +public class SynchronizeInfo { + private IMemoryBlock fBlock; // memory block blocked by the views + private Hashtable<String, Object> fProperties; // list of properties to be + // synchronized /** * Create a new synchronization info object for the memory block + * * @param block */ - public SynchronizeInfo(IMemoryBlock block) - { + public SynchronizeInfo(IMemoryBlock block) { fBlock = block; - fProperties = new Hashtable(); + fProperties = new Hashtable<String, Object>(); } - - + /** * Set a property and its value to the info object + * * @param propertyId * @param value */ - public void setProperty(String propertyId, Object value) - { + public void setProperty(String propertyId, Object value) { if (propertyId == null) return; - + if (value == null) return; - + fProperties.put(propertyId, value); } - + /** * Returns the value of the property from the info object + * * @param propertyId * @return value of the property */ - public Object getProperty(String propertyId) - { + public Object getProperty(String propertyId) { if (propertyId == null) return null; - + Object value = fProperties.get(propertyId); - - return value; + + return value; } - + /** * @return all the property ids stored in this sync info object */ - public String[] getPropertyIds() - { + public String[] getPropertyIds() { if (fProperties == null) return new String[0]; - - Enumeration enumeration = fProperties.keys(); - ArrayList ids = new ArrayList(); - - while (enumeration.hasMoreElements()) - { + + Enumeration<String> enumeration = fProperties.keys(); + ArrayList<String> ids = new ArrayList<String>(); + + while (enumeration.hasMoreElements()) { ids.add(enumeration.nextElement()); } - - return (String[])ids.toArray(new String[ids.size()]); + + return ids.toArray(new String[ids.size()]); } - + /** * Clean up the synchronization info object */ - public void delete() - { - - if (fProperties != null){ + public void delete() { + + if (fProperties != null) { fProperties.clear(); fProperties = null; } - - if (fBlock != null){ + + if (fBlock != null) { fBlock = null; } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleMemoryMonitorsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleMemoryMonitorsAction.java index 8595c838f..429b22e29 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleMemoryMonitorsAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleMemoryMonitorsAction.java @@ -10,17 +10,21 @@ *******************************************************************************/ package org.eclipse.debug.internal.ui.views.memory; - /** * Toggles the visiblity of a view pane. + * * @since 3.1 - * + * */ public class ToggleMemoryMonitorsAction extends ToggleViewPaneAction { - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.ToggleViewPaneAction#getPaneId() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.ToggleViewPaneAction#getPaneId + * () */ + @Override public String getPaneId() { return MemoryBlocksTreeViewPane.PANE_ID; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleSplitPaneAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleSplitPaneAction.java index 68d1474c6..bd99fa281 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleSplitPaneAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleSplitPaneAction.java @@ -14,14 +14,19 @@ import org.eclipse.debug.ui.IDebugUIConstants; /** * Toggles the visibility of the rendering view pane 2. + * * @since 3.1 - * + * */ public class ToggleSplitPaneAction extends ToggleViewPaneAction { - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.memory.ToggleViewPaneAction#getPaneId() + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.internal.ui.views.memory.ToggleViewPaneAction#getPaneId + * () */ + @Override public String getPaneId() { return IDebugUIConstants.ID_RENDERING_VIEW_PANE_2; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleViewPaneAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleViewPaneAction.java index 645c2d706..c340b3b76 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleViewPaneAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ToggleViewPaneAction.java @@ -24,49 +24,56 @@ import org.eclipse.ui.IViewPart; /** * @since 3.1 */ -abstract public class ToggleViewPaneAction extends Action implements IViewActionDelegate, IActionDelegate2, IPropertyChangeListener { +abstract public class ToggleViewPaneAction extends Action implements IViewActionDelegate, IActionDelegate2, IPropertyChangeListener { MemoryView fView; IAction fAction; - - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) */ + @Override public void init(IViewPart view) { - if (view instanceof MemoryView) - { - fView = (MemoryView)view; + if (view instanceof MemoryView) { + fView = (MemoryView) view; } } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ + @Override public void run(IAction action) { - + if (fView == null) return; - + fView.showViewPane(!fView.isViewPaneVisible(getPaneId()), getPaneId()); - + if (fView.isViewPaneVisible(getPaneId())) action.setChecked(true); else action.setChecked(false); - + } - + + @Override public void run() { if (fView == null) return; - + fView.showViewPane(!fView.isViewPaneVisible(getPaneId()), getPaneId()); } - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) + /* + * (non-Javadoc) + * @see + * org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action + * .IAction, org.eclipse.jface.viewers.ISelection) */ + @Override public void selectionChanged(IAction action, ISelection selection) { if (fView.isViewPaneVisible(getPaneId())) action.setChecked(true); @@ -74,28 +81,31 @@ abstract public class ToggleViewPaneAction extends Action implements IViewActio action.setChecked(false); } + @Override public void dispose() { DebugUITools.getPreferenceStore().removePropertyChangeListener(this); } + @Override public void init(IAction action) { fAction = action; DebugUITools.getPreferenceStore().addPropertyChangeListener(this); } + @Override public void runWithEvent(IAction action, Event event) { run(action); } + @Override public void propertyChange(PropertyChangeEvent event) { - if (fView != null && fAction != null) - { + if (fView != null && fAction != null) { if (fView.isViewPaneVisible(getPaneId())) fAction.setChecked(true); else fAction.setChecked(false); } } - - abstract public String getPaneId(); + + abstract public String getPaneId(); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneOrientationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneOrientationAction.java index 5c7f26f37..ce31a0cb5 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneOrientationAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneOrientationAction.java @@ -19,39 +19,37 @@ import org.eclipse.debug.ui.IDebugUIConstants; import org.eclipse.jface.action.Action; import org.eclipse.ui.PlatformUI; -class ViewPaneOrientationAction extends Action -{ - private MemoryView fView; - private int fOrientation; +class ViewPaneOrientationAction extends Action { + private MemoryView fView; + private int fOrientation; - ViewPaneOrientationAction(MemoryView view, int orientation) - { - super(IInternalDebugCoreConstants.EMPTY_STRING, AS_RADIO_BUTTON); - fView = view; - fOrientation = orientation; - - if (orientation == MemoryView.HORIZONTAL_VIEW_ORIENTATION) { - setText(DebugUIMessages.ViewPaneOrientationAction_0); - setToolTipText(DebugUIMessages.ViewPaneOrientationAction_1); - setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_RIGHT)); - setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_RIGHT)); - setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DETAIL_PANE_RIGHT)); - } else if (orientation == MemoryView.VERTICAL_VIEW_ORIENTATION) { - setText(DebugUIMessages.ViewPaneOrientationAction_2); - setToolTipText(DebugUIMessages.ViewPaneOrientationAction_3); - setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_UNDER)); - setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_UNDER)); - setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DETAIL_PANE_UNDER)); - } - PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.MEMORY_VIEW_PANE_ORIENTATION_ACTION); - } + ViewPaneOrientationAction(MemoryView view, int orientation) { + super(IInternalDebugCoreConstants.EMPTY_STRING, AS_RADIO_BUTTON); + fView = view; + fOrientation = orientation; - public void run() { - fView.setViewPanesOrientation(fOrientation); - } - - public int getOrientation() - { - return fOrientation; + if (orientation == MemoryView.HORIZONTAL_VIEW_ORIENTATION) { + setText(DebugUIMessages.ViewPaneOrientationAction_0); + setToolTipText(DebugUIMessages.ViewPaneOrientationAction_1); + setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_RIGHT)); + setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_RIGHT)); + setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DETAIL_PANE_RIGHT)); + } else if (orientation == MemoryView.VERTICAL_VIEW_ORIENTATION) { + setText(DebugUIMessages.ViewPaneOrientationAction_2); + setToolTipText(DebugUIMessages.ViewPaneOrientationAction_3); + setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_UNDER)); + setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_UNDER)); + setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DETAIL_PANE_UNDER)); } + PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.MEMORY_VIEW_PANE_ORIENTATION_ACTION); + } + + @Override + public void run() { + fView.setViewPanesOrientation(fOrientation); + } + + public int getOrientation() { + return fOrientation; } +} diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java index e20a18ee3..b16085334 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneRenderingMgr.java @@ -43,185 +43,159 @@ import org.w3c.dom.Node; import org.w3c.dom.NodeList; /** - * A View Pane Rendering Manager manages all the rendering from a view pane. - * It is responsible for handling debug events and removing renderings - * from the view pane as a debug session is terminated. - * In addition, the rendering manager is responsible for persisting memory renderings. - * Renderings need to be persisted when the memory view is disposed. If the view is - * opened again, the same set of renderings will be created in the view pane if - * the renderings are still valid. + * A View Pane Rendering Manager manages all the rendering from a view pane. It + * is responsible for handling debug events and removing renderings from the + * view pane as a debug session is terminated. In addition, the rendering + * manager is responsible for persisting memory renderings. Renderings need to + * be persisted when the memory view is disposed. If the view is opened again, + * the same set of renderings will be created in the view pane if the renderings + * are still valid. + * * @since 3.1 */ -public class ViewPaneRenderingMgr implements IDebugEventSetListener{ +public class ViewPaneRenderingMgr implements IDebugEventSetListener { - private final ArrayList fRenderings = new ArrayList(); + private final ArrayList<IMemoryRendering> fRenderings = new ArrayList<IMemoryRendering>(); private final IMemoryRenderingContainer fViewPane; - + private static final String RENDERINGS_TAG = "persistedMemoryRenderings"; //$NON-NLS-1$ private static final String MEMORY_RENDERING_TAG = "memoryRendering"; //$NON-NLS-1$ private static final String MEMORY_BLOCK = "memoryBlock"; //$NON-NLS-1$ private static final String RENDERING_ID = "renderingId"; //$NON-NLS-1$ - - public ViewPaneRenderingMgr(IMemoryRenderingContainer viewPane) - { + + public ViewPaneRenderingMgr(IMemoryRenderingContainer viewPane) { fViewPane = viewPane; loadPersistedRenderings(getPrefId()); } - public void removeMemoryBlockRendering(IMemoryBlock mem, String renderingId) - { - if(fRenderings == null) { + public void removeMemoryBlockRendering(IMemoryBlock mem, String renderingId) { + if (fRenderings == null) { return; } - + IMemoryRendering[] toRemove = getRenderings(mem, renderingId); - - for (int i=0; i<toRemove.length; i++) - { + + for (int i = 0; i < toRemove.length; i++) { fRenderings.remove(toRemove[i]); - + // remove listener after the last memory block has been removed - if (fRenderings.size() == 0) - { + if (fRenderings.size() == 0) { DebugPlugin.getDefault().removeDebugEventListener(this); } } - + storeRenderings(); } - public void addMemoryBlockRendering(IMemoryRendering rendering) { - + // do not allow duplicated objects if (fRenderings.contains(rendering)) { return; } - + fRenderings.add(rendering); - + // add listener for the first memory block added - if (fRenderings.size() == 1) - { + if (fRenderings.size() == 1) { DebugPlugin.getDefault().addDebugEventListener(this); } - + storeRenderings(); } - public void removeMemoryBlockRendering(IMemoryRendering rendering) { - if(rendering == null) { + if (rendering == null) { return; } - - if(!fRenderings.contains(rendering)) { + + if (!fRenderings.contains(rendering)) { return; } - + fRenderings.remove(rendering); - + // remove listener after the last memory block has been removed - if (fRenderings.size() == 0) - { + if (fRenderings.size() == 0) { DebugPlugin.getDefault().removeDebugEventListener(this); } - + storeRenderings(); } - public IMemoryRendering[] getRenderings(IMemoryBlock mem, String renderingId) - { - if (renderingId == null) - { + public IMemoryRendering[] getRenderings(IMemoryBlock mem, String renderingId) { + if (renderingId == null) { return getRenderingsFromMemoryBlock(mem); } - - ArrayList ret = new ArrayList(); - for (int i=0; i<fRenderings.size(); i++) - { - if (fRenderings.get(i) instanceof IMemoryRendering) - { - IMemoryRendering rendering = (IMemoryRendering)fRenderings.get(i); - if (rendering.getMemoryBlock() == mem && renderingId.equals(rendering.getRenderingId())) - { + + ArrayList<IMemoryRendering> ret = new ArrayList<IMemoryRendering>(); + for (int i = 0; i < fRenderings.size(); i++) { + if (fRenderings.get(i) != null) { + IMemoryRendering rendering = fRenderings.get(i); + if (rendering.getMemoryBlock() == mem && renderingId.equals(rendering.getRenderingId())) { ret.add(rendering); } } } - - return (IMemoryRendering[])ret.toArray(new IMemoryRendering[ret.size()]); + + return ret.toArray(new IMemoryRendering[ret.size()]); } - - public IMemoryRendering[] getRenderings() - { - return (IMemoryRendering[])fRenderings.toArray(new IMemoryRendering[fRenderings.size()]); + + public IMemoryRendering[] getRenderings() { + return fRenderings.toArray(new IMemoryRendering[fRenderings.size()]); } - public IMemoryRendering[] getRenderingsFromDebugTarget(IDebugTarget target) - { - ArrayList ret = new ArrayList(); - for (int i=0; i<fRenderings.size(); i++) - { - if (fRenderings.get(i) instanceof IMemoryRendering) - { - IMemoryRendering rendering = (IMemoryRendering)fRenderings.get(i); - if (rendering.getMemoryBlock().getDebugTarget() == target) - { + public IMemoryRendering[] getRenderingsFromDebugTarget(IDebugTarget target) { + ArrayList<IMemoryRendering> ret = new ArrayList<IMemoryRendering>(); + for (int i = 0; i < fRenderings.size(); i++) { + if (fRenderings.get(i) != null) { + IMemoryRendering rendering = fRenderings.get(i); + if (rendering.getMemoryBlock().getDebugTarget() == target) { ret.add(rendering); } } } - - return (IMemoryRendering[])ret.toArray(new IMemoryRendering[ret.size()]); + + return ret.toArray(new IMemoryRendering[ret.size()]); } - - - public IMemoryRendering[] getRenderingsFromMemoryBlock(IMemoryBlock block) - { - ArrayList ret = new ArrayList(); - for (int i=0; i<fRenderings.size(); i++) - { - if (fRenderings.get(i) instanceof IMemoryRendering) - { - IMemoryRendering rendering = (IMemoryRendering)fRenderings.get(i); - if (rendering.getMemoryBlock() == block) - { + + public IMemoryRendering[] getRenderingsFromMemoryBlock(IMemoryBlock block) { + ArrayList<IMemoryRendering> ret = new ArrayList<IMemoryRendering>(); + for (int i = 0; i < fRenderings.size(); i++) { + if (fRenderings.get(i) != null) { + IMemoryRendering rendering = fRenderings.get(i); + if (rendering.getMemoryBlock() == block) { ret.add(rendering); } } } - - return (IMemoryRendering[])ret.toArray(new IMemoryRendering[ret.size()]); - } - - + return ret.toArray(new IMemoryRendering[ret.size()]); + } + + @Override public void handleDebugEvents(DebugEvent[] events) { - - for (int i=0; i < events.length; i++) { + + for (int i = 0; i < events.length; i++) { handleDebugEvent(events[i]); } - + } - + public void handleDebugEvent(DebugEvent event) { Object obj = event.getSource(); IDebugTarget dt = null; - - if (event.getKind() == DebugEvent.TERMINATE) - { + + if (event.getKind() == DebugEvent.TERMINATE) { // a terminate event could happen from an IThread or IDebugTarget // Only handle terminate event from debug target - if (obj instanceof IDebugTarget) - { - dt = ((IDebugTarget)obj); - + if (obj instanceof IDebugTarget) { + dt = ((IDebugTarget) obj); + // returns empty array if dt == null IMemoryRendering[] deletedrendering = getRenderingsFromDebugTarget(dt); - - for (int i=0; i<deletedrendering.length; i++) - { + + for (int i = 0; i < deletedrendering.length; i++) { removeMemoryBlockRendering(deletedrendering[i].getMemoryBlock(), deletedrendering[i].getRenderingId()); fViewPane.removeMemoryRendering(deletedrendering[i]); } @@ -229,11 +203,10 @@ public class ViewPaneRenderingMgr implements IDebugEventSetListener{ } } - public void dispose() - { + public void dispose() { // remove all renderings fRenderings.clear(); - + String secondaryId = getViewSiteSecondaryId(); if (secondaryId != null) { // do not save renderings if this is not the primary rendering view @@ -248,19 +221,18 @@ public class ViewPaneRenderingMgr implements IDebugEventSetListener{ } } } - + DebugPlugin.getDefault().removeDebugEventListener(this); } - + /** - * Store renderings as preferences. If renderings are stored, renderings - * can be persisted even after the memory view is closed. + * Store renderings as preferences. If renderings are stored, renderings can + * be persisted even after the memory view is closed. */ - private void storeRenderings() - { - String renderingsStr= IInternalDebugCoreConstants.EMPTY_STRING; + private void storeRenderings() { + String renderingsStr = IInternalDebugCoreConstants.EMPTY_STRING; try { - renderingsStr= getRenderingsAsXML(); + renderingsStr = getRenderingsAsXML(); } catch (IOException e) { DebugUIPlugin.log(e); } catch (ParserConfigurationException e) { @@ -268,16 +240,15 @@ public class ViewPaneRenderingMgr implements IDebugEventSetListener{ } catch (TransformerException e) { DebugUIPlugin.log(e); } - + String prefid = getPrefId(); IEclipsePreferences node = InstanceScope.INSTANCE.getNode(DebugUIPlugin.getUniqueIdentifier()); - if(node != null) { + if (node != null) { if (renderingsStr != null) { node.put(prefid, renderingsStr); - } - else { + } else { IEclipsePreferences def = DefaultScope.INSTANCE.getNode(DebugUIPlugin.getUniqueIdentifier()); - if(def != null) { + if (def != null) { node.put(prefid, def.get(prefid, IInternalDebugCoreConstants.EMPTY_STRING)); } } @@ -290,47 +261,47 @@ public class ViewPaneRenderingMgr implements IDebugEventSetListener{ } private String getPrefId() { - // constructs id based on memory view's secondary id + the rendering view pane id - // format: secondaryId:viewPaneId + // constructs id based on memory view's secondary id + the rendering + // view pane id + // format: secondaryId:viewPaneId StringBuffer id = new StringBuffer(); IMemoryRenderingSite renderingSite = fViewPane.getMemoryRenderingSite(); IWorkbenchPartSite ps = renderingSite.getSite(); - if (ps instanceof IViewSite) - { - IViewSite vs = (IViewSite)ps; + if (ps instanceof IViewSite) { + IViewSite vs = (IViewSite) ps; String secondaryId = vs.getSecondaryId(); - if (secondaryId != null) - { + if (secondaryId != null) { id.append(secondaryId); id.append(":"); //$NON-NLS-1$ } - + } id.append(fViewPane.getId()); String prefId = id.toString(); return prefId; } - + /** * Convert renderings to xml text + * * @return * @throws IOException * @throws ParserConfigurationException * @throws TransformerException */ private String getRenderingsAsXML() throws IOException, ParserConfigurationException, TransformerException { - IMemoryRendering[] renderings= (IMemoryRendering[])fRenderings.toArray(new IMemoryRendering[fRenderings.size()]); - + IMemoryRendering[] renderings = fRenderings.toArray(new IMemoryRendering[fRenderings.size()]); + if (renderings.length == 0) { return null; } - - Document document= LaunchManager.getDocument(); - Element rootElement= document.createElement(RENDERINGS_TAG); + + Document document = LaunchManager.getDocument(); + Element rootElement = document.createElement(RENDERINGS_TAG); document.appendChild(rootElement); for (int i = 0; i < renderings.length; i++) { - IMemoryRendering rendering= renderings[i]; - Element element= document.createElement(MEMORY_RENDERING_TAG); + IMemoryRendering rendering = renderings[i]; + Element element = document.createElement(MEMORY_RENDERING_TAG); element.setAttribute(MEMORY_BLOCK, Integer.toString(rendering.getMemoryBlock().hashCode())); element.setAttribute(RENDERING_ID, rendering.getRenderingId()); rootElement.appendChild(element); @@ -342,11 +313,8 @@ public class ViewPaneRenderingMgr implements IDebugEventSetListener{ * Load renderings currently stored. */ private void loadPersistedRenderings(String prefId) { - String renderingsStr = Platform.getPreferencesService().getString( - DebugUIPlugin.getUniqueIdentifier(), - prefId, - "", //$NON-NLS-1$ - null); + String renderingsStr = Platform.getPreferencesService().getString(DebugUIPlugin.getUniqueIdentifier(), prefId, "", //$NON-NLS-1$ + null); if (renderingsStr.length() == 0) { return; } @@ -361,53 +329,48 @@ public class ViewPaneRenderingMgr implements IDebugEventSetListener{ DebugUIPlugin.logErrorMessage("Invalid format encountered while loading memory renderings."); //$NON-NLS-1$ return; } - NodeList list= root.getChildNodes(); - boolean renderingsAdded= false; - for (int i= 0, numItems= list.getLength(); i < numItems; i++) { - Node node= list.item(i); + NodeList list = root.getChildNodes(); + boolean renderingsAdded = false; + for (int i = 0, numItems = list.getLength(); i < numItems; i++) { + Node node = list.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { - Element element= (Element) node; + Element element = (Element) node; if (!element.getNodeName().equals(MEMORY_RENDERING_TAG)) { DebugUIPlugin.logErrorMessage("Invalid XML element encountered while loading memory rendering."); //$NON-NLS-1$ continue; } - String memoryBlockHashCode= element.getAttribute(MEMORY_BLOCK); + String memoryBlockHashCode = element.getAttribute(MEMORY_BLOCK); String renderingId = element.getAttribute(RENDERING_ID); - + IMemoryBlock[] memoryBlocks = DebugPlugin.getDefault().getMemoryBlockManager().getMemoryBlocks(); IMemoryBlock memoryBlock = null; - for (int j=0; j<memoryBlocks.length; j++) - { + for (int j = 0; j < memoryBlocks.length; j++) { if (Integer.toString(memoryBlocks[j].hashCode()).equals(memoryBlockHashCode)) { memoryBlock = memoryBlocks[j]; } } - - if (memoryBlock != null) - { - IMemoryRenderingType[] types = DebugUITools.getMemoryRenderingManager().getRenderingTypes(memoryBlock); + + if (memoryBlock != null) { + IMemoryRenderingType[] types = DebugUITools.getMemoryRenderingManager().getRenderingTypes(memoryBlock); IMemoryRenderingType type = null; - for (int k=0; k<types.length; k++) - { + for (int k = 0; k < types.length; k++) { if (types[k].getId().equals(renderingId)) { type = types[k]; } } - - // if memory block is not found, the rendering is no longer valid + + // if memory block is not found, the rendering is no longer + // valid // simply ignore the rendering - if (type != null) - { + if (type != null) { try { - + IMemoryRendering rendering = type.createRendering(); - if (rendering != null) - { + if (rendering != null) { rendering.init(fViewPane, memoryBlock); - if (!fRenderings.contains(rendering)) - { - fRenderings.add(rendering); - renderingsAdded= true; + if (!fRenderings.contains(rendering)) { + fRenderings.add(rendering); + renderingsAdded = true; } } } catch (CoreException e1) { @@ -420,18 +383,16 @@ public class ViewPaneRenderingMgr implements IDebugEventSetListener{ if (renderingsAdded) { DebugPlugin.getDefault().addDebugEventListener(this); } - } - + } + /** * @return secondary id, or null if not available */ - private String getViewSiteSecondaryId() - { + private String getViewSiteSecondaryId() { IMemoryRenderingSite renderingSite = fViewPane.getMemoryRenderingSite(); IWorkbenchPartSite ps = renderingSite.getSite(); - if (ps instanceof IViewSite) - { - IViewSite vs = (IViewSite)ps; + if (ps instanceof IViewSite) { + IViewSite vs = (IViewSite) ps; String secondaryId = vs.getSecondaryId(); return secondaryId; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java index c375da726..8e8c7795c 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewPaneSelectionProvider.java @@ -8,7 +8,7 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ - + package org.eclipse.debug.internal.ui.views.memory; import java.util.ArrayList; @@ -18,60 +18,67 @@ import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.ISelectionProvider; import org.eclipse.jface.viewers.SelectionChangedEvent; - /** * Handles selection changes in a rendering view pane. + * * @since 3.1 - * + * */ -public class ViewPaneSelectionProvider implements ISelectionProvider -{ - ArrayList fListeners = new ArrayList(); +public class ViewPaneSelectionProvider implements ISelectionProvider { + ArrayList<ISelectionChangedListener> fListeners = new ArrayList<ISelectionChangedListener>(); ISelection fSelection; - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener + * (org.eclipse.jface.viewers.ISelectionChangedListener) */ - public void addSelectionChangedListener(ISelectionChangedListener listener) - { + @Override + public void addSelectionChangedListener(ISelectionChangedListener listener) { if (!fListeners.contains(listener)) fListeners.add(listener); - + } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection() */ - public ISelection getSelection() - { + @Override + public ISelection getSelection() { return fSelection; } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener + * (org.eclipse.jface.viewers.ISelectionChangedListener) */ - public void removeSelectionChangedListener(ISelectionChangedListener listener) - { + @Override + public void removeSelectionChangedListener(ISelectionChangedListener listener) { if (fListeners.contains(listener)) fListeners.remove(listener); - + } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse + * .jface.viewers.ISelection) */ - public void setSelection(ISelection selection) - { + @Override + public void setSelection(ISelection selection) { fSelection = selection; fireChanged(); } - - public void fireChanged() - { + + public void fireChanged() { SelectionChangedEvent evt = new SelectionChangedEvent(this, getSelection()); - for (int i=0; i<fListeners.size(); i++) - { - ((ISelectionChangedListener)fListeners.get(i)).selectionChanged(evt); + for (int i = 0; i < fListeners.size(); i++) { + fListeners.get(i).selectionChanged(evt); } } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.java index 13631cd25..f129ae23c 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.java @@ -24,78 +24,72 @@ import org.eclipse.swt.events.SelectionListener; */ public class ViewTabEnablementManager implements SelectionListener { - /* (non-Javadoc) - * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt + * .events.SelectionEvent) */ + @Override public void widgetSelected(SelectionEvent e) { - if (e.getSource() instanceof CTabFolder) - { + if (e.getSource() instanceof CTabFolder) { handleTabFolderSelection(e); } } - /* (non-Javadoc) - * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse + * .swt.events.SelectionEvent) */ + @Override public void widgetDefaultSelected(SelectionEvent e) { - - + } - - private void handleTabFolderSelection(SelectionEvent event) - { - CTabFolder folder = (CTabFolder)event.getSource(); - + + private void handleTabFolderSelection(SelectionEvent event) { + CTabFolder folder = (CTabFolder) event.getSource(); + CTabItem selectedItem = folder.getSelection(); IMemoryViewTab selectedViewTab; - + // get selected view tab - if (selectedItem != null) - { + if (selectedItem != null) { Object obj = selectedItem.getData(); - - if (obj instanceof IMemoryViewTab) - { - selectedViewTab = (IMemoryViewTab)obj; - } - else - { + + if (obj instanceof IMemoryViewTab) { + selectedViewTab = (IMemoryViewTab) obj; + } else { return; } - } - else - { + } else { return; } - + // get all tabs CTabItem[] allTabs = folder.getItems(); - + // check all tabs to make sure they are enabled/disabled properly - for (int i=0; i<allTabs.length; i++) - { + for (int i = 0; i < allTabs.length; i++) { IMemoryViewTab viewTab; Object obj = allTabs[i].getData(); - - if (obj instanceof IMemoryViewTab) - { - viewTab = (IMemoryViewTab)obj; - + + if (obj instanceof IMemoryViewTab) { + viewTab = (IMemoryViewTab) obj; + // if view tab matches the selected item - if (viewTab == selectedViewTab && !viewTab.isEnabled() ) - { + if (viewTab == selectedViewTab && !viewTab.isEnabled()) { // if the item has been selected and this tab is not enabled // enable it. viewTab.setEnabled(true); viewTab.getRendering().activated(); - - } - else if (viewTab != selectedViewTab && viewTab.isEnabled()) - { + + } else if (viewTab != selectedViewTab && viewTab.isEnabled()) { // if the tab is not selected, disable it viewTab.setEnabled(false); viewTab.getRendering().deactivated(); - } + } } } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRendering.java index 4d2b01e90..946a2c5ad 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRendering.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRendering.java @@ -37,6 +37,7 @@ public class ASCIIRendering extends AbstractAsyncTextRendering{ setCodePage(codepage); } + @Override public void dispose() { super.dispose(); } @@ -44,6 +45,7 @@ public class ASCIIRendering extends AbstractAsyncTextRendering{ /* (non-Javadoc) * @see org.eclipse.debug.ui.memory.AbstractMemoryRendering#getNumCharsPerByte() */ + @Override public int getNumCharsPerByte() { return numCharsPerByte; } @@ -52,6 +54,7 @@ public class ASCIIRendering extends AbstractAsyncTextRendering{ /* (non-Javadoc) * @see org.eclipse.debug.ui.memory.AbstractTableRendering#getBytes(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[], java.lang.String) */ + @Override public byte[] getBytes( String renderingId, BigInteger address, @@ -76,6 +79,7 @@ public class ASCIIRendering extends AbstractAsyncTextRendering{ /* (non-Javadoc) * @see org.eclipse.debug.ui.memory.AbstractTableRendering#getString(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[]) */ + @Override public String getString( String renderingId, BigInteger address, @@ -105,6 +109,7 @@ public class ASCIIRendering extends AbstractAsyncTextRendering{ /* (non-Javadoc) * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) */ + @Override public void propertyChange(PropertyChangeEvent event) { // handle code page changed event diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRenderingTypeDelegate.java index 73c01e051..d242860a6 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRenderingTypeDelegate.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ASCIIRenderingTypeDelegate.java @@ -23,6 +23,7 @@ public class ASCIIRenderingTypeDelegate implements IMemoryRenderingTypeDelegate /* (non-Javadoc) * @see org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate#createRendering(java.lang.String) */ + @Override public IMemoryRendering createRendering(String id) throws CoreException { return new ASCIIRendering(id); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractBaseTableRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractBaseTableRendering.java index 7eb33d120..dda837e40 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractBaseTableRendering.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractBaseTableRendering.java @@ -87,6 +87,7 @@ public abstract class AbstractBaseTableRendering extends AbstractMemoryRendering /** * @return the label of this rendering */ + @Override abstract public String getLabel(); /** @@ -102,6 +103,7 @@ public abstract class AbstractBaseTableRendering extends AbstractMemoryRendering * @param address address to position cursor at * @throws DebugException if an exception occurrs */ + @Override abstract public void goToAddress(BigInteger address) throws DebugException; /** @@ -109,6 +111,7 @@ public abstract class AbstractBaseTableRendering extends AbstractMemoryRendering * * @return the currently selected address in this rendering */ + @Override abstract public BigInteger getSelectedAddress(); /** @@ -124,6 +127,7 @@ public abstract class AbstractBaseTableRendering extends AbstractMemoryRendering * @return the currently selected content in array of MemoryByte. * Returns an empty array if the selected address is out of buffered range. */ + @Override abstract public MemoryByte[] getSelectedAsBytes(); /** diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractIntegerRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractIntegerRendering.java index 9f11c9779..a8cab1aaa 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractIntegerRendering.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractIntegerRendering.java @@ -29,6 +29,7 @@ public abstract class AbstractIntegerRendering extends AbstractAsyncTableRenderi super(renderingId); } + @Override public void init(IMemoryRenderingContainer container, IMemoryBlock block) { super.init(container, block); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractTableRenderingLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractTableRenderingLabelProvider.java index 8fcbf331a..b48978798 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractTableRenderingLabelProvider.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractTableRenderingLabelProvider.java @@ -44,6 +44,7 @@ abstract public class AbstractTableRenderingLabelProvider extends LabelProvider /* (non-Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() */ + @Override public void dispose() { fRendering = null; super.dispose(); @@ -52,6 +53,7 @@ abstract public class AbstractTableRenderingLabelProvider extends LabelProvider /** * @see ITableLabelProvider#getColumnImage(Object, int) */ + @Override public Image getColumnImage(Object element, int columnIndex) { if (columnIndex == 0) @@ -78,6 +80,7 @@ abstract public class AbstractTableRenderingLabelProvider extends LabelProvider /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int) */ + @Override public String getColumnText(Object element, int columnIndex) { String columnLabel = null; diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java index c366b2dcc..a4f056241 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AbstractVirtualContentTableModel.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 IBM Corporation and others. + * Copyright (c) 2006, 2013 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 @@ -16,70 +16,62 @@ import org.eclipse.debug.internal.ui.viewers.AsynchronousTableModel; import org.eclipse.debug.internal.ui.viewers.AsynchronousViewer; import org.eclipse.debug.internal.ui.viewers.ModelNode; -abstract public class AbstractVirtualContentTableModel extends AsynchronousTableModel{ +abstract public class AbstractVirtualContentTableModel extends AsynchronousTableModel { public AbstractVirtualContentTableModel(AsynchronousViewer viewer) { super(viewer); } - public Object[] getElements() - { + public Object[] getElements() { ModelNode[] nodes = getNodes(getRootNode().getElement()); - ArrayList result = new ArrayList(); - if (nodes != null) - { - for (int i=0; i<nodes.length; i++) - { + ArrayList<Object> result = new ArrayList<Object>(); + if (nodes != null) { + for (int i = 0; i < nodes.length; i++) { ModelNode[] children = nodes[i].getChildrenNodes(); - if (children != null) - { - for (int j=0; j<children.length; j++) - { + if (children != null) { + for (int j = 0; j < children.length; j++) { result.add(children[j].getElement()); } } } - + return result.toArray(); } return new Object[0]; } - - public Object getElement(int idx) - { + + public Object getElement(int idx) { Object[] elements = getElements(); - if (idx >=0 && idx < elements.length) + if (idx >= 0 && idx < elements.length) { return elements[idx]; + } return null; } - - public int indexOfElement(Object element) - { + public int indexOfElement(Object element) { Object[] elements = getElements(); - - for (int i=0; i<elements.length; i++) - { - if (elements[i] == element) + + for (int i = 0; i < elements.length; i++) { + if (elements[i] == element) { return i; + } } return -1; } - + abstract public int indexOfKey(Object key); - + abstract public int columnOf(Object element, Object key); - + abstract public Object getKey(int idx); - + abstract public Object getKey(Object element); - + abstract public Object getKey(int idx, int col); - - public void handleViewerChanged() - { - + + public void handleViewerChanged() { + } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java index 18593a7d4..854148932 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncCopyTableRenderingAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2013 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 @@ -18,40 +18,39 @@ import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableItem; /** - * Copy action for <code>AbstractAsyncTableRendering</code>. Only copy what is visible in the view. - * + * Copy action for <code>AbstractAsyncTableRendering</code>. Only copy what is + * visible in the view. + * */ -public class AsyncCopyTableRenderingAction extends - CopyTableRenderingToClipboardAction { +public class AsyncCopyTableRenderingAction extends CopyTableRenderingToClipboardAction { public AsyncCopyTableRenderingAction(AbstractBaseTableRendering rendering, StructuredViewer viewer) { super(rendering, viewer); } + @Override protected String concatenateTableAsString(TableItem[] itemList) { - + Table table = null; if (itemList.length > 0) { table = itemList[0].getParent(); - + int topIndex = table.getTopIndex(); int itemCount = table.getItemCount(); - int numVisibleLines = Math.min((table.getBounds().height / table.getItemHeight()) + 2, itemCount - topIndex); - - ArrayList items = new ArrayList(); - + int numVisibleLines = Math.min((table.getBounds().height / table.getItemHeight()) + 2, itemCount - topIndex); + + ArrayList<TableItem> items = new ArrayList<TableItem>(); + // start at top index until there is no more data in the table - for (int i=topIndex; i< topIndex + numVisibleLines; i++) - { - if (itemList[i].getData() != null) - { + for (int i = topIndex; i < topIndex + numVisibleLines; i++) { + if (itemList[i].getData() != null) { items.add(itemList[i]); - } - else + } else { break; + } } - - return super.concatenateTableAsString((TableItem[]) items.toArray(new TableItem[items.size()])); + + return super.concatenateTableAsString(items.toArray(new TableItem[items.size()])); } return IInternalDebugCoreConstants.EMPTY_STRING; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java index ed3b15f22..d132fbedc 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncPrintTableRenderingAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2013 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 @@ -20,8 +20,9 @@ import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableItem; /** - * Print action for <code>AbstractAsyncTableRendering</code>. Only print what is visible in the view. - * + * Print action for <code>AbstractAsyncTableRendering</code>. Only print what is + * visible in the view. + * */ public class AsyncPrintTableRenderingAction extends PrintTableRenderingAction { @@ -29,29 +30,28 @@ public class AsyncPrintTableRenderingAction extends PrintTableRenderingAction { super(rendering, viewer); } + @Override protected void printTable(TableItem[] itemList, GC printGC, Printer printer) { Table table = null; if (itemList.length > 0) { table = itemList[0].getParent(); - + int topIndex = table.getTopIndex(); int itemCount = table.getItemCount(); - int numVisibleLines = Math.min((table.getBounds().height / table.getItemHeight()) + 2, itemCount - topIndex); - - ArrayList items = new ArrayList(); - + int numVisibleLines = Math.min((table.getBounds().height / table.getItemHeight()) + 2, itemCount - topIndex); + + ArrayList<TableItem> items = new ArrayList<TableItem>(); + // start at top index until there is no more data in the table - for (int i=topIndex; i< topIndex + numVisibleLines; i++) - { - if (itemList[i].getData() != null) - { + for (int i = topIndex; i < topIndex + numVisibleLines; i++) { + if (itemList[i].getData() != null) { items.add(itemList[i]); - } - else + } else { break; + } } - - super.printTable((TableItem[])items.toArray(new TableItem[items.size()]), printGC, printer); + + super.printTable(items.toArray(new TableItem[items.size()]), printGC, printer); } } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingCellModifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingCellModifier.java index b893ef4a8..8cc3feea2 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingCellModifier.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingCellModifier.java @@ -48,6 +48,7 @@ public class AsyncTableRenderingCellModifier implements ICellModifier { Job job = new Job("AsyncTableRenderingCellModifier"){ //$NON-NLS-1$ + @Override protected IStatus run(IProgressMonitor monitor) { fMBSupportsValueModification = fRendering.getMemoryBlock().supportsValueModification(); return Status.OK_STATUS; @@ -62,7 +63,8 @@ public class AsyncTableRenderingCellModifier implements ICellModifier { * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, * java.lang.String) */ - public boolean canModify(Object element, String property) { + @Override + public boolean canModify(Object element, String property) { boolean canModify = true; try { if (!(element instanceof MemorySegment)) @@ -122,7 +124,8 @@ public class AsyncTableRenderingCellModifier implements ICellModifier { * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, * java.lang.String) */ - public Object getValue(Object element, String property) { + @Override + public Object getValue(Object element, String property) { // give back the value of the column @@ -160,7 +163,8 @@ public class AsyncTableRenderingCellModifier implements ICellModifier { * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, * java.lang.String, java.lang.Object) */ - public void modify(Object element, final String property, final Object value) { + @Override + public void modify(Object element, final String property, final Object value) { MemorySegment segment = null; if (element instanceof TableItem) { @@ -179,6 +183,7 @@ public class AsyncTableRenderingCellModifier implements ICellModifier { Job job = new Job("Set Values"){ //$NON-NLS-1$ + @Override protected IStatus run(IProgressMonitor monitor) { try { // calculate offset to update diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingUpdatePolicy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingUpdatePolicy.java index e27c07344..3d568e8c1 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingUpdatePolicy.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingUpdatePolicy.java @@ -35,6 +35,7 @@ import org.eclipse.ui.progress.UIJob; */ public class AsyncTableRenderingUpdatePolicy extends TableUpdatePolicy { + @Override public void modelChanged(IModelDelta node, IModelProxy proxy) { // clear current cache as it becomes invalid when the memory block is changed @@ -123,6 +124,7 @@ public class AsyncTableRenderingUpdatePolicy extends TableUpdatePolicy descriptor.updateContentBaseAddress(); UIJob job = new UIJob("go to address"){ //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { try { rendering.goToAddress(address); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java index 1b8736878..64c70baae 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java @@ -91,15 +91,18 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { fCol = col; } + @Override public void applyEditorValue() { fEditor.removeListener(this); modifyValue(fRow, fCol, fEditor.getValue()); } + @Override public void cancelEditor() { fEditor.removeListener(this); } + @Override public void editorValueChanged(boolean oldValidState, boolean newValidState) { } @@ -123,6 +126,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { fRendering = rendering; getTable().addMouseListener(new MouseAdapter() { + @Override public void mouseDown(MouseEvent e) { handleTableMouseEvent(e); }}); @@ -130,6 +134,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { createCursor(getTable()); } + @Override public AbstractUpdatePolicy createUpdatePolicy() { return new AsyncTableRenderingUpdatePolicy(); } @@ -152,6 +157,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { fTableCursor.setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME)); fCursorKeyAdapter = new KeyAdapter() { + @Override public void keyPressed(KeyEvent e) { handleCursorKeyPressed(e); @@ -161,6 +167,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { fTableCursor.addKeyListener(fCursorKeyAdapter); fCursorTraverseListener = new TraverseListener() { + @Override public void keyTraversed(TraverseEvent e) { handleCursorTraverseEvt(e); }}; @@ -168,6 +175,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { fTableCursor.addTraverseListener(fCursorTraverseListener); fCursorMouseListener = new MouseAdapter() { + @Override public void mouseDown(MouseEvent e) { handleCursorMouseEvent(e); }}; @@ -176,6 +184,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { // cursor may be disposed before disposed is called // remove listeners whenever the cursor is disposed fTableCursor.addDisposeListener(new DisposeListener() { + @Override public void widgetDisposed(DisposeEvent e) { if (fTableCursor == null) return; @@ -186,6 +195,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { }}); fCursorSelectionListener = new SelectionAdapter() { + @Override public void widgetSelected(SelectionEvent e) { handleCursorMoved(); } @@ -321,6 +331,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { UIJob uiJob = new UIJob("Set Cursor Selection"){ //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { try { if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) { @@ -465,6 +476,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { } + @Override protected synchronized void preservingSelection(Runnable updateCode) { Object oldTopIndexKey = null; @@ -536,6 +548,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { } } + @Override public void dispose() { super.dispose(); @@ -571,6 +584,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { { UIJob job = new UIJob("show table cursor"){ //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { if (!fTableCursor.isDisposed()) { @@ -725,6 +739,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { private void addListeners(Control control) { fEditorKeyListener = new KeyAdapter() { + @Override public void keyPressed(KeyEvent e) { handleKeyEventInEditor(e); } @@ -741,6 +756,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { final KeyEvent e = event; Display.getDefault().asyncExec(new Runnable() { + @Override public void run() { Object obj = e.getSource(); @@ -884,13 +900,16 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { * This is not a real table labe provider, only goes to the table * to get the text at the specified row and column. */ + @Override public IBaseLabelProvider getLabelProvider() { return new ITableLabelProvider() { + @Override public Image getColumnImage(Object element, int columnIndex) { return null; } + @Override public String getColumnText(Object element, int columnIndex) { int idx = getVirtualContentModel().indexOfElement(element); if (idx >= 0 ) @@ -901,16 +920,20 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { return IInternalDebugCoreConstants.EMPTY_STRING; } + @Override public void addListener(ILabelProviderListener listener) { } + @Override public void dispose() { } + @Override public boolean isLabelProperty(Object element, String property) { return false; } + @Override public void removeListener(ILabelProviderListener listener) { }}; } @@ -932,6 +955,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { fPendingFormatViewer = false; preservingSelection(new Runnable() { + @Override public void run() { // causes the content of the table viewer to be replaced // without asking content adapter for content @@ -952,10 +976,12 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { } } + @Override public void handlePresentationFailure(IStatusMonitor monitor, IStatus status) { super.handlePresentationFailure(monitor, status); } + @Override public void refresh(boolean getContent) { if (getContent) @@ -964,6 +990,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { { preservingSelection(new Runnable() { + @Override public void run() { AbstractVirtualContentTableModel model = getVirtualContentModel(); if (model != null) @@ -976,6 +1003,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { } } + @Override protected void tableTopIndexSetComplete() { if (!fTableCursor.isDisposed()) @@ -993,15 +1021,18 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.AsynchronousViewer#getModel() */ + @Override public AsynchronousModel getModel() { return super.getModel(); } // TODO: need pluggable model to be truly flexible + @Override protected AbstractVirtualContentTableModel createVirtualContentTableModel() { return new TableRenderingModel(this); } + @Override protected void updateComplete(IStatusMonitor monitor) { super.updateComplete(monitor); @@ -1016,6 +1047,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { { preservingSelection(new Runnable() { + @Override public void run() { int[] coordinates = getCoordinatesFromKey(getSelectionKey()); @@ -1034,6 +1066,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { } } + @Override protected void clear(Widget item) { super.clear(item); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncVirtualContentTableViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncVirtualContentTableViewer.java index f1759b003..46ea5d76d 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncVirtualContentTableViewer.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncVirtualContentTableViewer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 IBM Corporation and others. + * Copyright (c) 2006, 2013 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 @@ -40,8 +40,8 @@ import org.eclipse.ui.progress.UIJob; abstract public class AsyncVirtualContentTableViewer extends AsynchronousTableViewer { private Object fPendingTopIndexKey; - private ArrayList fTopIndexQueue = new ArrayList(); - + private ArrayList<Object> fTopIndexQueue = new ArrayList<Object>(); + private boolean fPendingResizeColumns; private ListenerList fVirtualContentListeners; private SelectionListener fScrollSelectionListener; @@ -54,57 +54,52 @@ abstract public class AsyncVirtualContentTableViewer extends AsynchronousTableVi fPresentationErrorListeners = new ListenerList(); initScrollBarListener(); } - - private void initScrollBarListener() - { + + private void initScrollBarListener() { ScrollBar scroll = getTable().getVerticalBar(); fScrollSelectionListener = new SelectionAdapter() { + @Override public void widgetSelected(SelectionEvent e) { handleScrollBarSelection(); - }}; + } + }; scroll.addSelectionListener(fScrollSelectionListener); } - public void setTopIndex(Object key) - { + public void setTopIndex(Object key) { fPendingTopIndexKey = key; attemptSetTopIndex(); } - - protected Object getPendingSetTopIndexKey() - { + + protected Object getPendingSetTopIndexKey() { return fPendingTopIndexKey; } - + + @Override protected void handlePresentationFailure(IStatusMonitor monitor, IStatus status) { notifyPresentationError(monitor, status); } - - public void disposeColumns() - { + + public void disposeColumns() { // clean up old columns TableColumn[] oldColumns = getTable().getColumns(); - - for (int i=0; i<oldColumns.length; i++) - { + + for (int i = 0; i < oldColumns.length; i++) { oldColumns[i].dispose(); } } - - public void disposeCellEditors() - { + + public void disposeCellEditors() { // clean up old cell editors CellEditor[] oldCellEditors = getCellEditors(); - - if (oldCellEditors != null) - { - for (int i=0; i<oldCellEditors.length; i++) - { + + if (oldCellEditors != null) { + for (int i = 0; i < oldCellEditors.length; i++) { oldCellEditors[i].dispose(); } } } - + /** * Resize column to the preferred size. */ @@ -112,197 +107,183 @@ abstract public class AsyncVirtualContentTableViewer extends AsynchronousTableVi fPendingResizeColumns = true; fPendingResizeColumns = attemptResizeColumnsToPreferredSize(); } - - private boolean attemptResizeColumnsToPreferredSize() - { - if (fPendingResizeColumns) - { - if(!hasPendingUpdates()) { - UIJob job = new UIJob("packcolumns"){ //$NON-NLS-1$ + private boolean attemptResizeColumnsToPreferredSize() { + if (fPendingResizeColumns) { + if (!hasPendingUpdates()) { + UIJob job = new UIJob("packcolumns") { //$NON-NLS-1$ + + @Override public IStatus runInUIThread(IProgressMonitor monitor) { Table table = getTable(); - - if (!table.isDisposed()) - { - // if table size is zero, the rendering has not been made visible + + if (!table.isDisposed()) { + // if table size is zero, the rendering has not been + // made visible // cannot pack until the rendering is visible - if (table.getSize().x > 0) - { + if (table.getSize().x > 0) { TableColumn[] columns = table.getColumns(); - for (int i=0 ;i<columns.length-1; i++) - { + for (int i = 0; i < columns.length - 1; i++) { columns[i].pack(); - } - } - else - { + } + } else { fPendingResizeColumns = true; } } return Status.OK_STATUS; - }}; + } + }; job.setSystem(true); - job.schedule(); + job.schedule(); return false; } } return fPendingResizeColumns; } - + /** * Attempts to update any pending setTopIndex */ protected synchronized void attemptSetTopIndex() { if (fPendingTopIndexKey != null) { - Object remaining = doAttemptSetTopIndex(fPendingTopIndexKey); - if (remaining == null) - { - fPendingTopIndexKey = remaining; - } + Object remaining = doAttemptSetTopIndex(fPendingTopIndexKey); + if (remaining == null) { + fPendingTopIndexKey = remaining; + } } } - - private synchronized Object doAttemptSetTopIndex(final Object topIndexKey) - { + + private synchronized Object doAttemptSetTopIndex(final Object topIndexKey) { final int i = getVirtualContentModel().indexOfKey(topIndexKey); - if (i >= 0) - { - UIJob job = new UIJob("set top index"){ //$NON-NLS-1$ - - public IStatus runInUIThread(IProgressMonitor monitor) { - if (getTable().isDisposed()) - { - fTopIndexQueue.clear(); - return Status.OK_STATUS; + if (i >= 0) { + UIJob job = new UIJob("set top index") { //$NON-NLS-1$ + + @Override + public IStatus runInUIThread(IProgressMonitor monitor) { + if (getTable().isDisposed()) { + fTopIndexQueue.clear(); + return Status.OK_STATUS; + } + + int idx = getVirtualContentModel().indexOfKey(topIndexKey); + if (idx >= 0) { + if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) { + DebugUIPlugin.trace("actual set top index: " + ((BigInteger) topIndexKey).toString(16)); //$NON-NLS-1$ } - - int idx = getVirtualContentModel().indexOfKey(topIndexKey); - if (idx >= 0) - { + fPendingTopIndexKey = null; + setTopIndexKey(topIndexKey); + getTable().setTopIndex(idx); + tableTopIndexSetComplete(); + + if (getTable().getTopIndex() != idx) { if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) { - DebugUIPlugin.trace("actual set top index: " + ((BigInteger)topIndexKey).toString(16)); //$NON-NLS-1$ + DebugUIPlugin.trace(">>> FAILED set top index : " + ((BigInteger) topIndexKey).toString(16)); //$NON-NLS-1$ } - fPendingTopIndexKey = null; - setTopIndexKey(topIndexKey); - getTable().setTopIndex(idx); - tableTopIndexSetComplete(); - - if (getTable().getTopIndex() != idx ) - { + + // only retry if we have pending updates + if (hasPendingUpdates()) { if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) { - DebugUIPlugin.trace(">>> FAILED set top index : " + ((BigInteger)topIndexKey).toString(16)); //$NON-NLS-1$ + DebugUIPlugin.trace(">>> Retry top index: " + ((BigInteger) topIndexKey).toString(16)); //$NON-NLS-1$ } - // only retry if we have pending updates - if (hasPendingUpdates()) - { - if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) { - DebugUIPlugin.trace(">>> Retry top index: " + ((BigInteger)topIndexKey).toString(16)); //$NON-NLS-1$ - } - - fPendingTopIndexKey = topIndexKey; - } - } - } - else - { - if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) { - DebugUIPlugin.trace("cannot find key, put it back to the queue: " + topIndexKey); //$NON-NLS-1$ + fPendingTopIndexKey = topIndexKey; } - fPendingTopIndexKey = topIndexKey; } - - // remove the top index key from queue when it is processed - removeKeyFromQueue(topIndexKey); - + } else { + if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) { + DebugUIPlugin.trace("cannot find key, put it back to the queue: " + topIndexKey); //$NON-NLS-1$ + } + fPendingTopIndexKey = topIndexKey; + } + + // remove the top index key from queue when it is processed + removeKeyFromQueue(topIndexKey); + return Status.OK_STATUS; - }}; - + } + }; + // set top index does not happen immediately, keep track of // all pending set top index addKeyToQueue(topIndexKey); - + job.setSystem(true); job.schedule(); return topIndexKey; } return topIndexKey; } - - protected void tableTopIndexSetComplete() - { - - } - - public void addVirtualContentListener(IVirtualContentListener listener) - { - fVirtualContentListeners.add(listener); - } - - public void removeVirtualContentListener(IVirtualContentListener listener) - { - fVirtualContentListeners.remove(listener); - } - - protected void notifyListenersAtBufferStart() - { - int topIdx = getTable().getTopIndex(); - Object[] listeners = fVirtualContentListeners.getListeners(); - + + protected void tableTopIndexSetComplete() { + + } + + public void addVirtualContentListener(IVirtualContentListener listener) { + fVirtualContentListeners.add(listener); + } + + public void removeVirtualContentListener(IVirtualContentListener listener) { + fVirtualContentListeners.remove(listener); + } + + protected void notifyListenersAtBufferStart() { + int topIdx = getTable().getTopIndex(); + Object[] listeners = fVirtualContentListeners.getListeners(); + for (int i = 0; i < listeners.length; i++) { final IVirtualContentListener listener = (IVirtualContentListener) listeners[i]; - if (topIdx < listener.getThreshold(IVirtualContentListener.BUFFER_START)) - { + if (topIdx < listener.getThreshold(IVirtualContentListener.BUFFER_START)) { SafeRunner.run(new ISafeRunnable() { - public void run() throws Exception { + @Override + public void run() throws Exception { listener.handledAtBufferStart(); } + + @Override public void handleException(Throwable exception) { DebugUIPlugin.log(exception); } }); } } - } - - protected void notifyListenersAtBufferEnd() - { + } + + protected void notifyListenersAtBufferEnd() { Object[] listeners = fVirtualContentListeners.getListeners(); int topIdx = getTable().getTopIndex(); int bottomIdx = topIdx + getNumberOfVisibleLines(); int elementsCnt = getVirtualContentModel().getElements().length; int numLinesLeft = elementsCnt - bottomIdx; - + for (int i = 0; i < listeners.length; i++) { final IVirtualContentListener listener = (IVirtualContentListener) listeners[i]; - if (numLinesLeft <= listener.getThreshold(IVirtualContentListener.BUFFER_END)) - { + if (numLinesLeft <= listener.getThreshold(IVirtualContentListener.BUFFER_END)) { SafeRunner.run(new ISafeRunnable() { + @Override public void run() throws Exception { listener.handleAtBufferEnd(); } + + @Override public void handleException(Throwable exception) { DebugUIPlugin.log(exception); } }); } } - } - - protected void handleScrollBarSelection() - { -// ignore event if there is pending set top index in the queue - if (!fTopIndexQueue.isEmpty()) + } + + protected void handleScrollBarSelection() { + // ignore event if there is pending set top index in the queue + if (!fTopIndexQueue.isEmpty()) { return; + } topIndexChanged(); } - - public void topIndexChanged() - { - if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) - { - MemorySegment a = (MemorySegment)getTable().getItem(getTable().getTopIndex()).getData(); + + public void topIndexChanged() { + if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) { + MemorySegment a = (MemorySegment) getTable().getItem(getTable().getTopIndex()).getData(); DebugUIPlugin.trace(Thread.currentThread().getName() + " " + this + " handle scroll bar moved: top index: " + a.getAddress().toString(16)); //$NON-NLS-1$ //$NON-NLS-2$ } @@ -311,64 +292,59 @@ abstract public class AsyncVirtualContentTableViewer extends AsynchronousTableVi notifyListenersAtBufferStart(); notifyListenersAtBufferEnd(); } - - protected void setTopIndexKey(Object key) - { + + protected void setTopIndexKey(Object key) { fTopIndexKey = key; } - - protected Object getTopIndexKey() - { + + protected Object getTopIndexKey() { return fTopIndexKey; } + @Override protected synchronized void preservingSelection(Runnable updateCode) { Object oldTopIndexKey = null; if (fPendingTopIndexKey == null) { // preserve selection oldTopIndexKey = getTopIndexKey(); - } - else - { + } else { oldTopIndexKey = fPendingTopIndexKey; } - + try { // perform the update updateCode.run(); - } finally { - if (oldTopIndexKey != null) - { + } finally { + if (oldTopIndexKey != null) { setTopIndex(oldTopIndexKey); } } } - - public void addPresentationErrorListener(IPresentationErrorListener errorListener) - { + + public void addPresentationErrorListener(IPresentationErrorListener errorListener) { fPresentationErrorListeners.add(errorListener); } - - public void removePresentationErrorListener(IPresentationErrorListener errorListener) - { + + public void removePresentationErrorListener(IPresentationErrorListener errorListener) { fPresentationErrorListeners.remove(errorListener); } - - private void notifyPresentationError(final IStatusMonitor monitor, final IStatus status) - { + + private void notifyPresentationError(final IStatusMonitor monitor, final IStatus status) { Object[] listeners = fPresentationErrorListeners.getListeners(); - + for (int i = 0; i < listeners.length; i++) { - - if (listeners[i] instanceof IPresentationErrorListener) - { - final IPresentationErrorListener listener = (IPresentationErrorListener)listeners[i]; + + if (listeners[i] instanceof IPresentationErrorListener) { + final IPresentationErrorListener listener = (IPresentationErrorListener) listeners[i]; SafeRunner.run(new ISafeRunnable() { + @Override public void run() throws Exception { listener.handlePresentationFailure(monitor, status); } + + @Override public void handleException(Throwable exception) { DebugUIPlugin.log(exception); } @@ -377,108 +353,104 @@ abstract public class AsyncVirtualContentTableViewer extends AsynchronousTableVi } } + @Override protected AsynchronousModel createModel() { return createVirtualContentTableModel(); } - + abstract protected AbstractVirtualContentTableModel createVirtualContentTableModel(); - - private void addKeyToQueue(Object topIndexKey) - { - synchronized(fTopIndexQueue){ + + private void addKeyToQueue(Object topIndexKey) { + synchronized (fTopIndexQueue) { if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) { - DebugUIPlugin.trace(" >>> add to top index queue: " + ((BigInteger)topIndexKey).toString(16)); //$NON-NLS-1$ + DebugUIPlugin.trace(" >>> add to top index queue: " + ((BigInteger) topIndexKey).toString(16)); //$NON-NLS-1$ } fTopIndexQueue.add(topIndexKey); } } - - private void removeKeyFromQueue(Object topIndexKey) - { - synchronized(fTopIndexQueue){ + + private void removeKeyFromQueue(Object topIndexKey) { + synchronized (fTopIndexQueue) { if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) { - DebugUIPlugin.trace(" >>> remove frome top index queue: " + ((BigInteger)topIndexKey).toString(16)); //$NON-NLS-1$ + DebugUIPlugin.trace(" >>> remove frome top index queue: " + ((BigInteger) topIndexKey).toString(16)); //$NON-NLS-1$ } fTopIndexQueue.remove(topIndexKey); } } - - public AbstractVirtualContentTableModel getVirtualContentModel() - { - if (getModel() instanceof AbstractVirtualContentTableModel) + + public AbstractVirtualContentTableModel getVirtualContentModel() { + if (getModel() instanceof AbstractVirtualContentTableModel) { return (AbstractVirtualContentTableModel) getModel(); + } return null; } - - private int getNumberOfVisibleLines() - { + + private int getNumberOfVisibleLines() { Table table = getTable(); int height = table.getSize().y; - + // when table is not yet created, height is zero - if (height == 0) - { + if (height == 0) { // make use of the table viewer to estimate table size height = table.getParent().getSize().y; } - + // height of border int border = table.getHeaderHeight(); - + // height of scroll bar int scroll = table.getHorizontalBar().getSize().y; - // height of table is table's area minus border and scroll bar height - height = height-border-scroll; + // height of table is table's area minus border and scroll bar height + height = height - border - scroll; // calculate number of visible lines int lineHeight = getMinTableItemHeight(table); - - int numberOfLines = height/lineHeight; - - if (numberOfLines <= 0) + + int numberOfLines = height / lineHeight; + + if (numberOfLines <= 0) { return 20; - - return numberOfLines; + } + + return numberOfLines; } - - private int getMinTableItemHeight(Table table){ - + + private int getMinTableItemHeight(Table table) { + // Hack to get around Linux GTK problem. // On Linux GTK, table items have variable item height as - // carriage returns are actually shown in a cell. Some rows will be - // taller than others. When calculating number of visible lines, we - // need to find the smallest table item height. Otherwise, the rendering - // underestimates the number of visible lines. As a result the rendering + // carriage returns are actually shown in a cell. Some rows will be + // taller than others. When calculating number of visible lines, we + // need to find the smallest table item height. Otherwise, the rendering + // underestimates the number of visible lines. As a result the rendering // will not be able to get more memory as needed. - if (MemoryViewUtil.isLinuxGTK()) - { + if (MemoryViewUtil.isLinuxGTK()) { // check each of the items and find the minimum TableItem[] items = table.getItems(); int minHeight = table.getItemHeight(); - for (int i=0; i<items.length; i++) - { - if (items[i].getData() != null) + for (int i = 0; i < items.length; i++) { + if (items[i].getData() != null) { minHeight = Math.min(items[i].getBounds(0).height, minHeight); + } } - + return minHeight; - + } return table.getItemHeight(); } + @Override protected void updateComplete(IStatusMonitor monitor) { super.updateComplete(monitor); attemptSetTopIndex(); - if (monitor instanceof ILabelRequestMonitor) - { + if (monitor instanceof ILabelRequestMonitor) { fPendingResizeColumns = attemptResizeColumnsToPreferredSize(); } } - - protected boolean hasPendingSetTopIndex() - { + + protected boolean hasPendingSetTopIndex() { return !fTopIndexQueue.isEmpty(); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BasicDebugViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BasicDebugViewContentProvider.java index 86ef0dbb5..8c16264b0 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BasicDebugViewContentProvider.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BasicDebugViewContentProvider.java @@ -30,6 +30,7 @@ public abstract class BasicDebugViewContentProvider implements IStructuredConten /* (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ + @Override public void dispose() { fDisposed= true; } @@ -46,6 +47,7 @@ public abstract class BasicDebugViewContentProvider implements IStructuredConten /* (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ + @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { fViewer= (StructuredViewer) viewer; } @@ -100,6 +102,7 @@ public abstract class BasicDebugViewContentProvider implements IStructuredConten return; } Runnable r= new Runnable() { + @Override public void run() { if (!isDisposed()) { doHandleDebugEvent(event); @@ -113,6 +116,7 @@ public abstract class BasicDebugViewContentProvider implements IStructuredConten /* (non-Javadoc) * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[]) */ + @Override public void handleDebugEvents(DebugEvent[] events) { for (int i=0; i < events.length; i++) handleDebugEvent(events[i]); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BigEndianAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BigEndianAction.java index 94d7d154c..77e707a87 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BigEndianAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/BigEndianAction.java @@ -27,12 +27,14 @@ public class BigEndianAction implements IObjectActionDelegate { /* (non-Javadoc) * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart) */ + @Override public void setActivePart(IAction action, IWorkbenchPart targetPart) { } /* (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ + @Override public void run(IAction action) { if (fRendering == null) @@ -47,6 +49,7 @@ public class BigEndianAction implements IObjectActionDelegate { /* (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) */ + @Override public void selectionChanged(IAction action, ISelection selection) { if (selection == null) diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CopyTableRenderingToClipboardAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CopyTableRenderingToClipboardAction.java index 43ad789a6..3c5d3292c 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CopyTableRenderingToClipboardAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CopyTableRenderingToClipboardAction.java @@ -158,6 +158,7 @@ public class CopyTableRenderingToClipboardAction extends Action /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { if (fRendering == null) diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CreateRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CreateRendering.java index e1f6d8479..afedc2b75 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CreateRendering.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/CreateRendering.java @@ -83,6 +83,7 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR /* (non-Javadoc) * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object) */ + @Override public Image getImage(Object element) { return DebugUIPlugin.getImageDescriptorRegistry().get( DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_MONITOR_EXPRESSION)); @@ -91,6 +92,7 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR /* (non-Javadoc) * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object) */ + @Override public String getText(Object element) { if (element instanceof IMemoryRenderingType) { @@ -103,18 +105,21 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR /* (non-Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener) */ + @Override public void addListener(ILabelProviderListener listener) { } /* (non-Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() */ + @Override public void dispose() { } /* (non-Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String) */ + @Override public boolean isLabelProperty(Object element, String property) { return false; } @@ -122,6 +127,7 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR /* (non-Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener) */ + @Override public void removeListener(ILabelProviderListener listener) { } @@ -133,6 +139,7 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR /* (non-Javadoc) * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) */ + @Override public Object[] getElements(Object inputElement) { IMemoryRenderingType[] renderings = DebugUITools.getMemoryRenderingManager().getRenderingTypes((IMemoryBlock)inputElement); return renderings; @@ -141,6 +148,7 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR /* (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ + @Override public void dispose() { } @@ -148,6 +156,7 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR /* (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ + @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } @@ -156,6 +165,7 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR /* (non-Javadoc) * @see org.eclipse.debug.ui.memory.IMemoryRendering#createControl(org.eclipse.swt.widgets.Composite) */ + @Override public Control createControl(Composite parent) { fCanvas = new Composite(parent, SWT.NONE); GridLayout compositeLayout = new GridLayout(); @@ -205,12 +215,14 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR fViewer.addDoubleClickListener(new IDoubleClickListener (){ + @Override public void doubleClick(DoubleClickEvent event) { addRenderings(); }}); // listen for enter being pressed fViewer.getList().addKeyListener(new KeyAdapter() { + @Override public void keyPressed(KeyEvent e) { if (e.character == SWT.CR) addRenderings(); @@ -225,10 +237,12 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR addButton.addSelectionListener(new SelectionListener() { + @Override public void widgetSelected(SelectionEvent e) { addRenderings(); } + @Override public void widgetDefaultSelected(SelectionEvent e) { addRenderings(); }}); @@ -290,6 +304,7 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR /* (non-Javadoc) * @see org.eclipse.debug.ui.memory.IMemoryRendering#dispose() */ + @Override public void dispose() { fViewer = null; fCanvas = null; @@ -301,14 +316,17 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.memory.AbstractMemoryRendering#getControl() */ + @Override public Control getControl() { return fCanvas; } + @Override public void memoryRenderingBindingsChanged() { if (fViewer != null) fViewer.refresh(); } + @Override public String getLabel() { if (fTabLabel == null) { @@ -319,15 +337,18 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR return fTabLabel; } + @Override public Image getImage() { return DebugUIPlugin.getImageDescriptorRegistry().get( DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_MONITOR_EXPRESSION)); } + @Override public void becomesVisible() { // Do nothing, do not want to connect/disconnect from clients } + @Override public void becomesHidden() { // Do nothing, do not want to connect/disconnect from clients } @@ -336,6 +357,7 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR { Job job = new Job("Update Rendering Label"){ //$NON-NLS-1$ + @Override protected IStatus run(IProgressMonitor monitor) { fLabel = CreateRendering.super.getLabel(); fTabLabel = DebugUIMessages.CreateRenderingTab_label ; @@ -344,6 +366,7 @@ public class CreateRendering extends AbstractMemoryRendering implements IMemoryR WorkbenchJob wbJob = new WorkbenchJob("Create Rendering Update Label"){ //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor wbMonitor) { if (fMemoryBlockLabel != null) { diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/DefaultEndianessAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/DefaultEndianessAction.java index 1c37061ad..0445ba216 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/DefaultEndianessAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/DefaultEndianessAction.java @@ -31,9 +31,11 @@ public class DefaultEndianessAction implements IObjectActionDelegate { super(); } + @Override public void setActivePart(IAction action, IWorkbenchPart targetPart) { } + @Override public void run(IAction action) { if (fRendering != null) { @@ -50,6 +52,7 @@ public class DefaultEndianessAction implements IObjectActionDelegate { } + @Override public void selectionChanged(IAction action, ISelection selection) { if (selection == null) return; diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ErrorRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ErrorRendering.java index 36743b9cd..721d86c1d 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ErrorRendering.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ErrorRendering.java @@ -48,6 +48,7 @@ public class ErrorRendering extends AbstractMemoryRendering { /* (non-Javadoc) * @see org.eclipse.debug.ui.memory.IMemoryRendering#createControl(org.eclipse.swt.widgets.Composite) */ + @Override public Control createControl(Composite parent) { fTextViewer = new TextViewer(parent, SWT.READ_ONLY); fTextViewer.setDocument(new Document()); @@ -80,6 +81,7 @@ public class ErrorRendering extends AbstractMemoryRendering { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.memory.AbstractMemoryRendering#getControl() */ + @Override public Control getControl() { return fTextViewer.getControl(); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingAction.java index c3ae82db8..5e0c04565 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingAction.java @@ -31,6 +31,7 @@ public class FormatTableRenderingAction extends Action { PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".FormatTableRenderingAction_context"); //$NON-NLS-1$ } + @Override public void run() { FormatTableRenderingDialog dialog = new FormatTableRenderingDialog(fRendering, DebugUIPlugin.getShell()); dialog.open(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingDialog.java index b541a7a94..ed3705a13 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingDialog.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/FormatTableRenderingDialog.java @@ -76,6 +76,7 @@ public class FormatTableRenderingDialog extends TrayDialog fMsg = DebugUIMessages.FormatTableRenderingAction_1; } + @Override protected Control createDialogArea(Composite parent) { getShell().setText(DebugUIMessages.FormatTableRenderingAction_0); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".FormatTableRenderingDialog_context"); //$NON-NLS-1$ @@ -111,6 +112,7 @@ public class FormatTableRenderingDialog extends TrayDialog fRowControl.addSelectionListener(new SelectionListener() { + @Override public void widgetSelected(SelectionEvent e) { if (fCurrentRowIdx != fRowControl.getSelectionIndex()) { @@ -120,6 +122,7 @@ public class FormatTableRenderingDialog extends TrayDialog } } + @Override public void widgetDefaultSelected(SelectionEvent e) { }}); @@ -141,6 +144,7 @@ public class FormatTableRenderingDialog extends TrayDialog fColumnControl.addSelectionListener(new SelectionListener() { + @Override public void widgetSelected(SelectionEvent e) { if (fCurrentColIdx != fColumnControl.getSelectionIndex()) { @@ -150,6 +154,7 @@ public class FormatTableRenderingDialog extends TrayDialog } } + @Override public void widgetDefaultSelected(SelectionEvent e) { }}); @@ -174,10 +179,12 @@ public class FormatTableRenderingDialog extends TrayDialog fDefaultButton.addSelectionListener(new SelectionListener() { + @Override public void widgetSelected(SelectionEvent e) { saveDefaults(); } + @Override public void widgetDefaultSelected(SelectionEvent e) { }}); @@ -243,9 +250,11 @@ public class FormatTableRenderingDialog extends TrayDialog Button restoreButton = new Button(composite, SWT.NONE); restoreButton.setText(DebugUIMessages.FormatTableRenderingAction_6); restoreButton.addSelectionListener(new SelectionListener() { + @Override public void widgetSelected(SelectionEvent e) { restoreDefaults(); } + @Override public void widgetDefaultSelected(SelectionEvent e) { }}); data = new GridData(); @@ -258,6 +267,7 @@ public class FormatTableRenderingDialog extends TrayDialog return composite; } + @Override protected void okPressed() { int idx = fColumnControl.getSelectionIndex(); fColumnSize = fColumnSizes[idx]; @@ -521,6 +531,7 @@ public class FormatTableRenderingDialog extends TrayDialog fCurrentRowIdx = populateControl(row, fRowSizes, fRowControl); } + @Override protected Control createButtonBar(Composite parent) { Control ret = super.createButtonBar(parent); if (fDisableCancel) diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressAction.java index 690b788ca..bfa245303 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressAction.java @@ -60,6 +60,7 @@ public class GoToAddressAction extends Action /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { try diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java index 59799c034..2803d37b6 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2009 IBM Corporation and others. + * Copyright (c) 2004, 2013 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 @@ -34,9 +34,9 @@ import org.eclipse.ui.PlatformUI; * @since 3.0 */ -public class GoToAddressDialog extends TrayDialog implements ModifyListener{ +public class GoToAddressDialog extends TrayDialog implements ModifyListener { - private static Vector history = new Vector(); + private static Vector<String> history = new Vector<String>(); private Combo expressionInput; private String expression; @@ -48,18 +48,22 @@ public class GoToAddressDialog extends TrayDialog implements ModifyListener{ setShellStyle(getShellStyle() | SWT.RESIZE); } - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets + * .Composite) */ + @Override protected Control createDialogArea(Composite parent) { Composite comp = (Composite) super.createDialogArea(parent); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".GoToAddressDialog_context"); //$NON-NLS-1$ comp.setLayout(new GridLayout()); - GridData spec2= new GridData(); - spec2.grabExcessVerticalSpace= true; - spec2.grabExcessHorizontalSpace= true; - spec2.horizontalAlignment= GridData.FILL; - spec2.verticalAlignment= GridData.CENTER; + GridData spec2 = new GridData(); + spec2.grabExcessVerticalSpace = true; + spec2.grabExcessHorizontalSpace = true; + spec2.horizontalAlignment = GridData.FILL; + spec2.verticalAlignment = GridData.CENTER; comp.setLayoutData(spec2); Label textLabel = new Label(comp, SWT.NONE); @@ -67,81 +71,92 @@ public class GoToAddressDialog extends TrayDialog implements ModifyListener{ GridData textLayout = new GridData(); textLayout.widthHint = 280; textLabel.setLayoutData(textLayout); - + expressionInput = new Combo(comp, SWT.BORDER); - GridData spec= new GridData(); - spec.grabExcessVerticalSpace= false; - spec.grabExcessHorizontalSpace= true; - spec.horizontalAlignment= GridData.FILL; - spec.verticalAlignment= GridData.BEGINNING; + GridData spec = new GridData(); + spec.grabExcessVerticalSpace = false; + spec.grabExcessHorizontalSpace = true; + spec.horizontalAlignment = GridData.FILL; + spec.verticalAlignment = GridData.BEGINNING; spec.heightHint = 50; expressionInput.setLayoutData(spec); - + // add history - String[] historyExpression = (String[])history.toArray(new String[history.size()]); - for (int i=0; i<historyExpression.length; i++) - { + String[] historyExpression = history.toArray(new String[history.size()]); + for (int i = 0; i < historyExpression.length; i++) { expressionInput.add(historyExpression[i]); } - + expressionInput.addModifyListener(this); - + return comp; } - /* (non-Javadoc) - * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell) + + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets + * .Shell) */ + @Override protected void configureShell(Shell newShell) { super.configureShell(newShell); - + newShell.setText(DebugUIMessages.GoToAddressDialog_GoToAddress); } - - public String getExpression() - { + + public String getExpression() { return expression; } - - /* (non-Javadoc) + + /* + * (non-Javadoc) * @see org.eclipse.jface.dialogs.Dialog#okPressed() */ + @Override protected void okPressed() { expression = expressionInput.getText(); // add to history list - if (!history.contains(expression)) + if (!history.contains(expression)) { history.insertElementAt(expression, 0); + } super.okPressed(); } - /* (non-Javadoc) - * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent) + /* + * (non-Javadoc) + * @see + * org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events + * .ModifyEvent) */ + @Override public void modifyText(ModifyEvent e) { String input = expressionInput.getText(); - - if (input == null || input.equals(IInternalDebugCoreConstants.EMPTY_STRING)) - { - getButton(IDialogConstants.OK_ID).setEnabled(false); - } - else - { + + if (input == null || input.equals(IInternalDebugCoreConstants.EMPTY_STRING)) { + getButton(IDialogConstants.OK_ID).setEnabled(false); + } else { getButton(IDialogConstants.OK_ID).setEnabled(true); - } + } } - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite) + /* + * (non-Javadoc) + * @see + * org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets + * .Composite) */ + @Override protected Control createButtonBar(Composite parent) { - - Control ret = super.createButtonBar(parent); + + Control ret = super.createButtonBar(parent); getButton(IDialogConstants.OK_ID).setEnabled(false); - + return ret; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexIntegerRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexIntegerRendering.java index 07242208b..fa2c7b7de 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexIntegerRendering.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexIntegerRendering.java @@ -30,6 +30,7 @@ public class HexIntegerRendering extends AbstractIntegerRendering { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.memory.AbstractTableRendering#getString(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[], java.lang.String) */ + @Override public String getString(String dataType, BigInteger address, MemoryByte[] data) { StringBuffer strBuffer = new StringBuffer(); @@ -78,6 +79,7 @@ public class HexIntegerRendering extends AbstractIntegerRendering { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.memory.AbstractTableRendering#getBytes(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[], java.lang.String) */ + @Override public byte[] getBytes(String dataType, BigInteger address, MemoryByte[] currentValues, String data) { @@ -96,6 +98,7 @@ public class HexIntegerRendering extends AbstractIntegerRendering { return bytes; } + @Override public int getNumCharsPerByte() { return 2; diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexIntegerRenderingDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexIntegerRenderingDelegate.java index 8ccbde884..72218e37b 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexIntegerRenderingDelegate.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexIntegerRenderingDelegate.java @@ -19,6 +19,7 @@ public class HexIntegerRenderingDelegate implements IMemoryRenderingTypeDelegate public HexIntegerRenderingDelegate() { } + @Override public IMemoryRendering createRendering(String id) throws CoreException { return new HexIntegerRendering(id); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRendering.java index cfc2efc49..9e994e303 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRendering.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRendering.java @@ -31,6 +31,7 @@ public class HexRendering extends AbstractAsyncTableRendering { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.memory.AbstractTableRendering#getString(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[], java.lang.String) */ + @Override public String getString(String dataType, BigInteger address, MemoryByte[] data) { StringBuffer strBuffer = new StringBuffer(); @@ -56,6 +57,7 @@ public class HexRendering extends AbstractAsyncTableRendering { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.memory.AbstractTableRendering#getBytes(java.lang.String, java.math.BigInteger, org.eclipse.debug.core.model.MemoryByte[], java.lang.String) */ + @Override public byte[] getBytes(String dataType, BigInteger address, MemoryByte[] currentValues, String data) { byte[] bytes = RenderingsUtil.convertHexStringToByteArray(data, currentValues.length, getNumCharsPerByte()); @@ -63,6 +65,7 @@ public class HexRendering extends AbstractAsyncTableRendering { return bytes; } + @Override public int getNumCharsPerByte() { return 2; diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRenderingTypeDelegate.java index 22ddebbd4..9d9ab492b 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRenderingTypeDelegate.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/HexRenderingTypeDelegate.java @@ -23,6 +23,7 @@ public class HexRenderingTypeDelegate implements IMemoryRenderingTypeDelegate { /* (non-Javadoc) * @see org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate#createRendering(java.lang.String) */ + @Override public IMemoryRendering createRendering(String id) throws CoreException { HexRendering rendering = new HexRendering(id); return rendering; diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/LittleEndianAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/LittleEndianAction.java index 9bf917eb4..fa4a3e1e6 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/LittleEndianAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/LittleEndianAction.java @@ -29,12 +29,14 @@ public class LittleEndianAction implements IObjectActionDelegate { /* (non-Javadoc) * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart) */ + @Override public void setActivePart(IAction action, IWorkbenchPart targetPart) { } /* (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ + @Override public void run(IAction action) { if (fRendering == null) @@ -49,6 +51,7 @@ public class LittleEndianAction implements IObjectActionDelegate { /* (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) */ + @Override public void selectionChanged(IAction action, ISelection selection) { if (selection == null) return; diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java index ddb69da43..f9fe71143 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/MemorySegment.java @@ -72,13 +72,13 @@ public class MemorySegment extends PlatformObject { if (start + length > fBytes.length) return new MemoryByte[0]; - ArrayList ret = new ArrayList(); + ArrayList<MemoryByte> ret = new ArrayList<MemoryByte>(); for (int i=start; i< start+length; i++) { ret.add(fBytes[i]); } - return (MemoryByte[]) ret.toArray(new MemoryByte[ret.size()]); + return ret.toArray(new MemoryByte[ret.size()]); } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PrintTableRenderingAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PrintTableRenderingAction.java index 1cb64e414..71ebac1d2 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PrintTableRenderingAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/PrintTableRenderingAction.java @@ -171,6 +171,7 @@ public class PrintTableRenderingAction extends Action /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { if (!(fViewer.getControl() instanceof Table)) diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ReformatAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ReformatAction.java index 0324df3a5..7b4e1a53f 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ReformatAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ReformatAction.java @@ -34,6 +34,7 @@ public class ReformatAction extends Action { /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { fRendering.resizeColumnsToPreferredSize(); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ResetToBaseAddressAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ResetToBaseAddressAction.java index 23373ebc3..1dabe2ed9 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ResetToBaseAddressAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/ResetToBaseAddressAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2007 IBM Corporation and others. + * Copyright (c) 2004, 2013 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 @@ -30,36 +30,37 @@ import org.eclipse.ui.PlatformUI; */ public class ResetToBaseAddressAction extends Action { - private AbstractBaseTableRendering fRendering; + private AbstractBaseTableRendering fRendering; - public ResetToBaseAddressAction(AbstractBaseTableRendering rendering) { - fRendering = rendering; - setText(DebugUIMessages.ResetMemoryBlockAction_title); - setToolTipText(DebugUIMessages.ResetMemoryBlockAction_tootip); + public ResetToBaseAddressAction(AbstractBaseTableRendering rendering) { + fRendering = rendering; + setText(DebugUIMessages.ResetMemoryBlockAction_title); + setToolTipText(DebugUIMessages.ResetMemoryBlockAction_tootip); - setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_RESET_MEMORY)); - setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_RESET_MEMORY)); - setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_RESET_MEMORY)); - PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".ResetBaseAddressContextAction_context"); //$NON-NLS-1$ - } + setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_RESET_MEMORY)); + setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_RESET_MEMORY)); + setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_RESET_MEMORY)); + PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugUIConstants.PLUGIN_ID + ".ResetBaseAddressContextAction_context"); //$NON-NLS-1$ + } - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.action.IAction#run() - */ - public void run() { - - // check if client has overrode the #reset method - // if client has overrode #reset method, call old method - // otherwise, call new #resetRendering method - // This is done to ensure that client's code will continue to be executed until - // they have migrated to the new #resetRendering API - Class renderingClass = fRendering.getClass(); - try { - Method method = renderingClass.getMethod("reset", new Class[]{}); //$NON-NLS-1$ - if (method.getDeclaringClass().equals(AbstractTableRendering.class)) - { + /* + * (non-Javadoc) + * @see org.eclipse.jface.action.IAction#run() + */ + @SuppressWarnings("deprecation") + @Override + public void run() { + + // check if client has overrode the #reset method + // if client has overrode #reset method, call old method + // otherwise, call new #resetRendering method + // This is done to ensure that client's code will continue to be + // executed until + // they have migrated to the new #resetRendering API + Class<? extends AbstractBaseTableRendering> renderingClass = fRendering.getClass(); + try { + Method method = renderingClass.getMethod("reset", new Class[] {}); //$NON-NLS-1$ + if (method.getDeclaringClass().equals(AbstractTableRendering.class)) { // client has not overrode, call new method try { fRendering.resetRendering(); @@ -77,11 +78,10 @@ public class ResetToBaseAddressAction extends Action { MemoryViewUtil.openError(DebugUIMessages.AbstractTableRendering_12, DebugUIMessages.AbstractTableRendering_13, e); // } } - - if(fRendering instanceof AbstractTableRendering) - { + + if (fRendering instanceof AbstractTableRendering) { // call old method - ((AbstractTableRendering)fRendering).reset(); + ((AbstractTableRendering) fRendering).reset(); } - } + } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRendering.java index 9e79fba74..522f27eab 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRendering.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRendering.java @@ -136,6 +136,7 @@ public class SignedIntegerRendering extends AbstractIntegerRendering { /* (non-Javadoc) * @see com.ibm.debug.extended.ui.AbstractMemoryRenderer#getString(java.lang.String, java.math.BigInteger, byte[]) */ + @Override public String getString(String dataType, BigInteger address, MemoryByte[] data) { boolean invalid = false; @@ -189,6 +190,7 @@ public class SignedIntegerRendering extends AbstractIntegerRendering { /* (non-Javadoc) * @see com.ibm.debug.extended.ui.AbstractMemoryRenderer#getBytes(java.lang.String, java.math.BigInteger, java.lang.String) */ + @Override public byte[] getBytes(String dataType, BigInteger address, MemoryByte[] currentValues, String data) { int columnSize = getBytesPerColumn(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRenderingTypeDelegate.java index 9651f7ed6..4d829d340 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRenderingTypeDelegate.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/SignedIntegerRenderingTypeDelegate.java @@ -24,6 +24,7 @@ public class SignedIntegerRenderingTypeDelegate implements /* (non-Javadoc) * @see org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate#createRendering(java.lang.String) */ + @Override public IMemoryRendering createRendering(String id) throws CoreException { return new SignedIntegerRendering(id); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingCellModifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingCellModifier.java index 0cdaa4b38..0328cfe7e 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingCellModifier.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingCellModifier.java @@ -44,7 +44,8 @@ public class TableRenderingCellModifier implements ICellModifier { * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, * java.lang.String) */ - public boolean canModify(Object element, String property) { + @Override + public boolean canModify(Object element, String property) { boolean canModify = true; try { if (!(element instanceof TableRenderingLine)) @@ -104,7 +105,8 @@ public class TableRenderingCellModifier implements ICellModifier { * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, * java.lang.String) */ - public Object getValue(Object element, String property) { + @Override + public Object getValue(Object element, String property) { // give back the value of the column if (!(element instanceof TableRenderingLine)) @@ -143,7 +145,8 @@ public class TableRenderingCellModifier implements ICellModifier { * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, * java.lang.String, java.lang.Object) */ - public void modify(Object element, String property, Object value) { + @Override + public void modify(Object element, String property, Object value) { TableRenderingLine line = null; if (!(element instanceof TableRenderingLine)) { line = (TableRenderingLine) ((TableItem) element).getData(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentInput.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentInput.java index ae9c5bf33..62bd36369 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentInput.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentInput.java @@ -188,6 +188,7 @@ public class TableRenderingContentInput extends PlatformObject { fNumLines = numLines; } + @Override public Object getAdapter(Class adapter) { if (adapter == AbstractTableRendering.class) { diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java index 5a7402e27..51d14a938 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingContentProvider.java @@ -45,12 +45,12 @@ import org.eclipse.jface.viewers.Viewer; public class TableRenderingContentProvider extends BasicDebugViewContentProvider { // lines currently being displayed by the table rendering - protected Vector lineCache; + protected Vector<TableRenderingLine> lineCache; // Cache to allow the content provider to comppute change information // Cache is taken by copying the lineCache after a suspend event // or change event from the the memory block. - protected Hashtable contentCache; + protected Hashtable<String, TableRenderingLine> contentCache; // cache in the form of MemoryByte // needed for reorganizing cache when the row size changes @@ -70,8 +70,8 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider */ public TableRenderingContentProvider() { - lineCache = new Vector(); - contentCache = new Hashtable(); + lineCache = new Vector<TableRenderingLine>(); + contentCache = new Hashtable<String, TableRenderingLine>(); initializeDynamicLoad(); DebugPlugin.getDefault().addDebugEventListener(this); @@ -88,6 +88,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider /* (non-Javadoc) * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) */ + @Override public void inputChanged(Viewer v, Object oldInput, Object newInput) { try { if (newInput instanceof TableRenderingContentInput) @@ -106,6 +107,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider } } + @Override public void dispose() { DebugPlugin.getDefault().removeDebugEventListener(this); super.dispose(); @@ -114,6 +116,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider /* (non-Javadoc) * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) */ + @Override public Object[] getElements(Object parent) { // if cache is empty, get memory @@ -132,7 +135,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider return lineCache.toArray(); // check to see if the row size has changed - TableRenderingLine line = (TableRenderingLine)lineCache.get(0); + TableRenderingLine line = lineCache.get(0); int currentRowSize = line.getByteArray().length; int renderingRowSize = getTableRendering(fInput).getBytesPerLine(); @@ -435,7 +438,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider // if debug adapter did not return enough memory, create dummy memory if (memoryBuffer.length < reqNumBytes) { - ArrayList newBuffer = new ArrayList(); + ArrayList<MemoryByte> newBuffer = new ArrayList<MemoryByte>(); for (int i=0; i<memoryBuffer.length; i++) { @@ -451,7 +454,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider newBuffer.add(mb); } - memoryBuffer = (MemoryByte[])newBuffer.toArray(new MemoryByte[newBuffer.size()]); + memoryBuffer = newBuffer.toArray(new MemoryByte[newBuffer.size()]); } @@ -537,7 +540,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider TableRenderingLine newLine = new TableRenderingLine(tmpAddress, memory, lineCache.size(), paddedString); - TableRenderingLine oldLine = (TableRenderingLine)contentCache.get(newLine.getAddress()); + TableRenderingLine oldLine = contentCache.get(newLine.getAddress()); if (manageDelta) { @@ -620,6 +623,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider /* (non-Javadoc) * @see org.eclipse.debug.ui.internal.views.BasicDebugViewContentProvider#doHandleDebugEvent(org.eclipse.debug.core.DebugEvent) */ + @Override protected void doHandleDebugEvent(DebugEvent event) { if (getTableRendering(fInput).isVisible()) @@ -695,7 +699,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider public void takeContentSnapshot() { // cache content before getting new ones - TableRenderingLine[] lines =(TableRenderingLine[]) lineCache.toArray(new TableRenderingLine[lineCache.size()]); + TableRenderingLine[] lines =lineCache.toArray(new TableRenderingLine[lineCache.size()]); fContentCacheInBytes = convertLinesToBytes(lines); fContentCacheStartAddress = lines[0].getAddress(); @@ -784,11 +788,11 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider */ public void resetDeltas() { - Enumeration enumeration = contentCache.elements(); + Enumeration<TableRenderingLine> enumeration = contentCache.elements(); while (enumeration.hasMoreElements()) { - TableRenderingLine line = (TableRenderingLine)enumeration.nextElement(); + TableRenderingLine line = enumeration.nextElement(); line.unmarkDeltas(); } } @@ -802,8 +806,8 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider { if (lineCache != null && !lineCache.isEmpty()) { - TableRenderingLine first = (TableRenderingLine)lineCache.firstElement(); - TableRenderingLine last = (TableRenderingLine) lineCache.lastElement(); + TableRenderingLine first = lineCache.firstElement(); + TableRenderingLine last = lineCache.lastElement(); if (first == null ||last == null) return true; @@ -869,7 +873,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider fDynamicLoad = dynamicLoad; } - private void reorganizeLines(Vector lines, int numBytesPerLine) throws DebugException + private void reorganizeLines(Vector<TableRenderingLine> lines, int numBytesPerLine) throws DebugException { if (lines == null || lines.isEmpty()) return; @@ -878,7 +882,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider if (objs.length > 0) { - TableRenderingLine[] renderingLines = (TableRenderingLine[])lines.toArray(new TableRenderingLine[lines.size()]); + TableRenderingLine[] renderingLines = lines.toArray(new TableRenderingLine[lines.size()]); MemoryByte[] buffer = convertLinesToBytes(renderingLines); BigInteger lineAddress = new BigInteger(renderingLines[0].getAddress(), 16); int numberOfLines = buffer.length / numBytesPerLine; @@ -948,7 +952,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider DebugUIPlugin.log(e); addressLength = 4 * IInternalDebugUIConstants.CHAR_PER_BYTE; } - ArrayList lines = new ArrayList(); + ArrayList<TableRenderingLine> lines = new ArrayList<TableRenderingLine>(); String paddedString = DebugUITools.getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR); for (int i=0; i<numOfLines; i++) @@ -975,7 +979,7 @@ public class TableRenderingContentProvider extends BasicDebugViewContentProvider address = bigInt.add(BigInteger.valueOf(addressableUnit)).toString(16); } - return (TableRenderingLine[])lines.toArray(new TableRenderingLine[lines.size()]); + return lines.toArray(new TableRenderingLine[lines.size()]); } private AbstractTableRendering getTableRendering(TableRenderingContentInput input) diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProvider.java index 009de7707..5623ba8ef 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProvider.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProvider.java @@ -42,6 +42,7 @@ public class TableRenderingLabelProvider extends AbstractTableRenderingLabelProv /* (non-Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() */ + @Override public void dispose() { if (fTablePresentation != null) { fTablePresentation.dispose(); @@ -53,6 +54,7 @@ public class TableRenderingLabelProvider extends AbstractTableRenderingLabelProv /* (non-Javadoc) * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object) */ + @Override public Color getForeground(Object element) { if (element instanceof TableRenderingLine) { @@ -69,6 +71,7 @@ public class TableRenderingLabelProvider extends AbstractTableRenderingLabelProv /* (non-Javadoc) * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object) */ + @Override public Color getBackground(Object element) { return null; @@ -77,6 +80,7 @@ public class TableRenderingLabelProvider extends AbstractTableRenderingLabelProv /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int) */ + @Override public String getColumnText(Object element, int columnIndex) { String label = super.getColumnText(element, columnIndex); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProviderEx.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProviderEx.java index 5fe5fbdaa..40f059d7b 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProviderEx.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLabelProviderEx.java @@ -49,6 +49,7 @@ public class TableRenderingLabelProviderEx extends TableRenderingLabelProvider i * * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() */ + @Override public void dispose() { if (fFontProvider != null) { fFontProvider = null; @@ -66,6 +67,7 @@ public class TableRenderingLabelProviderEx extends TableRenderingLabelProvider i /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITableColorProvider#getBackground(java.lang.Object, int) */ + @Override public Color getBackground(Object element, int columnIndex) { if (fColorProvider != null && columnIndex > 0) { MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex); @@ -81,6 +83,7 @@ public class TableRenderingLabelProviderEx extends TableRenderingLabelProvider i /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITableColorProvider#getForeground(java.lang.Object, int) */ + @Override public Color getForeground(Object element, int columnIndex) { if (fColorProvider != null && columnIndex > 0) { MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex); @@ -96,6 +99,7 @@ public class TableRenderingLabelProviderEx extends TableRenderingLabelProvider i /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int) */ + @Override public Image getColumnImage(Object element, int columnIndex) { if (fLabelProvider != null && columnIndex > 0) { MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex); @@ -111,6 +115,7 @@ public class TableRenderingLabelProviderEx extends TableRenderingLabelProvider i /* (non-Javadoc) * @see org.eclipse.jface.viewers.ITableFontProvider#getFont(java.lang.Object, int) */ + @Override public Font getFont(Object element, int columnIndex) { if (fFontProvider != null && columnIndex > 0) { MemoryRenderingElement renderingElement = getMemoryRenderingElement(element, columnIndex); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java index 0652248c7..a175e55b8 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingLine.java @@ -67,13 +67,13 @@ public class TableRenderingLine extends PlatformObject { public MemoryByte[] getBytes(int start, int end) { - ArrayList ret = new ArrayList(); + ArrayList<MemoryByte> ret = new ArrayList<MemoryByte>(); for (int i=start; i<end; i++) { ret.add(fBytes[i]); } - return (MemoryByte[]) ret.toArray(new MemoryByte[ret.size()]); + return ret.toArray(new MemoryByte[ret.size()]); } public String getRawMemoryString() @@ -279,6 +279,7 @@ public class TableRenderingLine extends PlatformObject { /* (non-Javadoc) * @see java.lang.Object#toString() */ + @Override public String toString() { StringBuffer buf = new StringBuffer(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java index d7c5a4096..6cf038350 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingModel.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 IBM Corporation and others. + * Copyright (c) 2006, 2013 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 @@ -33,451 +33,409 @@ import org.eclipse.debug.internal.ui.viewers.ModelNode; import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil; import org.eclipse.debug.ui.memory.IMemoryRendering; +public class TableRenderingModel extends AbstractVirtualContentTableModel implements IContentChangeComputer { -public class TableRenderingModel extends AbstractVirtualContentTableModel - implements IContentChangeComputer { + private Hashtable<Object, Object> fCache; + private Vector<Object> fOrderedCache; // needed to re-organize cache - - private Hashtable fCache; - private Vector fOrderedCache; // needed to re-organize cache - private boolean fMBSupportsChangeManagement; private IMemoryBlock fMemoryBlock; class SupportsChangeMgmtJob extends Job { - - SupportsChangeMgmtJob() - { + + SupportsChangeMgmtJob() { super("Support Change Management"); //$NON-NLS-1$ setSystem(true); } + @Override protected IStatus run(IProgressMonitor monitor) { IMemoryBlock mb = getMemoryBlock(); - if (mb instanceof IMemoryBlockExtension) - { - IMemoryBlockExtension mbExt = (IMemoryBlockExtension)mb; + if (mb instanceof IMemoryBlockExtension) { + IMemoryBlockExtension mbExt = (IMemoryBlockExtension) mb; fMBSupportsChangeManagement = mbExt.supportsChangeManagement(); } return Status.OK_STATUS; } - + } - - + public TableRenderingModel(AsynchronousTableViewer viewer) { super(viewer); - fCache = new Hashtable(); - fOrderedCache = new Vector(); + fCache = new Hashtable<Object, Object>(); + fOrderedCache = new Vector<Object>(); } - - public int indexOfKey(Object key) - { - if (key instanceof BigInteger) - { - BigInteger address = (BigInteger)key; + + @Override + public int indexOfKey(Object key) { + if (key instanceof BigInteger) { + BigInteger address = (BigInteger) key; Object items[] = getElements(); - - for (int i=0; i<items.length; i++){ - if (items[i] != null && items[i] instanceof MemorySegment) - { - MemorySegment line = (MemorySegment)items[i]; - if (line.containsAddress(address)) + + for (int i = 0; i < items.length; i++) { + if (items[i] != null && items[i] instanceof MemorySegment) { + MemorySegment line = (MemorySegment) items[i]; + if (line.containsAddress(address)) { return i; + } } } } - + return -1; } - - public int columnOf(Object element, Object key) - { - if (element instanceof MemorySegment && key instanceof BigInteger) - { - BigInteger address = (BigInteger)key; - MemorySegment line = (MemorySegment)element; - if (line.containsAddress(address)) - { - if (getAddressableUnitsPerColumn() > 0) - { + + @Override + public int columnOf(Object element, Object key) { + if (element instanceof MemorySegment && key instanceof BigInteger) { + BigInteger address = (BigInteger) key; + MemorySegment line = (MemorySegment) element; + if (line.containsAddress(address)) { + if (getAddressableUnitsPerColumn() > 0) { BigInteger offset = address.subtract(line.getAddress()); - + // locate column int colAddressableUnit = getAddressableUnitsPerColumn(); - int col = ((offset.intValue()/colAddressableUnit)+1); - - if (col == 0) + int col = ((offset.intValue() / colAddressableUnit) + 1); + + if (col == 0) { col = 1; - + } + return col; } } } - + return -1; } - - public Object getKey(int idx) - { + + @Override + public Object getKey(int idx) { Object elmt = getElement(idx); - if (elmt instanceof MemorySegment) - { - return ((MemorySegment)elmt).getAddress(); + if (elmt instanceof MemorySegment) { + return ((MemorySegment) elmt).getAddress(); } - + return null; } + @Override public Object getKey(Object element) { int idx = indexOfElement(element); - if (idx >= 0) - { + if (idx >= 0) { return getKey(idx); } return null; } - + + @Override public Object getKey(int idx, int col) { Object element = getElement(idx); - if (element != null && element instanceof MemorySegment) - { - MemorySegment segment = (MemorySegment)element; + if (element != null && element instanceof MemorySegment) { + MemorySegment segment = (MemorySegment) element; BigInteger rowAddress = segment.getAddress(); - + int offset; - if (col > 0) - { - // get address offset + if (col > 0) { + // get address offset int addressableUnit = getAddressableUnitsPerColumn(); - offset = (col-1) * addressableUnit; - } - else - { + offset = (col - 1) * addressableUnit; + } else { offset = 0; } return rowAddress.add(BigInteger.valueOf(offset)); } return null; } - - private int getAddressableUnitsPerColumn() - { + + private int getAddressableUnitsPerColumn() { AsynchronousTableViewer viewer = getTableViewer(); - if (viewer.getPresentationContext() instanceof MemoryViewPresentationContext) - { - MemoryViewPresentationContext context = (MemoryViewPresentationContext)viewer.getPresentationContext(); - if (getTableRendering(context)!= null) - { + if (viewer.getPresentationContext() instanceof MemoryViewPresentationContext) { + MemoryViewPresentationContext context = (MemoryViewPresentationContext) viewer.getPresentationContext(); + if (getTableRendering(context) != null) { return getTableRendering(context).getAddressableUnitPerColumn(); } } return -1; } + @Override public void cache(Object[] elements) { - for (int i=0; i<elements.length; i++) - { + for (int i = 0; i < elements.length; i++) { Object obj = elements[i]; - if (obj instanceof MemorySegment) - { - cache(((MemorySegment)obj).getAddress(), obj); + if (obj instanceof MemorySegment) { + cache(((MemorySegment) obj).getAddress(), obj); } } - + } - - private void cache(Object key, Object element) - { + + private void cache(Object key, Object element) { fCache.put(key, element); fOrderedCache.add(element); } + @Override public Object[] compare(Object[] newElements) { - - if (fCache.isEmpty()) + + if (fCache.isEmpty()) { return newElements; - - for (int j=0; j<newElements.length; j++) - { + } + + for (int j = 0; j < newElements.length; j++) { Object obj = newElements[j]; - if (obj instanceof MemorySegment) - { - MemorySegment newSegment = (MemorySegment)obj; - MemorySegment oldSegment = (MemorySegment)fCache.get(newSegment.getAddress()); - - if (oldSegment != null) - { - if (oldSegment.getNumAddressableUnits() == newSegment.getNumAddressableUnits()) - { + if (obj instanceof MemorySegment) { + MemorySegment newSegment = (MemorySegment) obj; + MemorySegment oldSegment = (MemorySegment) fCache.get(newSegment.getAddress()); + + if (oldSegment != null) { + if (oldSegment.getNumAddressableUnits() == newSegment.getNumAddressableUnits()) { MemoryByte[] newBytes = newSegment.getBytes(); MemoryByte[] oldBytes = oldSegment.getBytes(); - - for (int i=0; i<newBytes.length; i++) - { + + for (int i = 0; i < newBytes.length; i++) { newBytes[i].setHistoryKnown(true); - - if (newBytes[i].isReadable() != oldBytes[i].isReadable()) - { + + if (newBytes[i].isReadable() != oldBytes[i].isReadable()) { newBytes[i].setChanged(true); continue; - } + } - if (newBytes[i].isReadable() && oldBytes[i].isReadable() && - (newBytes[i].getValue() != oldBytes[i].getValue())) + if (newBytes[i].isReadable() && oldBytes[i].isReadable() && (newBytes[i].getValue() != oldBytes[i].getValue())) { newBytes[i].setChanged(true); + } } } } } - } + } return newElements; } - - public void clearCache() - { + + @Override + public void clearCache() { fCache.clear(); fOrderedCache.clear(); } + @Override public boolean isEmpty() { return fCache.isEmpty(); } + @Override public void handleViewerChanged() { // viewer has changed, content manager needs to re-organize the cache rebuildCache(); rebuildContent(); } - - private void rebuildCache() - { - if (isEmpty()) + + private void rebuildCache() { + if (isEmpty()) { return; - - MemoryViewPresentationContext context = (MemoryViewPresentationContext)getTableViewer().getPresentationContext(); + } + + MemoryViewPresentationContext context = (MemoryViewPresentationContext) getTableViewer().getPresentationContext(); AbstractAsyncTableRendering rendering = getTableRendering(context); - - if (rendering == null) + + if (rendering == null) { return; - - ArrayList segments = new ArrayList(); - Enumeration enumeration = fOrderedCache.elements(); - - BigInteger address = ((MemorySegment)fOrderedCache.get(0)).getAddress(); - while (enumeration.hasMoreElements()) - { + } + + ArrayList<Object> segments = new ArrayList<Object>(); + Enumeration<Object> enumeration = fOrderedCache.elements(); + + BigInteger address = ((MemorySegment) fOrderedCache.get(0)).getAddress(); + while (enumeration.hasMoreElements()) { Object element = enumeration.nextElement(); - if (element instanceof MemorySegment) - { - + if (element instanceof MemorySegment) { + segments.add(element); } } - - MemoryByte[] bytes = convertSegmentsToBytes((MemorySegment[])segments.toArray(new MemorySegment[0])); - + + MemoryByte[] bytes = convertSegmentsToBytes(segments.toArray(new MemorySegment[0])); + int bytesPerLine = rendering.getBytesPerLine(); int numAddressableUnitPerLine = rendering.getAddressableUnitPerLine(); - + int addressableSize = rendering.getAddressableSize(); - + clearCache(); - - TableRenderingContentDescriptor descriptor = (TableRenderingContentDescriptor)rendering.getAdapter(TableRenderingContentDescriptor.class); + + TableRenderingContentDescriptor descriptor = (TableRenderingContentDescriptor) rendering.getAdapter(TableRenderingContentDescriptor.class); boolean alignAddress = true; - if (descriptor != null && !descriptor.isAlignAddressToBoundary()) - { + if (descriptor != null && !descriptor.isAlignAddressToBoundary()) { alignAddress = descriptor.isAlignAddressToBoundary(); } - + MemorySegment[] newSegments = convertMemoryBytesToSegments(address, bytes, bytesPerLine, numAddressableUnitPerLine, addressableSize, alignAddress); - for (int i=0; i<newSegments.length; i++) - { + for (int i = 0; i < newSegments.length; i++) { cache(newSegments[i].getAddress(), newSegments[i]); } } - - private void rebuildContent() - { - MemoryViewPresentationContext context = (MemoryViewPresentationContext)getTableViewer().getPresentationContext(); + + private void rebuildContent() { + MemoryViewPresentationContext context = (MemoryViewPresentationContext) getTableViewer().getPresentationContext(); AbstractAsyncTableRendering rendering = getTableRendering(context); - - if (rendering == null) + + if (rendering == null) { return; - - ArrayList segments = new ArrayList(); + } + + ArrayList<Object> segments = new ArrayList<Object>(); Object[] elements = getElements(); - for (int i=0; i<elements.length; i++) - { + for (int i = 0; i < elements.length; i++) { Object element = elements[i]; - if (element instanceof MemorySegment) - { + if (element instanceof MemorySegment) { segments.add(element); } } - - MemoryByte[] bytes = convertSegmentsToBytes((MemorySegment[])segments.toArray(new MemorySegment[segments.size()])); - + + MemoryByte[] bytes = convertSegmentsToBytes(segments.toArray(new MemorySegment[segments.size()])); + int bytesPerLine = rendering.getBytesPerLine(); int numAddressableUnitPerLine = rendering.getAddressableUnitPerLine(); - BigInteger address = (BigInteger)getKey(0); + BigInteger address = (BigInteger) getKey(0); int addressableSize = rendering.getAddressableSize(); - - TableRenderingContentDescriptor descriptor = (TableRenderingContentDescriptor)rendering.getAdapter(TableRenderingContentDescriptor.class); + + TableRenderingContentDescriptor descriptor = (TableRenderingContentDescriptor) rendering.getAdapter(TableRenderingContentDescriptor.class); boolean alignAddress = true; - if (descriptor != null && !descriptor.isAlignAddressToBoundary()) - { + if (descriptor != null && !descriptor.isAlignAddressToBoundary()) { alignAddress = descriptor.isAlignAddressToBoundary(); } - + MemorySegment[] newSegments = convertMemoryBytesToSegments(address, bytes, bytesPerLine, numAddressableUnitPerLine, addressableSize, alignAddress); remove(getElements()); add(newSegments); } - - private MemoryByte[] convertSegmentsToBytes(MemorySegment[] segments) - { - ArrayList toReturn = new ArrayList(); - for (int i=0; i<segments.length; i++) - { + private MemoryByte[] convertSegmentsToBytes(MemorySegment[] segments) { + ArrayList<MemoryByte> toReturn = new ArrayList<MemoryByte>(); + for (int i = 0; i < segments.length; i++) { MemoryByte[] temp = segments[i].getBytes(); - for (int j=0; j<temp.length; j++) - { + for (int j = 0; j < temp.length; j++) { toReturn.add(temp[j]); } } - return (MemoryByte[])toReturn.toArray(new MemoryByte[0]); + return toReturn.toArray(new MemoryByte[0]); } - + private MemorySegment[] convertMemoryBytesToSegments(BigInteger address, MemoryByte[] bytes, int bytesPerLine, int numAddressableUnitPerLine, int addressableSize, boolean alignAddress) { - + Assert.isTrue(bytesPerLine > 0); Assert.isTrue(numAddressableUnitPerLine > 0); - - ArrayList segments = new ArrayList(); + + ArrayList<MemorySegment> segments = new ArrayList<MemorySegment>(); MemoryByte[] temp = bytes; - - if (alignAddress) - { + + if (alignAddress) { BigInteger alignedAddress = MemoryViewUtil.alignToBoundary(address, numAddressableUnitPerLine); - - // also check that the address is properly aligned and prepend bytes if need to - if (!address.subtract(alignedAddress).equals(BigInteger.ZERO)) - { + + // also check that the address is properly aligned and prepend bytes + // if need to + if (!address.subtract(alignedAddress).equals(BigInteger.ZERO)) { BigInteger unitsToSetBack = address.subtract(alignedAddress); BigInteger tempAddress = address.subtract(unitsToSetBack); // only do this if the resulted address >= 0 // do not want to have negative addresses - if (tempAddress.compareTo(BigInteger.ZERO) >= 0) - { + if (tempAddress.compareTo(BigInteger.ZERO) >= 0) { address = alignedAddress; int numBytesNeeded = unitsToSetBack.intValue() * addressableSize; temp = new MemoryByte[bytes.length + numBytesNeeded]; - - for (int i=0; i<numBytesNeeded; i++) - { + + for (int i = 0; i < numBytesNeeded; i++) { temp[i] = new MemoryByte(); temp[i].setReadable(false); temp[i].setWritable(false); - temp[i].setEndianessKnown(false); - } - + temp[i].setEndianessKnown(false); + } + System.arraycopy(bytes, 0, temp, numBytesNeeded, bytes.length); bytes = temp; } } } - - if (bytes.length % bytesPerLine != 0) - { + + if (bytes.length % bytesPerLine != 0) { int numBytesNeeded = bytesPerLine - (bytes.length % bytesPerLine); temp = new MemoryByte[bytes.length + numBytesNeeded]; System.arraycopy(bytes, 0, temp, 0, bytes.length); - - for (int i=bytes.length; i<temp.length; i++) - { + + for (int i = bytes.length; i < temp.length; i++) { temp[i] = new MemoryByte(); temp[i].setReadable(false); temp[i].setWritable(false); - temp[i].setEndianessKnown(false); - } + temp[i].setEndianessKnown(false); + } bytes = temp; } - + int idx = 0; - while (idx < bytes.length && (idx + bytesPerLine)<= bytes.length) - { + while (idx < bytes.length && (idx + bytesPerLine) <= bytes.length) { MemoryByte[] newBytes = new MemoryByte[bytesPerLine]; System.arraycopy(bytes, idx, newBytes, 0, bytesPerLine); - + MemorySegment segment = new MemorySegment(address, newBytes, numAddressableUnitPerLine); segments.add(segment); - + address = address.add(BigInteger.valueOf(numAddressableUnitPerLine)); idx += bytesPerLine; } - - return (MemorySegment[])segments.toArray(new MemorySegment[segments.size()]); + + return segments.toArray(new MemorySegment[segments.size()]); } - - private AsynchronousTableViewer getTableViewer() - { - return (AsynchronousTableViewer)getViewer(); + + private AsynchronousTableViewer getTableViewer() { + return (AsynchronousTableViewer) getViewer(); } - protected void setChildren(ModelNode parentNode, List kids) { - - if (computeChanges()) - { + @Override + protected void setChildren(ModelNode parentNode, List<Object> kids) { + + if (computeChanges()) { Object[] newContent = compare(kids.toArray()); - ArrayList newList = new ArrayList(); - for (int i=0; i<newContent.length; i++) - { + ArrayList<Object> newList = new ArrayList<Object>(); + for (int i = 0; i < newContent.length; i++) { newList.add(newContent[i]); } super.setChildren(parentNode, newList); - } - else + } else { super.setChildren(parentNode, kids); + } } - - private boolean computeChanges() - { - if (isEmpty()) + + private boolean computeChanges() { + if (isEmpty()) { return false; - - if (fMBSupportsChangeManagement) - { + } + + if (fMBSupportsChangeManagement) { return false; } - + return true; } - - private IMemoryBlock getMemoryBlock() - { + + private IMemoryBlock getMemoryBlock() { return fMemoryBlock; } - + @Override public void init(Object root) { - if (root instanceof IMemoryBlock) - { - fMemoryBlock = (IMemoryBlock)root; + if (root instanceof IMemoryBlock) { + fMemoryBlock = (IMemoryBlock) root; new SupportsChangeMgmtJob().schedule(); } super.init(root); } - - private AbstractAsyncTableRendering getTableRendering(MemoryViewPresentationContext context) - { + + private AbstractAsyncTableRendering getTableRendering(MemoryViewPresentationContext context) { IMemoryRendering memRendering = context.getRendering(); - if (memRendering != null && memRendering instanceof AbstractAsyncTableRendering) - { - return (AbstractAsyncTableRendering)memRendering; + if (memRendering != null && memRendering instanceof AbstractAsyncTableRendering) { + return (AbstractAsyncTableRendering) memRendering; } return null; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPrefAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPrefAction.java index 43a2840bf..d6dc2c652 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPrefAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPrefAction.java @@ -30,6 +30,7 @@ public class TableRenderingPrefAction extends ActionDelegate implements IViewAct /* (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ + @Override public void run(IAction action) { IPreferencePage page = new TableRenderingPreferencePage(DebugUIMessages.TableRenderingPrefAction_0); showPreferencePage("org.eclipse.debug.ui.tableRenderingPreferencepage", page); //$NON-NLS-1$ @@ -38,6 +39,7 @@ public class TableRenderingPrefAction extends ActionDelegate implements IViewAct /* (non-Javadoc) * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) */ + @Override public void init(IViewPart view) { } @@ -49,6 +51,7 @@ public class TableRenderingPrefAction extends ActionDelegate implements IViewAct final PreferenceDialog dialog = new PreferenceDialog(DebugUIPlugin.getShell(), manager); final boolean [] result = new boolean[] { false }; BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), new Runnable() { + @Override public void run() { dialog.create(); dialog.setMessage(targetNode.getLabelText()); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPreferencePage.java index e32593f33..3ac5222c3 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPreferencePage.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPreferencePage.java @@ -49,6 +49,7 @@ public class TableRenderingPreferencePage extends PreferencePage implements super(title); } + @Override protected Control createContents(Composite parent) { PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".table_renderings_preference_page_context"); //$NON-NLS-1$ @@ -109,6 +110,7 @@ public class TableRenderingPreferencePage extends PreferencePage implements fManual.setSelection(!isAuto); } + @Override public void propertyChange(PropertyChangeEvent event) { if (event.getProperty().equals(FieldEditor.VALUE)) { @@ -161,10 +163,12 @@ public class TableRenderingPreferencePage extends PreferencePage implements } } + @Override protected IPreferenceStore doGetPreferenceStore() { return DebugUIPlugin.getDefault().getPreferenceStore(); } + @Override public void dispose() { fAuto.removeSelectionListener(this); fManual.removeSelectionListener(this); @@ -174,14 +178,17 @@ public class TableRenderingPreferencePage extends PreferencePage implements super.dispose(); } + @Override public void widgetDefaultSelected(SelectionEvent e) { // do nothing } + @Override public void widgetSelected(SelectionEvent e) { updateTextEditorsEnablement(); } + @Override public boolean performOk() { boolean auto = fAuto.getSelection(); boolean currentValue = getPreferenceStore().getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM); @@ -194,6 +201,7 @@ public class TableRenderingPreferencePage extends PreferencePage implements return super.performOk(); } + @Override protected void performDefaults() { boolean auto = getPreferenceStore().getDefaultBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPropertiesPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPropertiesPage.java index 0f17551fe..7e9408004 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPropertiesPage.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/TableRenderingPropertiesPage.java @@ -31,6 +31,7 @@ public class TableRenderingPropertiesPage extends PropertyPage implements super(); } + @Override protected Control createContents(Composite parent) { PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".TableRenderingPropertiesPage_context"); //$NON-NLS-1$ noDefaultAndApplyButton(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRendering.java index 2d126c515..25dde336f 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRendering.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRendering.java @@ -122,6 +122,7 @@ public class UnsignedIntegerRendering extends AbstractIntegerRendering { /* (non-Javadoc) * @see com.ibm.debug.extended.ui.AbstractMemoryRenderer#getString(java.lang.String, java.math.BigInteger, byte[]) */ + @Override public String getString(String dataType, BigInteger address, MemoryByte[] data) { String paddedStr = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_PADDED_STR); @@ -173,6 +174,7 @@ public class UnsignedIntegerRendering extends AbstractIntegerRendering { /* (non-Javadoc) * @see com.ibm.debug.extended.ui.AbstractMemoryRenderer#getBytes(java.lang.String, java.math.BigInteger, java.lang.String) */ + @Override public byte[] getBytes(String dataType, BigInteger address, MemoryByte[] currentValues, String data) { int columnSize = getBytesPerColumn(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRenderingTypeDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRenderingTypeDelegate.java index fccbe93a5..805a8f983 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRenderingTypeDelegate.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/UnsignedIntegerRenderingTypeDelegate.java @@ -24,6 +24,7 @@ public class UnsignedIntegerRenderingTypeDelegate implements /* (non-Javadoc) * @see org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate#createRendering(java.lang.String) */ + @Override public IMemoryRendering createRendering(String id) throws CoreException { return new UnsignedIntegerRendering(id); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/ModulesView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/ModulesView.java index 55047f0e7..ae7f4c411 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/ModulesView.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/modules/ModulesView.java @@ -40,6 +40,7 @@ public class ModulesView extends VariablesView { /** * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId() */ + @Override protected String getHelpContextId() { return IDebugHelpContextIds.MODULES_VIEW; } @@ -47,6 +48,7 @@ public class ModulesView extends VariablesView { /** * @see org.eclipse.debug.ui.AbstractDebugView#configureToolBar(org.eclipse.jface.action.IToolBarManager) */ + @Override protected void configureToolBar(IToolBarManager tbm) { tbm.add(new Separator(this.getClass().getName())); tbm.add(new Separator(IDebugUIConstants.RENDER_GROUP)); @@ -57,7 +59,8 @@ public class ModulesView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#fillContextMenu(org.eclipse.jface.action.IMenuManager) */ - protected void fillContextMenu( IMenuManager menu ) { + @Override + protected void fillContextMenu( IMenuManager menu ) { menu.add( new Separator( IDebugUIConstants.EMPTY_MODULES_GROUP ) ); menu.add( new Separator( IDebugUIConstants.MODULES_GROUP ) ); menu.add(getAction(FIND_ACTION)); @@ -74,6 +77,7 @@ public class ModulesView extends VariablesView { /** * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getDetailPanePreferenceKey() */ + @Override protected String getDetailPanePreferenceKey() { return IDebugPreferenceConstants.MODULES_DETAIL_PANE_ORIENTATION; } @@ -81,6 +85,7 @@ public class ModulesView extends VariablesView { /** * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getToggleActionLabel() */ + @Override protected String getToggleActionLabel() { if (getViewer() != null) @@ -103,10 +108,12 @@ public class ModulesView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getPresentationContextId() */ + @Override protected String getPresentationContextId() { return IDebugUIConstants.ID_MODULE_VIEW; } + @Override protected void setViewerInput(Object context) { super.setViewerInput(context); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java index d0fa27aff..d509d4f4f 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java @@ -25,6 +25,7 @@ public class RegistersView extends VariablesView { /** * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId() */ + @Override protected String getHelpContextId() { return IDebugHelpContextIds.REGISTERS_VIEW; } @@ -32,6 +33,7 @@ public class RegistersView extends VariablesView { /** * @see org.eclipse.debug.ui.AbstractDebugView#configureToolBar(org.eclipse.jface.action.IToolBarManager) */ + @Override protected void configureToolBar(IToolBarManager tbm) { super.configureToolBar(tbm); tbm.add(new Separator(IDebugUIConstants.EMPTY_REGISTER_GROUP)); @@ -41,6 +43,7 @@ public class RegistersView extends VariablesView { /** * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getDetailPanePreferenceKey() */ + @Override protected String getDetailPanePreferenceKey() { return IDebugPreferenceConstants.REGISTERS_DETAIL_PANE_ORIENTATION; } @@ -48,6 +51,7 @@ public class RegistersView extends VariablesView { /** * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getToggleActionLabel() */ + @Override protected String getToggleActionLabel() { return RegistersViewMessages.RegistersView_0; } @@ -55,6 +59,7 @@ public class RegistersView extends VariablesView { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getPresentationContextId() */ + @Override protected String getPresentationContextId() { return IDebugUIConstants.ID_REGISTER_VIEW; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java index 62644e211..e21d3784b 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java @@ -50,6 +50,7 @@ public class AvailableLogicalStructuresAction extends Action implements IMenuCre /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { } @@ -64,6 +65,7 @@ public class AvailableLogicalStructuresAction extends Action implements IMenuCre /* (non-Javadoc) * @see org.eclipse.jface.action.IMenuCreator#dispose() */ + @Override public void dispose() { if (fMenu != null) { fMenu.dispose(); @@ -76,6 +78,7 @@ public class AvailableLogicalStructuresAction extends Action implements IMenuCre /* (non-Javadoc) * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control) */ + @Override public Menu getMenu(Control parent) { return null; } @@ -88,6 +91,7 @@ public class AvailableLogicalStructuresAction extends Action implements IMenuCre /* (non-Javadoc) * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu) */ + @Override public Menu getMenu(Menu parent) { if (fMenu != null) { fMenu.dispose(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.java index 68b16ba0d..33a0952fb 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.java @@ -47,6 +47,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.debug.core.model.IIndexedValue#getSize() */ + @Override public int getSize() { return fLength; } @@ -54,6 +55,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.debug.core.model.IIndexedValue#getVariable(int) */ + @Override public IVariable getVariable(int offset) throws DebugException { return fValue.getVariable(offset); } @@ -61,6 +63,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.debug.core.model.IValue#getReferenceTypeName() */ + @Override public String getReferenceTypeName() throws DebugException { return fValue.getReferenceTypeName(); } @@ -68,6 +71,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.debug.core.model.IValue#getValueString() */ + @Override public String getValueString() { return IInternalDebugCoreConstants.EMPTY_STRING; } @@ -75,6 +79,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.debug.core.model.IValue#getVariables() */ + @Override public IVariable[] getVariables() throws DebugException { return getVariables(fOffset, fLength); } @@ -82,6 +87,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.debug.core.model.IValue#hasVariables() */ + @Override public boolean hasVariables() { return fLength > 0; } @@ -89,6 +95,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.debug.core.model.IValue#isAllocated() */ + @Override public boolean isAllocated() throws DebugException { return fValue.isAllocated(); } @@ -96,6 +103,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget() */ + @Override public IDebugTarget getDebugTarget() { return fValue.getDebugTarget(); } @@ -103,6 +111,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getLaunch() */ + @Override public ILaunch getLaunch() { return fValue.getLaunch(); } @@ -110,6 +119,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier() */ + @Override public String getModelIdentifier() { return fValue.getModelIdentifier(); } @@ -117,6 +127,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ + @Override public Object getAdapter(Class adapter) { return fValue.getAdapter(adapter); } @@ -124,6 +135,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.debug.core.model.IIndexedValue#getVariables(int, int) */ + @Override public IVariable[] getVariables(int offset, int length) throws DebugException { return fValue.getVariables(offset, length); } @@ -131,6 +143,7 @@ public class IndexedValuePartition implements IIndexedValue { /* (non-Javadoc) * @see org.eclipse.debug.core.model.IIndexedValue#getInitialOffset() */ + @Override public int getInitialOffset() { return fOffset; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java index 144f96b7e..4327e4aaf 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java @@ -65,6 +65,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see org.eclipse.debug.core.model.IVariable#getValue() */ + @Override public IValue getValue() { return fValuePartition; } @@ -72,6 +73,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see org.eclipse.debug.core.model.IVariable#getName() */ + @Override public String getName() { if (fName == null) { StringBuffer buf = new StringBuffer(); @@ -88,6 +90,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see org.eclipse.debug.core.model.IVariable#getReferenceTypeName() */ + @Override public String getReferenceTypeName() throws DebugException { if (fOriginalVariable instanceof IVariable) { IVariable variable = (IVariable) fOriginalVariable; @@ -99,6 +102,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see org.eclipse.debug.core.model.IVariable#hasValueChanged() */ + @Override public boolean hasValueChanged() { return false; } @@ -106,6 +110,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier() */ + @Override public String getModelIdentifier() { return fOriginalValue.getModelIdentifier(); } @@ -113,6 +118,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget() */ + @Override public IDebugTarget getDebugTarget() { return fOriginalValue.getDebugTarget(); } @@ -120,6 +126,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getLaunch() */ + @Override public ILaunch getLaunch() { return fOriginalValue.getLaunch(); } @@ -127,6 +134,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see org.eclipse.debug.core.model.IValueModification#setValue(java.lang.String) */ + @Override public void setValue(String expression) throws DebugException { throw new DebugException(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "Value modification not supported for indexed partitions.", null)); //$NON-NLS-1$ } @@ -134,6 +142,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see org.eclipse.debug.core.model.IValueModification#setValue(org.eclipse.debug.core.model.IValue) */ + @Override public void setValue(IValue value) throws DebugException { throw new DebugException(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, "Value modification not supported for indexed partitions.", null)); //$NON-NLS-1$ } @@ -141,6 +150,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see org.eclipse.debug.core.model.IValueModification#supportsValueModification() */ + @Override public boolean supportsValueModification() { return false; } @@ -148,6 +158,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see org.eclipse.debug.core.model.IValueModification#verifyValue(java.lang.String) */ + @Override public boolean verifyValue(String expression) { return false; } @@ -155,6 +166,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see org.eclipse.debug.core.model.IValueModification#verifyValue(org.eclipse.debug.core.model.IValue) */ + @Override public boolean verifyValue(IValue value) { return false; } @@ -162,6 +174,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ + @Override public boolean equals(Object obj) { if (obj instanceof IndexedVariablePartition) { IndexedVariablePartition partition = (IndexedVariablePartition)obj; @@ -174,6 +187,7 @@ public class IndexedVariablePartition extends PlatformObject implements IVariabl /* (non-Javadoc) * @see java.lang.Object#hashCode() */ + @Override public int hashCode() { return fOriginalVariable.hashCode() + fOffset; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/LogicalStructureCache.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/LogicalStructureCache.java index dd72ccc30..5765ece18 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/LogicalStructureCache.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/LogicalStructureCache.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 IBM Corporation and others. + * Copyright (c) 2007, 2013 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 @@ -35,7 +35,7 @@ public class LogicalStructureCache { /** * Maps a ILogicalStructureType to the cache for that type */ - private Map fCacheForType = new HashMap(); + private Map<ILogicalStructureType, LogicalStructureTypeCache> fCacheForType = new HashMap<ILogicalStructureType, LogicalStructureTypeCache>(); /** * Returns the logical value to replace the given value using the specified logical structure. @@ -69,7 +69,7 @@ public class LogicalStructureCache { * @return the cache associated with the logical structure type */ protected LogicalStructureTypeCache getCacheForType(ILogicalStructureType type){ - LogicalStructureTypeCache cache = (LogicalStructureTypeCache)fCacheForType.get(type); + LogicalStructureTypeCache cache = fCacheForType.get(type); if (cache == null){ cache = new LogicalStructureTypeCache(type); fCacheForType.put(type, cache); @@ -88,12 +88,12 @@ public class LogicalStructureCache { /** * Maps a raw IValue to its calculated logical IValue */ - private Map fKnownValues = new HashMap(); + private Map<IValue, IValue> fKnownValues = new HashMap<IValue, IValue>(); /** * Set of raw IValues that logical values are currently being evaluated for. */ - private Set fPendingValues = new HashSet(); + private Set<IValue> fPendingValues = new HashSet<IValue>(); public LogicalStructureTypeCache(ILogicalStructureType type){ fType = type; @@ -110,7 +110,7 @@ public class LogicalStructureCache { public IValue getLogicalStructure(IValue value) throws CoreException { // Check if the value has already been evaluated synchronized (fKnownValues) { - IValue logical = (IValue)fKnownValues.get(value); + IValue logical = fKnownValues.get(value); if (logical != null){ return logical; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.java index 80bc7b284..4ef148cf0 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.java @@ -45,6 +45,7 @@ public class SelectLogicalStructureAction extends Action { /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { valueChanged(); } @@ -54,6 +55,7 @@ public class SelectLogicalStructureAction extends Action { return; } BusyIndicator.showWhile(getView().getViewer().getControl().getDisplay(), new Runnable() { + @Override public void run() { // Checking this action sets the type to fType, unchecking it sets the type // to null ("none selected") diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectionDragAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectionDragAdapter.java index f565712a9..5ccaf11cb 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectionDragAdapter.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectionDragAdapter.java @@ -46,14 +46,16 @@ public class SelectionDragAdapter extends DragSourceAdapter implements TransferD /* (non-Javadoc) * @see org.eclipse.jface.util.TransferDragSourceListener#getTransfer() */ - public Transfer getTransfer() { + @Override + public Transfer getTransfer() { return LocalSelectionTransfer.getTransfer(); } /* (non-Javadoc) * @see org.eclipse.swt.dnd.DragSourceAdapter#dragStart(org.eclipse.swt.dnd.DragSourceEvent) */ - public void dragStart(DragSourceEvent event) { + @Override + public void dragStart(DragSourceEvent event) { ISelection selection = fViewer.getSelection(); LocalSelectionTransfer.getTransfer().setSelection(selection); LocalSelectionTransfer.getTransfer().setSelectionSetTime(event.time & 0xFFFFFFFFL); @@ -63,7 +65,8 @@ public class SelectionDragAdapter extends DragSourceAdapter implements TransferD /* (non-Javadoc) * @see org.eclipse.swt.dnd.DragSourceAdapter#dragSetData(org.eclipse.swt.dnd.DragSourceEvent) */ - public void dragSetData(DragSourceEvent event) { + @Override + public void dragSetData(DragSourceEvent event) { // For consistency set the data to the selection even though // the selection is provided by the LocalSelectionTransfer // to the drop target adapter. @@ -73,7 +76,8 @@ public class SelectionDragAdapter extends DragSourceAdapter implements TransferD /* (non-Javadoc) * @see org.eclipse.swt.dnd.DragSourceAdapter#dragFinished(org.eclipse.swt.dnd.DragSourceEvent) */ - public void dragFinished(DragSourceEvent event) { + @Override + public void dragFinished(DragSourceEvent event) { LocalSelectionTransfer.getTransfer().setSelection(null); LocalSelectionTransfer.getTransfer().setSelectionSetTime(0); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java index dca133d1f..a554d56cd 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java @@ -43,12 +43,14 @@ public class ToggleLogicalStructureAction extends Action { /* (non-Javadoc) * @see org.eclipse.jface.action.Action#run() */ + @Override public void run() { if (!getView().isAvailable()) { return; } getView().setShowLogicalStructure(isChecked()); BusyIndicator.showWhile(getView().getViewer().getControl().getDisplay(), new Runnable() { + @Override public void run() { getView().getViewer().refresh(); } @@ -58,6 +60,7 @@ public class ToggleLogicalStructureAction extends Action { /* (non-Javadoc) * @see org.eclipse.jface.action.Action#setChecked(boolean) */ + @Override public void setChecked(boolean value) { super.setChecked(value); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleShowColumnsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleShowColumnsAction.java index 7dee94008..a1e7b2c38 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleShowColumnsAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleShowColumnsAction.java @@ -43,11 +43,13 @@ public class ToggleShowColumnsAction extends Action implements IUpdate { /* (non-Javadoc) * @see org.eclipse.jface.action.Action#run() */ + @Override public void run() { if (fViewer.getControl().isDisposed()) { return; } BusyIndicator.showWhile(fViewer.getControl().getDisplay(), new Runnable() { + @Override public void run() { fViewer.setShowColumns(isChecked()); } @@ -57,6 +59,7 @@ public class ToggleShowColumnsAction extends Action implements IUpdate { /* (non-Javadoc) * @see org.eclipse.ui.texteditor.IUpdate#update() */ + @Override public void update() { setEnabled(fViewer.canToggleColumns()); setChecked(fViewer.isShowColumns()); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariableViewToggleAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariableViewToggleAction.java index fee97c166..93ec5fd68 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariableViewToggleAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariableViewToggleAction.java @@ -38,6 +38,7 @@ public abstract class VariableViewToggleAction implements IViewActionDelegate, I /* (non-Javadoc) * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart) */ + @Override public void init(IViewPart view) { fView = view; boolean checked = getPreferenceValue(view); @@ -48,6 +49,7 @@ public abstract class VariableViewToggleAction implements IViewActionDelegate, I /* (non-Javadoc) * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction) */ + @Override public void init(IAction action) { fAction = action; } @@ -55,12 +57,14 @@ public abstract class VariableViewToggleAction implements IViewActionDelegate, I /* (non-Javadoc) * @see org.eclipse.ui.IActionDelegate2#dispose() */ + @Override public void dispose() { } /* (non-Javadoc) * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event) */ + @Override public void runWithEvent(IAction action, Event event) { run(action); } @@ -68,6 +72,7 @@ public abstract class VariableViewToggleAction implements IViewActionDelegate, I /* (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ + @Override public void run(IAction action) { IPreferenceStore store = getPreferenceStore(); String key = getView().getSite().getId() + "." + getPreferenceKey(); //$NON-NLS-1$ @@ -77,6 +82,7 @@ public abstract class VariableViewToggleAction implements IViewActionDelegate, I /* (non-Javadoc) * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) */ + @Override public void selectionChanged(IAction action, ISelection selection) { } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java index a1712a85e..90d76f8ee 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java @@ -25,8 +25,8 @@ import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.HashMap; -import java.util.Iterator; import java.util.Map; +import java.util.Map.Entry; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; @@ -153,6 +153,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis private static class SelectionProviderWrapper implements ISelectionProvider { private final ListenerList fListenerList = new ListenerList(ListenerList.IDENTITY); private final ISelectionChangedListener fListener = new ISelectionChangedListener() { + @Override public void selectionChanged(SelectionChangedEvent event) { fireSelectionChanged(event); } @@ -193,6 +194,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) */ + @Override public void addSelectionChangedListener(ISelectionChangedListener listener) { fListenerList.add(listener); } @@ -200,6 +202,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection() */ + @Override public ISelection getSelection() { if (fActiveProvider != null) { return fActiveProvider.getSelection(); @@ -210,6 +213,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) */ + @Override public void removeSelectionChangedListener(ISelectionChangedListener listener) { fListenerList.remove(listener); } @@ -217,6 +221,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection) */ + @Override public void setSelection(ISelection selection) { if (fActiveProvider != null) { fActiveProvider.setSelection(selection); @@ -292,13 +297,14 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis */ private ViewerInputService fInputService; - private Map fGlobalActionMap = new HashMap(); + private Map<String, IAction> fGlobalActionMap = new HashMap<String, IAction>(); /** * Viewer input requester used to update the viewer once the viewer input has been * resolved. */ private IViewerInputRequestor fRequester = new IViewerInputRequestor() { + @Override public void viewerInputComplete(IViewerInputUpdate update) { if (!update.isCanceled()) { viewerInputUpdateComplete(update); @@ -323,7 +329,6 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /** * Presentation context property. - * TODO: make API * @since 3.3 */ public static final String PRESENTATION_SHOW_LOGICAL_STRUCTURES = "PRESENTATION_SHOW_LOGICAL_STRUCTURES"; //$NON-NLS-1$ @@ -357,6 +362,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.viewers.provisional.IModelDeltaVisitor#visit(org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta, int) */ + @Override public boolean visit(IModelDelta delta, int depth) { if ((delta.getFlags() & IModelDelta.CONTENT) > 0) { fTriggerDetails = true; @@ -384,6 +390,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis */ private Job fTriggerDetailsJob = new UIJob("trigger details") { //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { if (monitor.isCanceled()) { return Status.CANCEL_STATUS; @@ -409,6 +416,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis * * @see IWorkbenchPart#dispose() */ + @Override public void dispose() { DebugUITools.removePartDebugContextListener(getSite(), this); @@ -424,7 +432,9 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis fPresentationContext.dispose(); fPresentationContext = null; } - if (fDetailPane != null) fDetailPane.dispose(); + if (fDetailPane != null) { + fDetailPane.dispose(); + } fInputService.dispose(); fSelectionProvider.dispose(); super.dispose(); @@ -470,6 +480,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /** * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent) */ + @Override public void propertyChange(PropertyChangeEvent event) { String propertyName= event.getProperty(); if (propertyName.equals(IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR) || @@ -482,6 +493,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#createViewer(Composite) */ + @Override public Viewer createViewer(Composite parent) { addResizeListener(parent); fParent = parent; @@ -513,6 +525,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis fDetailPane = new DetailPaneProxy(this); fDetailPane.addProperyListener(new IPropertyListener() { + @Override public void propertyChanged(Object source, int propId) { firePropertyChange(propId); } @@ -546,6 +559,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.ui.IViewPart#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento) */ + @Override public void init(IViewSite site, IMemento memento) throws PartInitException { super.init(site, memento); PREF_STATE_MEMENTO = PREF_STATE_MEMENTO + site.getId(); @@ -601,7 +615,8 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.ui.part.PageBookView#partDeactivated(org.eclipse.ui.IWorkbenchPart) */ - public void partDeactivated(IWorkbenchPart part) { + @Override + public void partDeactivated(IWorkbenchPart part) { String id = part.getSite().getId(); if (id.equals(getSite().getId())) { ByteArrayOutputStream bout = new ByteArrayOutputStream(); @@ -659,12 +674,14 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis final TreeModelViewer variablesViewer = new TreeModelViewer(parent, style, fPresentationContext); variablesViewer.getControl().addFocusListener(new FocusAdapter() { + @Override public void focusGained(FocusEvent e) { fTreeHasFocus = true; fSelectionProvider.setActiveProvider(variablesViewer); setGlobalActions(); } + @Override public void focusLost(FocusEvent e){ // Do not reset the selection provider with the provider proxy. // This should allow toolbar actions to remain active when the view @@ -676,6 +693,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis }); variablesViewer.getPresentationContext().addPropertyChangeListener( new IPropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent event) { if (IPresentationContext.PROPERTY_COLUMNS.equals(event.getProperty())) { IAction action = getAction("ShowTypeNames"); //$NON-NLS-1$ @@ -693,12 +711,11 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis } private void setGlobalActions() { - for (Iterator entryItr = fGlobalActionMap.entrySet().iterator(); entryItr.hasNext();) { - Map.Entry entry = (Map.Entry)entryItr.next(); - String actionID = (String)entry.getKey(); + for (Entry<String, IAction> entry : fGlobalActionMap.entrySet()) { + String actionID = entry.getKey(); IAction action = getOverrideAction(actionID); if (action == null) { - action = (IAction)entry.getValue(); + action = entry.getValue(); } setAction(actionID, action); } @@ -706,9 +723,10 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis } /** - * Save the global actions from action bar so they are not overriden by - * the detail pane. + * Save the global actions from action bar so they are not overridden by the + * detail pane. */ + @Override protected void createContextMenu(Control menuControl) { super.createContextMenu(menuControl); IActionBars actionBars = getViewSite().getActionBars(); @@ -724,8 +742,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis } private void clearGlobalActions() { - for (Iterator keyItr = fGlobalActionMap.keySet().iterator(); keyItr.hasNext();) { - String id = (String)keyItr.next(); + for (String id : fGlobalActionMap.keySet()) { setAction(id, null); } getViewSite().getActionBars().updateActionBars(); @@ -775,14 +792,17 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId() */ + @Override protected String getHelpContextId() { return IDebugHelpContextIds.VARIABLE_VIEW; } private void addResizeListener(Composite parent) { parent.addControlListener(new ControlListener() { + @Override public void controlMoved(ControlEvent e) { } + @Override public void controlResized(ControlEvent e) { if (IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_AUTO.equals(fCurrentDetailPaneOrientation)) { setDetailPaneOrientation(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_AUTO); @@ -799,10 +819,11 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis int computeOrientation() { Point size= fParent.getSize(); if (size.x != 0 && size.y != 0) { - if ((size.x / 3)> size.y) + if ((size.x / 3)> size.y) { return SWT.HORIZONTAL; - else + } else { return SWT.VERTICAL; + } } return SWT.HORIZONTAL; } @@ -941,6 +962,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#createActions() */ + @Override protected void createActions() { IAction action = new ShowTypesAction(this); setAction("ShowTypeNames",action); //$NON-NLS-1$ @@ -978,6 +1000,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis fGlobalActionMap.put(actionID, action); } + @Override public IAction getAction(String actionID) { // Check if model overrides the action. Global action overrides are // checked in setGlobalActions() so skip them here. @@ -1005,6 +1028,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis return null; } + @Override public void updateObjects() { super.updateObjects(); if (fTreeHasFocus) { @@ -1041,6 +1065,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis setAction("ToggleColmns", new ToggleShowColumnsAction(viewer)); //$NON-NLS-1$ layoutSubMenu.addMenuListener(new IMenuListener() { + @Override public void menuAboutToShow(IMenuManager manager) { layoutSubMenu.add(fToggleDetailPaneActions[0]); layoutSubMenu.add(fToggleDetailPaneActions[1]); @@ -1074,6 +1099,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis * * @param tbm The toolbar that will be configured */ + @Override protected void configureToolBar(IToolBarManager tbm) { tbm.add(new Separator(this.getClass().getName())); tbm.add(new Separator(IDebugUIConstants.RENDER_GROUP)); @@ -1088,6 +1114,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis * * @param menu The menu to add the item to. */ + @Override protected void fillContextMenu(IMenuManager menu) { menu.add(new Separator(IDebugUIConstants.EMPTY_VARIABLE_GROUP)); menu.add(new Separator(IDebugUIConstants.VARIABLE_GROUP)); @@ -1119,7 +1146,8 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis protected ISelectionChangedListener getTreeSelectionChangedListener() { if (fTreeSelectionChangedListener == null) { fTreeSelectionChangedListener = new ISelectionChangedListener() { - public void selectionChanged(final SelectionChangedEvent event) { + @Override + public void selectionChanged(final SelectionChangedEvent event) { if (event.getSelectionProvider().equals(getViewer())) { clearStatusLine(); // if the detail pane is not visible, don't waste time retrieving details @@ -1145,6 +1173,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#getCurrentPaneID() */ + @Override public String getCurrentPaneID() { return fDetailPane.getCurrentPaneID(); } @@ -1152,6 +1181,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#getCurrentSelection() */ + @Override public IStructuredSelection getCurrentSelection() { if (getViewer() != null){ return (IStructuredSelection)getViewer().getSelection(); @@ -1162,6 +1192,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#getParentComposite() */ + @Override public Composite getParentComposite() { return fDetailsComposite; } @@ -1169,6 +1200,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#getWorkbenchPartSite() */ + @Override public IWorkbenchPartSite getWorkbenchPartSite() { return getSite(); } @@ -1176,6 +1208,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#refreshDetailPaneContents() */ + @Override public void refreshDetailPaneContents() { if (isDetailPaneVisible()) { String currentPaneID = getCurrentPaneID(); @@ -1201,9 +1234,11 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#paneChanged(java.lang.String) */ + @Override public void paneChanged(String newPaneID) { if (fDetailPaneActivatedListener == null){ fDetailPaneActivatedListener = new Listener() { + @Override public void handleEvent(Event event) { fTreeHasFocus = false; } @@ -1225,13 +1260,16 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.ui.part.WorkbenchPart#getAdapter(Class) */ + @Override public Object getAdapter(Class required) { if (IDebugModelPresentation.class.equals(required)) { return getModelPresentation(); } else if (fDetailPane != null){ Object adapter = fDetailPane.getAdapter(required); - if (adapter != null) return adapter; + if (adapter != null) { + return adapter; + } } return super.getAdapter(required); } @@ -1244,7 +1282,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis protected void updateAction(String actionId) { IAction action= getAction(actionId); if (action == null) { - action = (IAction)fGlobalActionMap.get(actionId); + action = fGlobalActionMap.get(actionId); } if (action instanceof IUpdate) { ((IUpdate) action).update(); @@ -1261,6 +1299,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#getDefaultControl() */ + @Override protected Control getDefaultControl() { return fSashForm; } @@ -1268,6 +1307,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.IDebugExceptionHandler#handleException(org.eclipse.debug.core.DebugException) */ + @Override public void handleException(DebugException e) { showMessage(e.getMessage()); } @@ -1275,6 +1315,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.contexts.provisional.IDebugContextListener#contextEvent(org.eclipse.debug.internal.ui.contexts.provisional.DebugContextEvent) */ + @Override public void debugContextChanged(DebugContextEvent event) { if ((event.getFlags() & DebugContextEvent.ACTIVATED) > 0) { contextActivated(event.getContext()); @@ -1301,6 +1342,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis * * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(DoubleClickEvent) */ + @Override public void doubleClick(DoubleClickEvent event) { IAction action = getAction(DOUBLE_CLICK_ACTION); if (action != null && action.isEnabled()) { @@ -1329,6 +1371,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.ui.IDebugView#getPresentation(String) */ + @Override public IDebugModelPresentation getPresentation(String id) { if (getViewer() instanceof StructuredViewer) { IDebugModelPresentation lp = getModelPresentation(); @@ -1378,6 +1421,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#becomesHidden() */ + @Override protected void becomesHidden() { fInputService.resolveViewerInput(ViewerInputService.NULL_INPUT); super.becomesHidden(); @@ -1386,6 +1430,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.ui.AbstractDebugView#becomesVisible() */ + @Override protected void becomesVisible() { super.becomesVisible(); ISelection selection = getDebugContext(); @@ -1411,11 +1456,13 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor) */ + @Override public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {} /* (non-Javadoc) * @see org.eclipse.ui.IPerspectiveListener#perspectiveChanged(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor, java.lang.String) */ + @Override public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) { if(changeId.equals(IWorkbenchPage.CHANGE_RESET)) { setLastSashWeights(DEFAULT_SASH_WEIGHTS); @@ -1427,6 +1474,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.viewers.provisional.IModelChangedListener#modelChanged(org.eclipse.debug.internal.ui.viewers.provisional.IModelDelta) */ + @Override public void modelChanged(IModelDelta delta, IModelProxy proxy) { fVisitor.reset(); delta.accept(fVisitor); @@ -1438,6 +1486,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.IViewerUpdateListener#updateComplete(org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor) */ + @Override public void updateComplete(IViewerUpdate update) { IStatus status = update.getStatus(); if (!update.isCanceled()) { @@ -1456,12 +1505,14 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.IViewerUpdateListener#updateStarted(org.eclipse.debug.internal.ui.viewers.provisional.IAsynchronousRequestMonitor) */ + @Override public void updateStarted(IViewerUpdate update) { } /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.IViewerUpdateListener#viewerUpdatesBegin() */ + @Override public synchronized void viewerUpdatesBegin() { fTriggerDetailsJob.cancel(); IWorkbenchSiteProgressService progressService = @@ -1474,6 +1525,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.viewers.model.provisional.viewers.IViewerUpdateListener#viewerUpdatesComplete() */ + @Override public synchronized void viewerUpdatesComplete() { if (fVisitor.isTriggerDetails()) { fTriggerDetailsJob.schedule(); @@ -1488,6 +1540,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /** * @see org.eclipse.ui.IWorkbenchPart#setFocus() */ + @Override public void setFocus() { boolean success = false; if (!fTreeHasFocus && fDetailPane != null){ @@ -1501,9 +1554,11 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis protected ToggleDetailPaneAction getToggleDetailPaneAction(String orientation) { - for (int i=0; i<fToggleDetailPaneActions.length; i++) - if (fToggleDetailPaneActions[i].getOrientation().equals(orientation)) + for (int i=0; i<fToggleDetailPaneActions.length; i++) { + if (fToggleDetailPaneActions[i].getOrientation().equals(orientation)) { return fToggleDetailPaneActions[i]; + } + } return null; } @@ -1511,6 +1566,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer2#setSelectionProvider(org.eclipse.jface.viewers.ISelectionProvider) */ + @Override public void setSelectionProvider(ISelectionProvider provider) { // Workaround for legacy detail pane implementations (bug 254442) // set selection provider wrapper again in case it got overridden by detail pane @@ -1522,6 +1578,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor) */ + @Override public void doSave(IProgressMonitor monitor) { fDetailPane.doSave(monitor); } @@ -1529,6 +1586,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.ui.ISaveablePart#doSaveAs() */ + @Override public void doSaveAs() { fDetailPane.doSaveAs(); } @@ -1536,6 +1594,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.ui.ISaveablePart#isDirty() */ + @Override public boolean isDirty() { return fDetailPane.isDirty(); } @@ -1543,6 +1602,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed() */ + @Override public boolean isSaveAsAllowed() { return fDetailPane.isSaveAsAllowed(); } @@ -1550,6 +1610,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis /* (non-Javadoc) * @see org.eclipse.ui.ISaveablePart#isSaveOnCloseNeeded() */ + @Override public boolean isSaveOnCloseNeeded() { return fDetailPane.isSaveOnCloseNeeded(); } @@ -1558,6 +1619,7 @@ public class VariablesView extends AbstractDebugView implements IDebugContextLis * @see org.eclipse.ui.ISaveablePart2#promptToSaveOnClose() * @since 3.7 */ + @Override public int promptToSaveOnClose() { return ISaveablePart2.YES; } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AbstractDetailPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AbstractDetailPane.java index 51394aa3d..2ee374a79 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AbstractDetailPane.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AbstractDetailPane.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2013 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 @@ -13,7 +13,6 @@ package org.eclipse.debug.internal.ui.views.variables.details; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -41,16 +40,17 @@ public abstract class AbstractDetailPane implements IDetailPane { * Map of actions. Keys are strings, values * are <code>IAction</code>. */ - private Map fActionMap = new HashMap(); + private Map<String, IAction> fActionMap = new HashMap<String, IAction>(); /** * Collection to track actions that should be updated when selection occurs. */ - private List fSelectionActions = new ArrayList(); + private List<String> fSelectionActions = new ArrayList<String>(); /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#init(org.eclipse.ui.IWorkbenchPartSite) */ + @Override public void init(IWorkbenchPartSite workbench) { fWorkbenchPartSite = workbench; @@ -59,6 +59,7 @@ public abstract class AbstractDetailPane implements IDetailPane { /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#dispose() */ + @Override public void dispose() { fActionMap.clear(); fSelectionActions.clear(); @@ -98,7 +99,9 @@ public abstract class AbstractDetailPane implements IDetailPane { * @param actionID The ID of the action which should be updated */ protected void setSelectionDependantAction(String actionID){ - if (actionID != null) fSelectionActions.add(actionID); + if (actionID != null) { + fSelectionActions.add(actionID); + } } /** @@ -108,7 +111,7 @@ public abstract class AbstractDetailPane implements IDetailPane { * @return The action associated with the ID or null if none is found. */ protected IAction getAction(String actionID) { - return (IAction) fActionMap.get(actionID); + return fActionMap.get(actionID); } /** @@ -133,9 +136,8 @@ public abstract class AbstractDetailPane implements IDetailPane { * before it can be updated by this method. */ protected void updateSelectionDependentActions() { - Iterator iterator= fSelectionActions.iterator(); - while (iterator.hasNext()) { - updateAction((String)iterator.next()); + for (String string : fSelectionActions) { + updateAction(string); } } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AvailableDetailPanesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AvailableDetailPanesAction.java index eb0700285..ca8e07c50 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AvailableDetailPanesAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/AvailableDetailPanesAction.java @@ -11,7 +11,6 @@ package org.eclipse.debug.internal.ui.views.variables.details; -import java.util.Iterator; import java.util.Set; import org.eclipse.debug.internal.ui.IDebugHelpContextIds; @@ -32,7 +31,7 @@ import org.eclipse.ui.PlatformUI; public class AvailableDetailPanesAction extends Action implements IMenuCreator { private Menu fMenu; - private Set fAvailableIDs; + private Set<String> fAvailableIDs; private IDetailPaneContainer fDetailPaneContainer; /** @@ -46,14 +45,15 @@ public class AvailableDetailPanesAction extends Action implements IMenuCreator { private class SetDetailPaneAction extends Action { private String fPaneID; - private Set fPossiblePaneIDs; + private Set<String> fPossiblePaneIDs; - public SetDetailPaneAction(String name, String paneID, Set possiblePaneIDs){ + public SetDetailPaneAction(String name, String paneID, Set<String> possiblePaneIDs) { super(name,AS_RADIO_BUTTON); fPaneID = paneID; fPossiblePaneIDs = possiblePaneIDs; } + @Override public void run() { // Don't change panes unless the user is selecting a different pane than the one currently displayed if (isChecked() && !fDetailPaneContainer.getCurrentPaneID().equals(fPaneID)){ @@ -77,12 +77,14 @@ public class AvailableDetailPanesAction extends Action implements IMenuCreator { /* (non-Javadoc) * @see org.eclipse.jface.action.IAction#run() */ + @Override public void run() { } /* (non-Javadoc) * @see org.eclipse.jface.action.IMenuCreator#dispose() */ + @Override public void dispose() { if (fMenu != null) { fMenu.dispose(); @@ -93,6 +95,7 @@ public class AvailableDetailPanesAction extends Action implements IMenuCreator { /* (non-Javadoc) * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control) */ + @Override public Menu getMenu(Control parent) { return null; } @@ -105,18 +108,14 @@ public class AvailableDetailPanesAction extends Action implements IMenuCreator { /* (non-Javadoc) * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu) */ + @Override public Menu getMenu(Menu parent) { if (fMenu != null) { fMenu.dispose(); } - fMenu= new Menu(parent); - - Iterator iter = fAvailableIDs.iterator(); int i = 0; - while (iter.hasNext()) { - String currentID = (String) iter.next(); - + for (String currentID : fAvailableIDs) { StringBuffer name = new StringBuffer(); //add the numerical accelerator i++; diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.java index bde6a9a3a..be0aa7634 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPane.java @@ -150,6 +150,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane public int fValue; + @Override public String toString() { return String.valueOf(fValue); } @@ -185,9 +186,10 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor) */ + @Override protected IStatus run(IProgressMonitor monitor) { fMonitor = monitor; - Iterator iterator = fElements.iterator(); + Iterator<?> iterator = fElements.iterator(); String message = null; while (iterator.hasNext()) { if (monitor.isCanceled()) { @@ -256,6 +258,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.core.runtime.jobs.Job#canceling() */ + @Override protected void canceling() { super.canceling(); synchronized (this) { @@ -266,6 +269,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.debug.ui.IValueDetailListener#detailComputed(org.eclipse.debug.core.model.IValue, java.lang.String) */ + @Override public void detailComputed(IValue value, final String result) { synchronized (this) { fComputed = true; @@ -281,6 +285,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane final String detail = (valueString != null) ? valueString : DetailMessages.DefaultDetailPane_3; if (!fMonitor.isCanceled()) { WorkbenchJob append = new WorkbenchJob("append details") { //$NON-NLS-1$ + @Override public IStatus runInUIThread(IProgressMonitor monitor) { if (!fMonitor.isCanceled()) { String insert = detail; @@ -371,6 +376,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#createControl(org.eclipse.swt.widgets.Composite) */ + @Override public Control createControl(Composite parent) { fModelPresentation = new VariablesViewModelPresentation(); @@ -414,7 +420,9 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane // Add a document listener so actions get updated when the document changes getDetailDocument().addDocumentListener(new IDocumentListener() { + @Override public void documentAboutToBeChanged(DocumentEvent event) {} + @Override public void documentChanged(DocumentEvent event) { updateSelectionDependentActions(); } @@ -422,6 +430,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane // Add the selection listener so selection dependent actions get updated. fSourceViewer.getSelectionProvider().addSelectionChangedListener(new ISelectionChangedListener() { + @Override public void selectionChanged(SelectionChangedEvent event) { updateSelectionDependentActions(); } @@ -429,6 +438,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane // Add a focus listener to update actions when details area gains focus fSourceViewer.getControl().addFocusListener(new FocusAdapter() { + @Override public void focusGained(FocusEvent e) { setGlobalAction(IDebugView.SELECT_ALL_ACTION, getAction(DETAIL_SELECT_ALL_ACTION)); setGlobalAction(IDebugView.CUT_ACTION, getAction(DETAIL_CUT_ACTION)); @@ -446,6 +456,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane fHasFocus = true; } + @Override public void focusLost(FocusEvent e) { setGlobalAction(IDebugView.SELECT_ALL_ACTION, null); setGlobalAction(IDebugView.CUT_ACTION, null); @@ -463,6 +474,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane // disposed controls don't get a FocusOut event, make sure all actions // have been deactivated fSourceViewer.getControl().addDisposeListener(new DisposeListener() { + @Override public void widgetDisposed(DisposeEvent e) { if (fHasFocus) { setGlobalAction(IDebugView.SELECT_ALL_ACTION, null); @@ -564,6 +576,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane MenuManager menuMgr= new MenuManager(); menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { + @Override public void menuAboutToShow(IMenuManager mgr) { fillDetailContextMenu(mgr); } @@ -607,6 +620,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#display(org.eclipse.jface.viewers.IStructuredSelection) */ + @Override public void display(IStructuredSelection selection) { if (selection == null){ @@ -650,6 +664,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#setFocus() */ + @Override public boolean setFocus(){ if (fSourceViewer != null){ fSourceViewer.getTextWidget().setFocus(); @@ -661,11 +676,18 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.details.AbstractDetailPane#dispose() */ + @Override public void dispose(){ - if (fDetailJob != null) fDetailJob.cancel(); - if (fModelPresentation != null) fModelPresentation.dispose(); + if (fDetailJob != null) { + fDetailJob.cancel(); + } + if (fModelPresentation != null) { + fModelPresentation.dispose(); + } fDebugModelIdentifier = null; // Setting this to null makes sure the source viewer is reconfigured with the model presentation after disposal - if (fSourceViewer != null && fSourceViewer.getControl() != null) fSourceViewer.getControl().dispose(); + if (fSourceViewer != null && fSourceViewer.getControl() != null) { + fSourceViewer.getControl().dispose(); + } if (isInView()){ IAction action = getAction(DETAIL_ASSIGN_VALUE_ACTION); @@ -693,6 +715,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#getDescription() */ + @Override public String getDescription() { return DESCRIPTION; } @@ -700,6 +723,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#getID() */ + @Override public String getID() { return ID; } @@ -707,6 +731,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#getName() */ + @Override public String getName() { return NAME; } @@ -714,6 +739,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ + @Override public Object getAdapter(Class required) { if (IFindReplaceTarget.class.equals(required)) { return fSourceViewer.getFindReplaceTarget(); @@ -804,12 +830,13 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane int lineOffset= document.getLineOffset(line); int tabWidth= styledText.getTabs(); int column= 0; - for (int i= lineOffset; i < caret; i++) + for (int i= lineOffset; i < caret; i++) { if ('\t' == document.getChar(i)) { column += tabWidth - (tabWidth == 0 ? 0 : column % tabWidth); } else { column++; } + } fLineLabel.fValue= line + 1; fColumnLabel.fValue= column + 1; @@ -831,19 +858,24 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane if (fCursorListener == null) { fCursorListener= new ICursorListener() { + @Override public void keyPressed(KeyEvent e) { fStatusLineItem.setText(getCursorPosition()); } + @Override public void keyReleased(KeyEvent e) { } + @Override public void mouseDoubleClick(MouseEvent e) { } + @Override public void mouseDown(MouseEvent e) { } + @Override public void mouseUp(MouseEvent e) { fStatusLineItem.setText(getCursorPosition()); } @@ -929,14 +961,16 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane */ private IUndoContext getUndoContext() { IUndoManager undoManager= fSourceViewer.getUndoManager(); - if (undoManager instanceof IUndoManagerExtension) + if (undoManager instanceof IUndoManagerExtension) { return ((IUndoManagerExtension)undoManager).getUndoContext(); + } return null; } /* (non-Javadoc) * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) */ + @Override public void propertyChange(PropertyChangeEvent event) { String propertyName= event.getProperty(); if (propertyName.equals(IDebugUIConstants.PREF_DETAIL_PANE_FONT)) { @@ -972,6 +1006,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.jface.text.IFindReplaceTarget#canPerformFind() */ + @Override public boolean canPerformFind() { return fTarget.canPerformFind(); } @@ -979,6 +1014,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.jface.text.IFindReplaceTarget#findAndSelect(int, java.lang.String, boolean, boolean, boolean) */ + @Override public int findAndSelect(int widgetOffset, String findString, boolean searchForward, boolean caseSensitive, boolean wholeWord) { int position = fTarget.findAndSelect(widgetOffset, findString, searchForward, caseSensitive, wholeWord); // Explicitly tell the widget to show the selection because the viewer thinks the text is all on one line, even if wrapping is turned on. @@ -994,6 +1030,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.jface.text.IFindReplaceTarget#getSelection() */ + @Override public Point getSelection() { return fTarget.getSelection(); } @@ -1001,6 +1038,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.jface.text.IFindReplaceTarget#getSelectionText() */ + @Override public String getSelectionText() { return fTarget.getSelectionText(); } @@ -1008,6 +1046,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.jface.text.IFindReplaceTarget#isEditable() */ + @Override public boolean isEditable() { return fTarget.isEditable(); } @@ -1015,6 +1054,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* (non-Javadoc) * @see org.eclipse.jface.text.IFindReplaceTarget#replaceSelection(java.lang.String) */ + @Override public void replaceSelection(String text) { fTarget.replaceSelection(text); } @@ -1023,6 +1063,7 @@ public class DefaultDetailPane extends AbstractDetailPane implements IDetailPane /* * @see org.eclipse.debug.ui.IDetailPane2#getSelectionProvider() */ + @Override public ISelectionProvider getSelectionProvider() { return fSourceViewer.getSelectionProvider(); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPaneFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPaneFactory.java index 00275bb41..cb4ee5c0b 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPaneFactory.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DefaultDetailPaneFactory.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. + * Copyright (c) 2006, 2013 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 @@ -31,6 +31,7 @@ public class DefaultDetailPaneFactory implements IDetailPaneFactory { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.IDetailsFactory#createDetailsArea(java.lang.String) */ + @Override public IDetailPane createDetailPane(String id) { if (MessageDetailPane.ID.equals(id)) { return new MessageDetailPane(); @@ -39,11 +40,15 @@ public class DefaultDetailPaneFactory implements IDetailPaneFactory { } } - /* (non-Javadoc) - * @see org.eclipse.debug.internal.ui.views.variables.IDetailsFactory#getDetailsTypes(org.eclipse.jface.viewers.IStructuredSelection) + /* + * (non-Javadoc) + * @see + * org.eclipse.debug.ui.IDetailPaneFactory#getDetailPaneTypes(org.eclipse + * .jface.viewers.IStructuredSelection) */ - public Set getDetailPaneTypes(IStructuredSelection selection) { - Set possibleIDs = new HashSet(1); + @Override + public Set<String> getDetailPaneTypes(IStructuredSelection selection) { + Set<String> possibleIDs = new HashSet<String>(1); possibleIDs.add(DefaultDetailPane.ID); return possibleIDs; } @@ -51,6 +56,7 @@ public class DefaultDetailPaneFactory implements IDetailPaneFactory { /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPaneFactory#getDefaultDetailPane(java.util.Set, org.eclipse.jface.viewers.IStructuredSelection) */ + @Override public String getDefaultDetailPane(IStructuredSelection selection) { // Return null so that any contributed detail pane can override the default return null; @@ -59,6 +65,7 @@ public class DefaultDetailPaneFactory implements IDetailPaneFactory { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.IDetailsFactory#getName(java.lang.String) */ + @Override public String getDetailPaneName(String id) { if (id.equals(DefaultDetailPane.ID)){ return DefaultDetailPane.NAME; @@ -73,6 +80,7 @@ public class DefaultDetailPaneFactory implements IDetailPaneFactory { /* (non-Javadoc) * @see org.eclipse.debug.internal.ui.views.variables.IDetailsFactory#getDescription(java.lang.String) */ + @Override public String getDetailPaneDescription(String id) { if (id.equals(DefaultDetailPane.ID)){ return DefaultDetailPane.DESCRIPTION; diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneManager.java index 23b1c4002..8089a2e0d 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneManager.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneManager.java @@ -11,9 +11,8 @@ package org.eclipse.debug.internal.ui.views.variables.details; import java.util.ArrayList; -import java.util.Collection; +import java.util.Collections; import java.util.HashMap; -import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; @@ -75,6 +74,7 @@ public class DetailPaneManager { * @param paneID the identifier of the detail pane to create * @return the new detail pane or <code>null</code> if the backing {@link IDetailPaneFactory} is <code>null</code> */ + @Override public IDetailPane createDetailPane(String paneID){ if (getFactory() != null){ return getFactory().createDetailPane(paneID); @@ -88,11 +88,12 @@ public class DetailPaneManager { * @param selection the current view selection * @return the set of detail pane type for the given selection or an empty set, never <code>null</code> */ - public Set getDetailPaneTypes(IStructuredSelection selection){ + @Override + public Set<String> getDetailPaneTypes(IStructuredSelection selection) { if (getFactory() != null){ return getFactory().getDetailPaneTypes(selection); } - return new HashSet(0); + return Collections.EMPTY_SET; } /** @@ -101,6 +102,7 @@ public class DetailPaneManager { * @param selection the current view selection * @return the identifier of the default detail pane or <code>null</code> if the backing {@link IDetailPaneFactory} is <code>null</code> */ + @Override public String getDefaultDetailPane(IStructuredSelection selection) { if (getFactory() != null){ return getFactory().getDefaultDetailPane(selection); @@ -114,6 +116,7 @@ public class DetailPaneManager { * @param paneID the detail pane identifier * @return the name of the detail pane or <code>null</code> if the backing {@link IDetailPaneFactory} is <code>null</code> */ + @Override public String getDetailPaneName(String paneID) { if (getFactory() != null){ return getFactory().getDetailPaneName(paneID); @@ -127,6 +130,7 @@ public class DetailPaneManager { * @param paneID the detail pane identifier * @return the description of the detail pane or <code>null</code> if the backing {@link IDetailPaneFactory} is <code>null</code> */ + @Override public String getDetailPaneDescription(String paneID) { if (getFactory() != null){ return getFactory().getDetailPaneDescription(paneID); @@ -139,7 +143,9 @@ public class DetailPaneManager { * @return the singleton {@link IDetailPaneFactory} */ private IDetailPaneFactory getFactory(){ - if (fFactory != null) return fFactory; + if (fFactory != null) { + return fFactory; + } try{ Object obj = fConfigElement.createExecutableExtension(IConfigurationElementConstants.CLASS); if(obj instanceof IDetailPaneFactory) { @@ -168,7 +174,7 @@ public class DetailPaneManager { } Expression expression = getEnablementExpression(); if (expression != null) { - List list = selection.toList(); + List<?> list = selection.toList(); IEvaluationContext context = DebugUIPlugin.createEvaluationContext(list); context.addVariable("selection", list); //$NON-NLS-1$ enabled = evalEnablementExpression(context, expression); @@ -237,17 +243,17 @@ public class DetailPaneManager { * Maps the IDs of types of detail panes to the factory that can create them. * There can currently only be one factory for a given type of details pane. */ - private Map fFactoriesByPaneID; + private Map<String, IDetailPaneFactory> fFactoriesByPaneID; /** * Maps a Set of detail pane id's to the one detail pane id that is preferred. */ - private Map fPreferredDetailPanes; + private Map<Set<String>, String> fPreferredDetailPanes; /** * The set of all factories that have been loaded from the extension point. */ - private Collection fKnownFactories; + private List<DetailPaneFactoryExtension> fKnownFactories; /** * Preference key for storing the preferred detail panes map. @@ -257,12 +263,14 @@ public class DetailPaneManager { public static final String PREF_DETAIL_AREAS = "preferredDetailPanes"; //$NON-NLS-1$ private DetailPaneManager(){ - fFactoriesByPaneID = new HashMap(); + fFactoriesByPaneID = new HashMap<String, IDetailPaneFactory>(); fFactoriesByPaneID.put(MessageDetailPane.ID, new DefaultDetailPaneFactory()); } public static DetailPaneManager getDefault(){ - if (fgSingleton == null) fgSingleton = new DetailPaneManager(); + if (fgSingleton == null) { + fgSingleton = new DetailPaneManager(); + } return fgSingleton; } @@ -273,8 +281,8 @@ public class DetailPaneManager { * @return The ID of the preferred detail pane or null */ public String getPreferredPaneFromSelection(IStructuredSelection selection){ - Collection possibleFactories = getEnabledFactories(selection); - Set possiblePaneIDs = getPossiblePaneIDs(possibleFactories, selection); + List<IDetailPaneFactory> possibleFactories = getEnabledFactories(selection); + Set<String> possiblePaneIDs = getPossiblePaneIDs(possibleFactories, selection); return chooseDetailsAreaIDInSet(possiblePaneIDs, possibleFactories, selection); } @@ -285,8 +293,8 @@ public class DetailPaneManager { * @param selection The selection to display in the detail pane * @return The set of IDs of all possible detail panes for the given selection */ - public Set getAvailablePaneIDs(IStructuredSelection selection){ - Collection possibleFactories = getEnabledFactories(selection); + public Set<String> getAvailablePaneIDs(IStructuredSelection selection) { + List<IDetailPaneFactory> possibleFactories = getEnabledFactories(selection); return getPossiblePaneIDs(possibleFactories, selection); } @@ -301,7 +309,7 @@ public class DetailPaneManager { * @return The instantiated pane or null */ public IDetailPane getDetailPaneFromID(String ID){ - IDetailPaneFactory factory = (IDetailPaneFactory)fFactoriesByPaneID.get(ID); + IDetailPaneFactory factory = fFactoriesByPaneID.get(ID); if (factory != null){ return factory.createDetailPane(ID); } @@ -316,7 +324,7 @@ public class DetailPaneManager { * @return The name of the details pane or null */ public String getNameFromID(String ID){ - IDetailPaneFactory factory = (IDetailPaneFactory)fFactoriesByPaneID.get(ID); + IDetailPaneFactory factory = fFactoriesByPaneID.get(ID); if (factory != null){ return factory.getDetailPaneName(ID); } @@ -331,7 +339,7 @@ public class DetailPaneManager { * @return The description of the details pane or null */ public String getDescriptionFromID(String ID){ - IDetailPaneFactory factory = (IDetailPaneFactory)fFactoriesByPaneID.get(ID); + IDetailPaneFactory factory = fFactoriesByPaneID.get(ID); if (factory != null){ return factory.getDetailPaneDescription(ID); } @@ -348,12 +356,12 @@ public class DetailPaneManager { * * @return The factories enabled for the selection or an empty collection. */ - private Collection getEnabledFactories(IStructuredSelection selection){ - Collection factoriesForSelection = new ArrayList(); - if (fKnownFactories == null) initializeDetailFactories(); - Iterator iter = fKnownFactories.iterator(); - while (iter.hasNext()) { - IDetailPaneFactory currentFactory = (IDetailPaneFactory) iter.next(); + private List<IDetailPaneFactory> getEnabledFactories(IStructuredSelection selection) { + List<IDetailPaneFactory> factoriesForSelection = new ArrayList<IDetailPaneFactory>(); + if (fKnownFactories == null) { + initializeDetailFactories(); + } + for (IDetailPaneFactory currentFactory : fKnownFactories) { if (currentFactory instanceof DetailPaneFactoryExtension){ if (((DetailPaneFactoryExtension)currentFactory).isEnabled(selection)){ factoriesForSelection.add(currentFactory); @@ -371,14 +379,10 @@ public class DetailPaneManager { * @param selection The selection to be displayed * @return Set of pane IDs or an empty set */ - private Set getPossiblePaneIDs(Collection factoriesToQuery, IStructuredSelection selection){ - Set idsForSelection = new LinkedHashSet(); - Iterator factoryIter = factoriesToQuery.iterator(); - while (factoryIter.hasNext()) { - IDetailPaneFactory currentFactory = (IDetailPaneFactory) factoryIter.next(); - Iterator detailAreaTypes = currentFactory.getDetailPaneTypes(selection).iterator(); - while (detailAreaTypes.hasNext()) { - String currentAreaTypeID = (String) detailAreaTypes.next(); + private Set<String> getPossiblePaneIDs(List<IDetailPaneFactory> factoriesToQuery, IStructuredSelection selection) { + Set<String> idsForSelection = new LinkedHashSet<String>(); + for (IDetailPaneFactory currentFactory : factoriesToQuery) { + for (String currentAreaTypeID : currentFactory.getDetailPaneTypes(selection)) { fFactoriesByPaneID.put(currentAreaTypeID, currentFactory); idsForSelection.add(currentAreaTypeID); } @@ -396,7 +400,7 @@ public class DetailPaneManager { * @param selection the current selection from the variables view * @return The preferred detail pane ID or null */ - private String chooseDetailsAreaIDInSet(Set possiblePaneIDs, Collection enabledFactories, IStructuredSelection selection){ + private String chooseDetailsAreaIDInSet(Set<String> possiblePaneIDs, List<IDetailPaneFactory> enabledFactories, IStructuredSelection selection) { if (possiblePaneIDs == null || possiblePaneIDs.isEmpty()){ return null; } @@ -405,18 +409,19 @@ public class DetailPaneManager { if (preferredID == null){ // If there is no preferred pane already set, check the factories to see there is a default pane - Iterator factoryIterator = enabledFactories.iterator(); - while (preferredID == null && factoryIterator.hasNext()) { - IDetailPaneFactory currentFactory = (IDetailPaneFactory) factoryIterator.next(); + for (IDetailPaneFactory currentFactory : enabledFactories) { preferredID = currentFactory.getDefaultDetailPane(selection); + if (preferredID != null) { + break; + } } // If the factories don't have a default, try to choose the DefaultDetailPane if (preferredID == null){ - Iterator paneIterator = possiblePaneIDs.iterator(); + Iterator<String> paneIterator = possiblePaneIDs.iterator(); // If the DefaultDetailPane is not in the set, just use the first in the set - preferredID = (String)paneIterator.next(); + preferredID = paneIterator.next(); while (paneIterator.hasNext() && preferredID != DefaultDetailPaneFactory.DEFAULT_DETAIL_PANE_ID) { - String currentID = (String) paneIterator.next(); + String currentID = paneIterator.next(); if (currentID.equals(DefaultDetailPaneFactory.DEFAULT_DETAIL_PANE_ID)){ preferredID = currentID; } @@ -433,7 +438,7 @@ public class DetailPaneManager { */ private synchronized void initializeDetailFactories(){ if (fKnownFactories == null){ - fKnownFactories = new ArrayList(); + fKnownFactories = new ArrayList<DetailPaneFactoryExtension>(); IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_DETAIL_FACTORIES); IConfigurationElement[] infos = extensionPoint.getConfigurationElements(); DetailPaneFactoryExtension delegate = null; @@ -450,11 +455,11 @@ public class DetailPaneManager { * @param possibleDetailsAreaIDs Set of possible pane IDs * @return The preferred ID or null */ - public String getUserPreferredDetailPane(Set possibleDetailsAreaIDs){ + public String getUserPreferredDetailPane(Set<String> possibleDetailsAreaIDs) { if (fPreferredDetailPanes == null){ loadPreferredDetailsAreas(); } - return (String)fPreferredDetailPanes.get(possibleDetailsAreaIDs); + return fPreferredDetailPanes.get(possibleDetailsAreaIDs); } @@ -465,12 +470,14 @@ public class DetailPaneManager { * @param possibleDetailsAreaIDs The set of possible IDs * @param preferredDetailsAreaID The preferred ID in the set. */ - public void setPreferredDetailPane(Set possibleDetailsAreaIDs, String preferredDetailsAreaID){ - if (possibleDetailsAreaIDs == null) return; + public void setPreferredDetailPane(Set<String> possibleDetailsAreaIDs, String preferredDetailsAreaID) { + if (possibleDetailsAreaIDs == null) { + return; + } if (fPreferredDetailPanes == null){ loadPreferredDetailsAreas(); } - String currentKey = (String)fPreferredDetailPanes.get(possibleDetailsAreaIDs); + String currentKey = fPreferredDetailPanes.get(possibleDetailsAreaIDs); if (currentKey == null || !currentKey.equals(preferredDetailsAreaID)){ fPreferredDetailPanes.put(possibleDetailsAreaIDs, preferredDetailsAreaID); storePreferredDetailsAreas(); @@ -488,12 +495,8 @@ public class DetailPaneManager { */ private void storePreferredDetailsAreas() { StringBuffer buffer= new StringBuffer(); - Iterator iter = fPreferredDetailPanes.entrySet().iterator(); - while (iter.hasNext()) { - Entry entry = (Entry) iter.next(); - Iterator setIter = ((Set)entry.getKey()).iterator(); - while (setIter.hasNext()) { - String currentID = (String) setIter.next(); + for (Entry<Set<String>, String> entry : fPreferredDetailPanes.entrySet()) { + for (String currentID : entry.getKey()) { buffer.append(currentID); buffer.append(','); } @@ -519,7 +522,7 @@ public class DetailPaneManager { * @see #storePreferredDetailsAreas() */ private void loadPreferredDetailsAreas() { - fPreferredDetailPanes = new HashMap(); + fPreferredDetailPanes = new HashMap<Set<String>, String>(); String preferenceValue = Platform.getPreferencesService().getString(DebugUIPlugin.getUniqueIdentifier(), PREF_DETAIL_AREAS, "", //$NON-NLS-1$ @@ -529,7 +532,7 @@ public class DetailPaneManager { String token = entryTokenizer.nextToken(); int valueStart = token.indexOf(':'); StringTokenizer keyTokenizer = new StringTokenizer(token.substring(0,valueStart),","); //$NON-NLS-1$ - Set keys = new LinkedHashSet(); + Set<String> keys = new LinkedHashSet<String>(); while (keyTokenizer.hasMoreTokens()){ keys.add(keyTokenizer.nextToken()); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.java index abd568775..da231f3c8 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2011 IBM Corporation and others. + * Copyright (c) 2006, 2013 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 @@ -173,7 +173,7 @@ public class DetailPaneProxy implements ISaveablePart { * @param required the class to get the adapter for * @return the {@link IAdaptable} for the given class or <code>null</code> */ - public Object getAdapter(Class required){ + public Object getAdapter(Class<?> required) { if (fCurrentPane != null && fCurrentPane instanceof IAdaptable){ return ((IAdaptable)fCurrentPane).getAdapter(required); } @@ -203,8 +203,12 @@ public class DetailPaneProxy implements ISaveablePart { private void setupPane(String paneID, IStructuredSelection selection) { try { fParentContainer.getParentComposite().setRedraw(false); - if (fCurrentPane != null) fCurrentPane.dispose(); - if (fCurrentControl != null && !fCurrentControl.isDisposed()) fCurrentControl.dispose(); + if (fCurrentPane != null) { + fCurrentPane.dispose(); + } + if (fCurrentControl != null && !fCurrentControl.isDisposed()) { + fCurrentControl.dispose(); + } fCurrentPane = null; fCurrentPane = DetailPaneManager.getDefault().getDetailPaneFromID(paneID); if (fCurrentPane != null){ @@ -223,9 +227,11 @@ public class DetailPaneProxy implements ISaveablePart { fCurrentPane.display(selection); if (fParentContainer instanceof IDetailPaneContainer2) { fCurrentControl.addFocusListener(new FocusAdapter() { + @Override public void focusGained(FocusEvent e) { updateSelectionProvider(true); } + @Override public void focusLost(FocusEvent e) { updateSelectionProvider(false); } @@ -233,11 +239,11 @@ public class DetailPaneProxy implements ISaveablePart { } } else{ createErrorLabel(DetailMessages.DetailPaneProxy_0); - DebugUIPlugin.log(new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), MessageFormat.format(DetailMessages.DetailPaneProxy_2, new String[]{fCurrentPane.getID()})))); + DebugUIPlugin.log(new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), MessageFormat.format(DetailMessages.DetailPaneProxy_2, new Object[] { fCurrentPane.getID() })))); } } else { createErrorLabel(DetailMessages.DetailPaneProxy_0); - DebugUIPlugin.log(new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), MessageFormat.format(DetailMessages.DetailPaneProxy_3, new String[]{paneID})))); + DebugUIPlugin.log(new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), MessageFormat.format(DetailMessages.DetailPaneProxy_3, new Object[] { paneID })))); } } finally { fParentContainer.getParentComposite().setRedraw(true); @@ -272,8 +278,12 @@ public class DetailPaneProxy implements ISaveablePart { * @param message The message to display */ private void createErrorLabel(String message){ - if (fCurrentPane != null) fCurrentPane.dispose(); - if (fCurrentControl != null && !fCurrentControl.isDisposed()) fCurrentControl.dispose(); + if (fCurrentPane != null) { + fCurrentPane.dispose(); + } + if (fCurrentControl != null && !fCurrentControl.isDisposed()) { + fCurrentControl.dispose(); + } fCurrentControl = SWTFactory.createComposite(fParentContainer.getParentComposite(), 1, 1, GridData.FILL_HORIZONTAL); SWTFactory.createLabel((Composite) fCurrentControl, message, 1); fParentContainer.getParentComposite().layout(); @@ -282,6 +292,7 @@ public class DetailPaneProxy implements ISaveablePart { /* (non-Javadoc) * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor) */ + @Override public void doSave(IProgressMonitor monitor) { ISaveablePart saveable = getSaveable(); if (saveable != null) { @@ -292,6 +303,7 @@ public class DetailPaneProxy implements ISaveablePart { /* (non-Javadoc) * @see org.eclipse.ui.ISaveablePart#doSaveAs() */ + @Override public void doSaveAs() { ISaveablePart saveable = getSaveable(); if (saveable != null) { @@ -302,6 +314,7 @@ public class DetailPaneProxy implements ISaveablePart { /* (non-Javadoc) * @see org.eclipse.ui.ISaveablePart#isDirty() */ + @Override public boolean isDirty() { ISaveablePart saveable = getSaveable(); if (saveable != null) { @@ -313,6 +326,7 @@ public class DetailPaneProxy implements ISaveablePart { /* (non-Javadoc) * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed() */ + @Override public boolean isSaveAsAllowed() { ISaveablePart saveable = getSaveable(); if (saveable != null) { @@ -324,6 +338,7 @@ public class DetailPaneProxy implements ISaveablePart { /* (non-Javadoc) * @see org.eclipse.ui.ISaveablePart#isSaveOnCloseNeeded() */ + @Override public boolean isSaveOnCloseNeeded() { ISaveablePart saveable = getSaveable(); if (saveable != null) { diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/MessageDetailPane.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/MessageDetailPane.java index 69fa18c3b..609ec9afb 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/MessageDetailPane.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/MessageDetailPane.java @@ -46,12 +46,14 @@ public class MessageDetailPane implements IDetailPane { /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#init(org.eclipse.ui.IWorkbenchPartSite) */ + @Override public void init(IWorkbenchPartSite partSite) { } /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#dispose() */ + @Override public void dispose() { fControlParent.dispose(); } @@ -59,6 +61,7 @@ public class MessageDetailPane implements IDetailPane { /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#createControl(org.eclipse.swt.widgets.Composite) */ + @Override public Control createControl(Composite parent) { fControlParent = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH); fControlParent.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); @@ -69,6 +72,7 @@ public class MessageDetailPane implements IDetailPane { /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#setFocus() */ + @Override public boolean setFocus() { return false; } @@ -76,6 +80,7 @@ public class MessageDetailPane implements IDetailPane { /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#display(org.eclipse.jface.viewers.IStructuredSelection) */ + @Override public void display(IStructuredSelection selection) { // re-create controls if the layout has changed if (selection != null && selection.size() == 1) { @@ -95,6 +100,7 @@ public class MessageDetailPane implements IDetailPane { /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#getID() */ + @Override public String getID() { return ID; } @@ -102,6 +108,7 @@ public class MessageDetailPane implements IDetailPane { /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#getName() */ + @Override public String getName() { return NAME; } @@ -109,6 +116,7 @@ public class MessageDetailPane implements IDetailPane { /* (non-Javadoc) * @see org.eclipse.debug.ui.IDetailPane#getDescription() */ + @Override public String getDescription() { return DESCRIPTION; } |