mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-08 02:06:01 +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;
|
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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue