/* * Copyright 2009 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.google.gwt.dev.shell; import com.google.gwt.dev.util.log.AbstractTreeLogger; import java.net.URL; import javax.swing.Icon; import javax.swing.ImageIcon; /** * Purely static class which holds references to all the icons needed in the * development mode shell. */ public class Icons { // log level icons private static final Icon LOG_ITEM_ERROR = loadIcon( AbstractTreeLogger.class, "log-item-error.gif"); private static final Icon LOG_ITEM_WARNING = loadIcon( AbstractTreeLogger.class, "log-item-warning.gif"); private static final Icon LOG_ITEM_INFO = loadIcon( AbstractTreeLogger.class, "log-item-info.gif"); private static final Icon LOG_ITEM_DEBUG = loadIcon( AbstractTreeLogger.class, "log-item-debug.gif"); private static final Icon LOG_ITEM_TRACE = loadIcon( AbstractTreeLogger.class, "log-item-trace.gif"); private static final Icon LOG_ITEM_SPAM = loadIcon( AbstractTreeLogger.class, "log-item-spam.gif"); // browser icons left out for now private static final ImageIcon CLOSE = loadIcon("close.png"); /** * @return a *x24 icon suitable for identifying Chrome, or null if none. */ public static ImageIcon getChrome24() { return null; } public static ImageIcon getClose() { return CLOSE; } /** * @return a *x24 icon suitable for identifying Firefox, or null if none. */ public static ImageIcon getFirefox24() { return null; } /** * @return a *x24 icon suitable for identifying IE, or null if none. */ public static ImageIcon getIE24() { return null; } public static Icon getLogItemDebug() { return LOG_ITEM_DEBUG; } public static Icon getLogItemError() { return LOG_ITEM_ERROR; } public static Icon getLogItemInfo() { return LOG_ITEM_INFO; } public static Icon getLogItemSpam() { return LOG_ITEM_SPAM; } public static Icon getLogItemTrace() { return LOG_ITEM_TRACE; } public static Icon getLogItemWarning() { return LOG_ITEM_WARNING; } /** * @return a *x24 icon suitable for identifying Safari, or null if none. */ public static ImageIcon getSafari24() { return null; } private static ImageIcon loadIcon(Class<?> clazz, String name) { URL url = clazz.getResource(name); if (url != null) { ImageIcon image = new ImageIcon(url); return image; } else { // Bad image. return new ImageIcon(); } } private static ImageIcon loadIcon(String name) { return loadIcon(Icons.class, name); } // prevent instantiation private Icons() { } }