diff options
Diffstat (limited to 'examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java')
-rwxr-xr-x | examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java deleted file mode 100755 index 5f27107868..0000000000 --- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java +++ /dev/null @@ -1,156 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.examples.fileviewer; - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.program.*; -import org.eclipse.swt.widgets.*; - -import java.io.*; -import java.util.*; - -/** - * Manages icons for the application. - * This is necessary as we could easily end up creating thousands of icons - * bearing the same image. - */ -class IconCache { - // Stock images - public final int - shellIcon = 0, - iconClosedDrive = 1, - iconClosedFolder = 2, - iconFile = 3, - iconOpenDrive = 4, - iconOpenFolder = 5, - cmdCopy = 6, - cmdCut = 7, - cmdDelete = 8, - cmdParent = 9, - cmdPaste = 10, - cmdPrint = 11, - cmdRefresh = 12, - cmdRename = 13, - cmdSearch = 14; - public final String[] stockImageLocations = { - "generic_example.gif", - "icon_ClosedDrive.gif", - "icon_ClosedFolder.gif", - "icon_File.gif", - "icon_OpenDrive.gif", - "icon_OpenFolder.gif", - "cmd_Copy.gif", - "cmd_Cut.gif", - "cmd_Delete.gif", - "cmd_Parent.gif", - "cmd_Paste.gif", - "cmd_Print.gif", - "cmd_Refresh.gif", - "cmd_Rename.gif", - "cmd_Search.gif" - }; - public Image stockImages[]; - - // Stock cursors - public final int - cursorDefault = 0, - cursorWait = 1; - public Cursor stockCursors[]; - // Cached icons - private Hashtable iconCache; /* map Program to Image */ - - public IconCache() { - } - /** - * Loads the resources - * - * @param display the display - */ - public void initResources(Display display) { - if (stockImages == null) { - stockImages = new Image[stockImageLocations.length]; - - for (int i = 0; i < stockImageLocations.length; ++i) { - Image image = createStockImage(display, stockImageLocations[i]); - if (image == null) { - freeResources(); - throw new IllegalStateException( - FileViewer.getResourceString("error.CouldNotLoadResources")); - } - stockImages[i] = image; - } - } - if (stockCursors == null) { - stockCursors = new Cursor[] { - null, - new Cursor(display, SWT.CURSOR_WAIT) - }; - } - iconCache = new Hashtable(); - } - /** - * Frees the resources - */ - public void freeResources() { - if (stockImages != null) { - for (int i = 0; i < stockImages.length; ++i) { - final Image image = stockImages[i]; - if (image != null) image.dispose(); - } - stockImages = null; - } - if (iconCache != null) { - for (Enumeration it = iconCache.elements(); it.hasMoreElements(); ) { - Image image = (Image) it.nextElement(); - image.dispose(); - } - } - } - /** - * Creates a stock image - * - * @param display the display - * @param path the relative path to the icon - */ - private Image createStockImage(Display display, String path) { - try { - InputStream stream = IconCache.class.getResourceAsStream(path); - if (stream != null) { - ImageData imageData = new ImageData(stream); - if (imageData != null) { - ImageData mask = imageData.getTransparencyMask(); - return new Image(display, imageData, mask); - } - } - } catch (Exception e) { - } - return null; - } - /** - * Gets an image for a file associated with a given program - * - * @param program the Program - */ - public Image getIconFromProgram(Program program) { - Image image = (Image) iconCache.get(program); - if (image == null) { - ImageData imageData = program.getImageData(); - if (imageData != null) { - image = new Image(null, imageData, imageData.getTransparencyMask()); - iconCache.put(program, image); - } else { - image = stockImages[iconFile]; - } - } - return image; - } -} |