mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
Generics.
This commit is contained in:
parent
f76e087cfa
commit
3f93fe42c4
3 changed files with 71 additions and 89 deletions
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue