[Jsce-develop] SF.net SVN: jsce:[375] trunk/jsc.debug.ui
Status: Alpha
Brought to you by:
dkleinrath
From: <dkl...@us...> - 2012-11-26 15:40:16
|
Revision: 375 http://jsce.svn.sourceforge.net/jsce/?rev=375&view=rev Author: dkleinrath Date: 2012-11-26 15:40:06 +0000 (Mon, 26 Nov 2012) Log Message: ----------- - Updated JSC for the latest version of the LPG runtime - Removed all references from org.eclipse.imp. IMP will no longer be needed for JSC. - Added the latest lpg.runtime jar file to jsc.core. Modified Paths: -------------- trunk/jsc.debug.ui/META-INF/MANIFEST.MF trunk/jsc.debug.ui/src/jsc/internal/debug/ui/JSCDebugUIPlugin.java Added Paths: ----------- trunk/jsc.debug.ui/src/jsc/internal/debug/ui/ImageDescriptorRegistry.java Modified: trunk/jsc.debug.ui/META-INF/MANIFEST.MF =================================================================== --- trunk/jsc.debug.ui/META-INF/MANIFEST.MF 2012-11-26 15:38:00 UTC (rev 374) +++ trunk/jsc.debug.ui/META-INF/MANIFEST.MF 2012-11-26 15:40:06 UTC (rev 375) @@ -6,18 +6,17 @@ Bundle-Activator: jsc.internal.debug.ui.JSCDebugUIPlugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - jsc.util;bundle-version="1.0.0", org.eclipse.core.resources;bundle-version="3.5.0", - jsc.launching;bundle-version="1.0.0", - jsc.core;bundle-version="0.1.2", com.ibm.icu;bundle-version="4.0.1", - org.eclipse.imp.runtime;bundle-version="0.1.99", org.eclipse.ui.forms;bundle-version="3.4.0", - jsc.ui;bundle-version="0.1.2", org.eclipse.debug.ui;bundle-version="3.5.0", - jsc.debug;bundle-version="1.0.0", org.eclipse.ui.ide, - org.eclipse.core.variables;bundle-version="3.2.200" + org.eclipse.core.variables;bundle-version="3.2.200", + jsc.core;bundle-version="0.1.2", + jsc.util;bundle-version="1.0.0", + jsc.launching;bundle-version="1.0.0", + jsc.ui;bundle-version="0.1.2", + jsc.debug;bundle-version="1.0.0" Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-Vendor: Dieter Kleinrath Added: trunk/jsc.debug.ui/src/jsc/internal/debug/ui/ImageDescriptorRegistry.java =================================================================== --- trunk/jsc.debug.ui/src/jsc/internal/debug/ui/ImageDescriptorRegistry.java (rev 0) +++ trunk/jsc.debug.ui/src/jsc/internal/debug/ui/ImageDescriptorRegistry.java 2012-11-26 15:40:06 UTC (rev 375) @@ -0,0 +1,96 @@ +/******************************************************************************* + * Copyright (c) 2000, 2007 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 + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package jsc.internal.debug.ui; + + +import java.util.HashMap; +import java.util.Iterator; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; + +/** + * A registry that maps <code>ImageDescriptors</code> to <code>Image</code>. + */ +public class ImageDescriptorRegistry { + + private HashMap fRegistry= new HashMap(10); + private Display fDisplay; + + /** + * Creates a new image descriptor registry for the current or default display, + * respectively. + */ + public ImageDescriptorRegistry() { + this(JSCDebugUIPlugin.getStandardDisplay()); + } + + /** + * Creates a new image descriptor registry for the given display. All images + * managed by this registry will be disposed when the display gets disposed. + * + * @param display the display the images managed by this registry are allocated for + */ + public ImageDescriptorRegistry(Display display) { + fDisplay= display; + Assert.isNotNull(fDisplay); + hookDisplay(); + } + + /** + * Returns the image associated with the given image descriptor. + * + * @param descriptor the image descriptor for which the registry manages an image + * @return the image associated with the image descriptor or <code>null</code> + * if the image descriptor can't create the requested image. + */ + public Image get(ImageDescriptor descriptor) { + if (descriptor == null) + descriptor= ImageDescriptor.getMissingImageDescriptor(); + + Image result= (Image)fRegistry.get(descriptor); + if (result != null) + return result; + + Assert.isTrue(fDisplay == JSCDebugUIPlugin.getStandardDisplay(), DebugUIMessages.ImageDescriptorRegistry_Allocating_image_for_wrong_display_1); + result= descriptor.createImage(); + if (result != null) + fRegistry.put(descriptor, result); + return result; + } + + /** + * Disposes all images managed by this registry. + */ + public void dispose() { + for (Iterator iter= fRegistry.values().iterator(); iter.hasNext(); ) { + Image image= (Image)iter.next(); + image.dispose(); + } + fRegistry.clear(); + } + + private void hookDisplay() { + fDisplay.asyncExec(new Runnable() { + public void run() { + fDisplay.disposeExec(new Runnable() { + public void run() { + dispose(); + } + }); + } + }); + + } +} + Property changes on: trunk/jsc.debug.ui/src/jsc/internal/debug/ui/ImageDescriptorRegistry.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: trunk/jsc.debug.ui/src/jsc/internal/debug/ui/JSCDebugUIPlugin.java =================================================================== --- trunk/jsc.debug.ui/src/jsc/internal/debug/ui/JSCDebugUIPlugin.java 2012-11-26 15:38:00 UTC (rev 374) +++ trunk/jsc.debug.ui/src/jsc/internal/debug/ui/JSCDebugUIPlugin.java 2012-11-26 15:40:06 UTC (rev 375) @@ -15,7 +15,6 @@ import jsc.debug.ui.IJSCDebugUIConstants; -import org.eclipse.imp.runtime.ImageDescriptorRegistry; import jsc.internal.debug.ui.DebugUIMessages; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |