001 /* 002 * $Id: JXTaskPaneContainerAddon.java,v 1.6 2005/10/10 18:02:08 rbair Exp $ 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 */ 021 package org.jdesktop.swingx.plaf; 022 023 import java.util.Arrays; 024 import java.util.List; 025 026 import javax.swing.UIManager; 027 import javax.swing.plaf.ColorUIResource; 028 import javax.swing.plaf.metal.MetalLookAndFeel; 029 030 import org.jdesktop.swingx.JXTaskPaneContainer; 031 import org.jdesktop.swingx.plaf.windows.WindowsClassicLookAndFeelAddons; 032 import org.jdesktop.swingx.plaf.windows.WindowsLookAndFeelAddons; 033 import org.jdesktop.swingx.util.OS; 034 035 /** 036 * Addon for <code>JXTaskPaneContainer</code>. <br> 037 * 038 * @author <a href="mailto:fred@L2FProd.com">Frederic Lavigne</a> 039 */ 040 public class JXTaskPaneContainerAddon extends AbstractComponentAddon { 041 042 public JXTaskPaneContainerAddon() { 043 super("JXTaskPaneContainer"); 044 } 045 046 @Override 047 protected void addBasicDefaults(LookAndFeelAddons addon, List<Object> defaults) { 048 super.addBasicDefaults(addon, defaults); 049 defaults.addAll(Arrays.asList(new Object[]{ 050 JXTaskPaneContainer.uiClassID, 051 "org.jdesktop.swingx.plaf.basic.BasicTaskPaneContainerUI", 052 "TaskPaneContainer.useGradient", 053 Boolean.FALSE, 054 "TaskPaneContainer.background", 055 UIManager.getColor("Desktop.background") 056 })); 057 } 058 059 @Override 060 protected void addMetalDefaults(LookAndFeelAddons addon, List<Object> defaults) { 061 super.addMetalDefaults(addon, defaults); 062 defaults.addAll(Arrays.asList(new Object[]{ 063 "TaskPaneContainer.background", 064 MetalLookAndFeel.getDesktopColor() 065 })); 066 } 067 068 @Override 069 protected void addWindowsDefaults(LookAndFeelAddons addon, List<Object> defaults) { 070 super.addWindowsDefaults(addon, defaults); 071 if (addon instanceof WindowsClassicLookAndFeelAddons) { 072 defaults.addAll(Arrays.asList(new Object[]{ 073 "TaskPaneContainer.background", 074 UIManager.getColor("List.background") 075 })); 076 } else if (addon instanceof WindowsLookAndFeelAddons) { 077 String xpStyle = OS.getWindowsVisualStyle(); 078 ColorUIResource background; 079 ColorUIResource backgroundGradientStart; 080 ColorUIResource backgroundGradientEnd; 081 082 if (WindowsLookAndFeelAddons.HOMESTEAD_VISUAL_STYLE 083 .equalsIgnoreCase(xpStyle)) { 084 background = new ColorUIResource(201, 215, 170); 085 backgroundGradientStart = new ColorUIResource(204, 217, 173); 086 backgroundGradientEnd = new ColorUIResource(165, 189, 132); 087 } else if (WindowsLookAndFeelAddons.SILVER_VISUAL_STYLE 088 .equalsIgnoreCase(xpStyle)) { 089 background = new ColorUIResource(192, 195, 209); 090 backgroundGradientStart = new ColorUIResource(196, 200, 212); 091 backgroundGradientEnd = new ColorUIResource(177, 179, 200); 092 } else { 093 background = new ColorUIResource(117, 150, 227); 094 backgroundGradientStart = new ColorUIResource(123, 162, 231); 095 backgroundGradientEnd = new ColorUIResource(99, 117, 214); 096 } 097 defaults.addAll(Arrays.asList(new Object[]{ 098 "TaskPaneContainer.useGradient", 099 Boolean.TRUE, 100 "TaskPaneContainer.background", 101 background, 102 "TaskPaneContainer.backgroundGradientStart", 103 backgroundGradientStart, 104 "TaskPaneContainer.backgroundGradientEnd", 105 backgroundGradientEnd, 106 })); 107 } 108 } 109 110 @Override 111 protected void addMacDefaults(LookAndFeelAddons addon, List<Object> defaults) { 112 super.addMacDefaults(addon, defaults); 113 defaults.addAll(Arrays.asList(new Object[]{ 114 "TaskPaneContainer.background", 115 new ColorUIResource(238, 238, 238), 116 })); 117 } 118 119 }