001/* 002 * $Id: StatusBarAddon.java 3475 2009-08-28 08:30:47Z kleopatra $ 003 * 004 * Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle, 005 * Santa Clara, California 95054, U.S.A. All rights reserved. 006 * 007 * This library is free software; you can redistribute it and/or 008 * modify it under the terms of the GNU Lesser General Public 009 * License as published by the Free Software Foundation; either 010 * version 2.1 of the License, or (at your option) any later version. 011 * 012 * This library is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 015 * Lesser General Public License for more details. 016 * 017 * You should have received a copy of the GNU Lesser General Public 018 * License along with this library; if not, write to the Free Software 019 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 020 */ 021package org.jdesktop.swingx.plaf; 022 023import org.jdesktop.swingx.JXStatusBar; 024import org.jdesktop.swingx.plaf.windows.WindowsLookAndFeelAddons; 025import org.jdesktop.swingx.util.OS; 026 027/** 028 * Addon for <code>JXStatusBar</code>.<br> 029 * 030 */ 031public class StatusBarAddon extends AbstractComponentAddon { 032 033 public StatusBarAddon() { 034 super("JXStatusBar"); 035 } 036 037 @Override 038 protected void addBasicDefaults(LookAndFeelAddons addon, DefaultsList defaults) { 039 super.addBasicDefaults(addon, defaults); 040 041 defaults.add(JXStatusBar.uiClassID, 042 "org.jdesktop.swingx.plaf.basic.BasicStatusBarUI"); 043 } 044 045 @Override 046 protected void addMacDefaults(LookAndFeelAddons addon, DefaultsList defaults) { 047 super.addMacDefaults(addon, defaults); 048 049 defaults.add(JXStatusBar.uiClassID, 050 "org.jdesktop.swingx.plaf.macosx.MacOSXStatusBarUI"); 051 } 052 053 @Override 054 protected void addMetalDefaults(LookAndFeelAddons addon, DefaultsList defaults) { 055 super.addMetalDefaults(addon, defaults); 056 057 defaults.add(JXStatusBar.uiClassID, 058 "org.jdesktop.swingx.plaf.metal.MetalStatusBarUI"); 059 } 060 061 @Override 062 protected void addWindowsDefaults(LookAndFeelAddons addon, DefaultsList defaults) { 063 super.addWindowsDefaults(addon, defaults); 064 if (OS.isUsingWindowsVisualStyles()) { 065 defaults.add(JXStatusBar.uiClassID, 066 "org.jdesktop.swingx.plaf.windows.WindowsStatusBarUI"); 067 068 String xpStyle = OS.getWindowsVisualStyle(); 069 070 if (WindowsLookAndFeelAddons.SILVER_VISUAL_STYLE.equalsIgnoreCase(xpStyle) 071 || WindowsLookAndFeelAddons.VISTA_VISUAL_STYLE.equalsIgnoreCase(xpStyle)) { 072 defaults.add("StatusBar.leftImage", "resources/silver-statusbar-left.png"); 073 defaults.add("StatusBar.middleImage", "resources/silver-statusbar-middle.png"); 074 defaults.add("StatusBar.rightImage", "resources/silver-statusbar-right.png"); 075 } else { 076 defaults.add("StatusBar.leftImage", "resources/statusbar-left.png"); 077 defaults.add("StatusBar.middleImage", "resources/statusbar-middle.png"); 078 defaults.add("StatusBar.rightImage", "resources/statusbar-right.png"); 079 } 080 } else { 081 defaults.add(JXStatusBar.uiClassID, 082 "org.jdesktop.swingx.plaf.windows.WindowsClassicStatusBarUI"); 083 } 084 } 085}