1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +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;
/**
*
* Color manager for C/C++ Debug UI.
*
* @since Jul 23, 2002
*/
public class ColorManager {
private static ColorManager gfColorManager;
private ColorManager() {
}
public static ColorManager getDefault() {
if ( gfColorManager == null ) {
if (gfColorManager == null) {
gfColorManager = new ColorManager();
}
return gfColorManager;
}
protected Map fColorTable = new HashMap( 10 );
protected Map<RGB, Color> fColorTable = new HashMap<RGB, Color>(10);
public Color getColor( RGB rgb ) {
Color color = (Color)getColorTable().get(rgb);
if ( color == null ) {
color = new Color( Display.getCurrent(), rgb );
getColorTable().put( rgb, color );
public Color getColor(RGB rgb) {
Color color = fColorTable.get(rgb);
if (color == null) {
color = new Color(Display.getCurrent(), rgb);
fColorTable.put(rgb, color);
}
return color;
}
public void dispose() {
Iterator e = getColorTable().values().iterator();
while( e.hasNext() )
((Color)e.next()).dispose();
}
private Map getColorTable() {
return this.fColorTable;
Iterator<Color> e = fColorTable.values().iterator();
while (e.hasNext())
e.next().dispose();
}
}

View file

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

View file

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