1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-08 02:06:01 +02:00

Generics.

This commit is contained in:
Sergey Prigogin 2010-12-04 22:10:25 +00:00
parent f76e087cfa
commit 3f93fe42c4
3 changed files with 71 additions and 89 deletions

View file

@ -19,43 +19,37 @@ import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Display;
/** /**
*
* Color manager for C/C++ Debug UI. * Color manager for C/C++ Debug UI.
* *
* @since Jul 23, 2002 * @since Jul 23, 2002
*/ */
public class ColorManager { public class ColorManager {
private static ColorManager gfColorManager; private static ColorManager gfColorManager;
private ColorManager() { private ColorManager() {
} }
public static ColorManager getDefault() { public static ColorManager getDefault() {
if ( gfColorManager == null ) { if (gfColorManager == null) {
gfColorManager = new ColorManager(); gfColorManager = new ColorManager();
} }
return gfColorManager; return gfColorManager;
} }
protected Map fColorTable = new HashMap( 10 ); protected Map<RGB, Color> fColorTable = new HashMap<RGB, Color>(10);
public Color getColor( RGB rgb ) { public Color getColor(RGB rgb) {
Color color = (Color)getColorTable().get(rgb); Color color = fColorTable.get(rgb);
if ( color == null ) { if (color == null) {
color = new Color( Display.getCurrent(), rgb ); color = new Color(Display.getCurrent(), rgb);
getColorTable().put( rgb, color ); fColorTable.put(rgb, color);
} }
return color; return color;
} }
public void dispose() { public void dispose() {
Iterator e = getColorTable().values().iterator(); Iterator<Color> e = fColorTable.values().iterator();
while( e.hasNext() ) while (e.hasNext())
((Color)e.next()).dispose(); e.next().dispose();
}
private Map getColorTable() {
return this.fColorTable;
} }
} }

View file

@ -37,163 +37,159 @@ import org.eclipse.ui.PlatformUI;
* visible in editors only if there is a running debug session. * visible in editors only if there is a running debug session.
*/ */
public class EvaluationContextManager implements IWindowListener, IPageListener, ISelectionListener, IPartListener2 { public class EvaluationContextManager implements IWindowListener, IPageListener, ISelectionListener, IPartListener2 {
private final static String DEBUGGER_ACTIVE = CDebugUIPlugin.getUniqueIdentifier() + ".debuggerActive"; //$NON-NLS-1$ private final static String DEBUGGER_ACTIVE = CDebugUIPlugin.getUniqueIdentifier() + ".debuggerActive"; //$NON-NLS-1$
protected static EvaluationContextManager fgManager; protected static EvaluationContextManager fgManager;
private Map<IWorkbenchPage, ICDebugTarget> fContextsByPage = null;
private Map fContextsByPage = null;
protected EvaluationContextManager() { protected EvaluationContextManager() {
} }
public static void startup() { public static void startup() {
Runnable r = new Runnable() { Runnable r = new Runnable() {
public void run() { public void run() {
if ( fgManager == null ) { if (fgManager == null) {
fgManager = new EvaluationContextManager(); fgManager = new EvaluationContextManager();
IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbench workbench = PlatformUI.getWorkbench();
IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
for( int i = 0; i < windows.length; i++ ) { for (int i = 0; i < windows.length; i++) {
fgManager.windowOpened( windows[i] ); fgManager.windowOpened(windows[i]);
} }
workbench.addWindowListener( fgManager ); workbench.addWindowListener(fgManager);
} }
} }
}; };
CDebugUIPlugin.getStandardDisplay().asyncExec( r ); CDebugUIPlugin.getStandardDisplay().asyncExec(r);
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IWindowListener#windowActivated(org.eclipse.ui.IWorkbenchWindow) * @see org.eclipse.ui.IWindowListener#windowActivated(org.eclipse.ui.IWorkbenchWindow)
*/ */
public void windowActivated( IWorkbenchWindow window ) { public void windowActivated(IWorkbenchWindow window) {
windowOpened( window ); windowOpened(window);
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IWindowListener#windowDeactivated(org.eclipse.ui.IWorkbenchWindow) * @see org.eclipse.ui.IWindowListener#windowDeactivated(org.eclipse.ui.IWorkbenchWindow)
*/ */
public void windowDeactivated( IWorkbenchWindow window ) { public void windowDeactivated(IWorkbenchWindow window) {
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IWindowListener#windowClosed(org.eclipse.ui.IWorkbenchWindow) * @see org.eclipse.ui.IWindowListener#windowClosed(org.eclipse.ui.IWorkbenchWindow)
*/ */
public void windowClosed( IWorkbenchWindow window ) { public void windowClosed(IWorkbenchWindow window) {
window.removePageListener( this ); window.removePageListener(this);
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IWindowListener#windowOpened(org.eclipse.ui.IWorkbenchWindow) * @see org.eclipse.ui.IWindowListener#windowOpened(org.eclipse.ui.IWorkbenchWindow)
*/ */
public void windowOpened( IWorkbenchWindow window ) { public void windowOpened(IWorkbenchWindow window) {
IWorkbenchPage[] pages = window.getPages(); IWorkbenchPage[] pages = window.getPages();
for( int i = 0; i < pages.length; i++ ) { for(int i = 0; i < pages.length; i++) {
window.addPageListener( this ); window.addPageListener(this);
pageOpened( pages[i] ); pageOpened(pages[i]);
} }
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IPageListener#pageActivated(org.eclipse.ui.IWorkbenchPage) * @see org.eclipse.ui.IPageListener#pageActivated(org.eclipse.ui.IWorkbenchPage)
*/ */
public void pageActivated( IWorkbenchPage page ) { public void pageActivated(IWorkbenchPage page) {
pageOpened( page ); pageOpened(page);
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IPageListener#pageClosed(org.eclipse.ui.IWorkbenchPage) * @see org.eclipse.ui.IPageListener#pageClosed(org.eclipse.ui.IWorkbenchPage)
*/ */
public void pageClosed( IWorkbenchPage page ) { public void pageClosed(IWorkbenchPage page) {
page.removeSelectionListener( IDebugUIConstants.ID_DEBUG_VIEW, this ); page.removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
page.removePartListener( this ); page.removePartListener(this);
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IPageListener#pageOpened(org.eclipse.ui.IWorkbenchPage) * @see org.eclipse.ui.IPageListener#pageOpened(org.eclipse.ui.IWorkbenchPage)
*/ */
public void pageOpened( IWorkbenchPage page ) { public void pageOpened(IWorkbenchPage page) {
page.addSelectionListener( IDebugUIConstants.ID_DEBUG_VIEW, this ); page.addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
page.addPartListener( this ); page.addPartListener(this);
IWorkbenchPartReference ref = page.getActivePartReference(); IWorkbenchPartReference ref = page.getActivePartReference();
if ( ref != null ) { if (ref != null) {
partActivated( ref ); partActivated(ref);
} }
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection) * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
*/ */
public void selectionChanged( IWorkbenchPart part, ISelection selection ) { public void selectionChanged(IWorkbenchPart part, ISelection selection) {
IWorkbenchPage page = part.getSite().getPage(); IWorkbenchPage page = part.getSite().getPage();
if ( selection instanceof IStructuredSelection ) { if (selection instanceof IStructuredSelection) {
IStructuredSelection ss = (IStructuredSelection)selection; IStructuredSelection ss = (IStructuredSelection)selection;
if ( ss.size() == 1 ) { if (ss.size() == 1) {
Object element = ss.getFirstElement(); Object element = ss.getFirstElement();
if ( element instanceof IAdaptable ) { if (element instanceof IAdaptable) {
ICDebugTarget target = (ICDebugTarget)((IAdaptable)element).getAdapter( ICDebugTarget.class ); ICDebugTarget target = (ICDebugTarget)((IAdaptable)element).getAdapter(ICDebugTarget.class);
if ( target != null ) { if (target != null) {
setContext( page, target ); setContext(page, target);
return; return;
} }
} }
} }
} }
// no context in the given view // no context in the given view
removeContext( page ); removeContext(page);
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference) * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference)
*/ */
public void partActivated( IWorkbenchPartReference partRef ) { public void partActivated(IWorkbenchPartReference partRef) {
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference) * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference)
*/ */
public void partBroughtToTop( IWorkbenchPartReference partRef ) { public void partBroughtToTop(IWorkbenchPartReference partRef) {
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference) * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference)
*/ */
public void partClosed( IWorkbenchPartReference partRef ) { public void partClosed(IWorkbenchPartReference partRef) {
if ( IDebugUIConstants.ID_DEBUG_VIEW.equals( partRef.getId() ) ) { if (IDebugUIConstants.ID_DEBUG_VIEW.equals(partRef.getId())) {
removeContext( partRef.getPage() ); removeContext(partRef.getPage());
} }
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference) * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference)
*/ */
public void partDeactivated( IWorkbenchPartReference partRef ) { public void partDeactivated(IWorkbenchPartReference partRef) {
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference) * @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference)
*/ */
public void partOpened( IWorkbenchPartReference partRef ) { public void partOpened(IWorkbenchPartReference partRef) {
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference) * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference)
*/ */
public void partHidden( IWorkbenchPartReference partRef ) { public void partHidden(IWorkbenchPartReference partRef) {
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference) * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference)
*/ */
public void partVisible( IWorkbenchPartReference partRef ) { public void partVisible(IWorkbenchPartReference partRef) {
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference) * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference)
*/ */
public void partInputChanged( IWorkbenchPartReference partRef ) { public void partInputChanged(IWorkbenchPartReference partRef) {
} }
/** /**
@ -203,12 +199,12 @@ public class EvaluationContextManager implements IWindowListener, IPageListener,
* @param page * @param page
* @param frame * @param frame
*/ */
private void setContext( IWorkbenchPage page, ICDebugTarget target ) { private void setContext(IWorkbenchPage page, ICDebugTarget target) {
if ( fContextsByPage == null ) { if (fContextsByPage == null) {
fContextsByPage = new HashMap(); fContextsByPage = new HashMap<IWorkbenchPage, ICDebugTarget>();
} }
fContextsByPage.put( page, target ); fContextsByPage.put(page, target);
System.setProperty( DEBUGGER_ACTIVE, Boolean.TRUE.toString() ); System.setProperty(DEBUGGER_ACTIVE, Boolean.TRUE.toString());
} }
/** /**
@ -217,11 +213,11 @@ public class EvaluationContextManager implements IWindowListener, IPageListener,
* *
* @param page * @param page
*/ */
private void removeContext( IWorkbenchPage page ) { private void removeContext(IWorkbenchPage page) {
if ( fContextsByPage != null ) { if (fContextsByPage != null) {
fContextsByPage.remove( page ); fContextsByPage.remove(page);
if ( fContextsByPage.isEmpty() ) { if (fContextsByPage.isEmpty()) {
System.setProperty( DEBUGGER_ACTIVE, Boolean.FALSE.toString() ); System.setProperty(DEBUGGER_ACTIVE, Boolean.FALSE.toString());
} }
} }
} }

View file

@ -8,11 +8,9 @@
* Contributors: * Contributors:
* QNX Software Systems - Initial API and implementation * QNX Software Systems - Initial API and implementation
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.debug.internal.ui; package org.eclipse.cdt.debug.internal.ui;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map; import java.util.Map;
import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Image;
@ -23,8 +21,7 @@ import org.eclipse.swt.graphics.Image;
* @since May 30, 2003 * @since May 30, 2003
*/ */
public class OverlayImageCache { public class OverlayImageCache {
private Map<OverlayImageDescriptor, Image> fCache = new HashMap<OverlayImageDescriptor, Image>();
private Map fCache = new HashMap();
/** /**
* Returns and caches an image corresponding to the specified image * Returns and caches an image corresponding to the specified image
@ -34,11 +31,11 @@ public class OverlayImageCache {
* the image descriptor * the image descriptor
* @return the image * @return the image
*/ */
public Image getImageFor( OverlayImageDescriptor imageDescriptor ) { public Image getImageFor(OverlayImageDescriptor imageDescriptor) {
Image image = (Image)getCache().get( imageDescriptor ); Image image = fCache.get(imageDescriptor);
if ( image == null ) { if (image == null) {
image = imageDescriptor.createImage(); image = imageDescriptor.createImage();
getCache().put( imageDescriptor, image ); fCache.put(imageDescriptor, image);
} }
return image; return image;
} }
@ -47,14 +44,9 @@ public class OverlayImageCache {
* Disposes of all images in the cache. * Disposes of all images in the cache.
*/ */
public void disposeAll() { public void disposeAll() {
for ( Iterator it = getCache().values().iterator(); it.hasNext(); ) { for (Image image : fCache.values()) {
Image image = (Image)it.next();
image.dispose(); image.dispose();
} }
getCache().clear(); fCache.clear();
}
private Map getCache() {
return this.fCache;
} }
} }