2 Copyright (C) 2004 Free Software Foundation, Inc.
4 This file is part of GNU Classpath.
6 GNU Classpath is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
11 GNU Classpath is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU Classpath; see the file COPYING. If not, write to the
18 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
21 Linking this library statically or dynamically with other modules is
22 making a combined work based on this library. Thus, the terms and
23 conditions of the GNU General Public License cover the whole
26 As a special exception, the copyright holders of this library give you
27 permission to link this library with independent modules to produce an
28 executable, regardless of the license terms of these independent
29 modules, and to copy and distribute the resulting executable under
30 terms of your choice, provided that you also meet, for each linked
31 independent module, the terms and conditions of the license of that
32 module. An independent module is a module which is not derived from
33 or based on this library. If you modify this library, you may extend
34 this exception to your version of the library, but you are not
35 obligated to do so. If you do not wish to do so, delete this
36 exception statement from your version. */
40 package javax
.swing
.plaf
.metal
;
42 import java
.awt
.Color
;
44 import javax
.swing
.UIDefaults
;
45 import javax
.swing
.plaf
.ColorUIResource
;
46 import javax
.swing
.plaf
.FontUIResource
;
48 public abstract class MetalTheme
50 private ColorUIResource BLACK
= new ColorUIResource(Color
.BLACK
);
51 private ColorUIResource WHITE
= new ColorUIResource(Color
.WHITE
);
58 public abstract String
getName();
60 public void addCustomEntriesToTable(UIDefaults table
)
63 // This method needs to be overloaded to actuall do something.
66 public ColorUIResource
getAcceleratorForeground()
71 public ColorUIResource
getAcceleratorSelectedForeground()
76 public ColorUIResource
getControl()
78 return getSecondary3();
81 public ColorUIResource
getControlDarkShadow()
83 return getSecondary1();
86 public ColorUIResource
getControlDisabled()
88 return getSecondary2();
91 public ColorUIResource
getControlHighlight()
96 public ColorUIResource
getControlInfo()
101 public ColorUIResource
getControlShadow()
103 return getSecondary2();
106 public ColorUIResource
getControlTextColor()
108 return getControlInfo();
111 public ColorUIResource
getDesktopColor()
113 return getPrimary2();
116 public ColorUIResource
getFocusColor()
118 return getPrimary2();
121 public ColorUIResource
getHighlightedTextColor()
123 return getControlTextColor();
126 public ColorUIResource
getInactiveControlTextColor()
128 return getControlDisabled();
131 public ColorUIResource
getInactiveSystemTextColor()
133 return getSecondary2();
136 public ColorUIResource
getMenuBackground()
138 return getSecondary3();
141 public ColorUIResource
getMenuDisabledForeground()
143 return getSecondary3();
146 public ColorUIResource
getMenuForeground()
151 public ColorUIResource
getMenuSelectedBackground()
153 return getPrimary2();
156 public ColorUIResource
getMenuSelectedForeground()
161 public ColorUIResource
getPrimaryControl()
163 return getPrimary3();
166 public ColorUIResource
getPrimaryControlDarkShadow()
168 return getPrimary1();
171 public ColorUIResource
getPrimaryControlHighlight()
176 public ColorUIResource
getPrimaryControlInfo()
181 public ColorUIResource
getPrimaryControlShadow()
183 return getPrimary2();
186 public ColorUIResource
getSeparatorBackground()
191 public ColorUIResource
getSeparatorForeground()
193 return getPrimary1();
196 public ColorUIResource
getSystemTextColor()
201 public ColorUIResource
getTextHighlightColor()
203 return getPrimary3();
206 public ColorUIResource
getUserTextColor()
211 public ColorUIResource
getWindowBackground()
216 public ColorUIResource
getWindowTitleBackground()
218 return getPrimary3();
221 public ColorUIResource
getWindowTitleForeground()
226 public ColorUIResource
getWindowTitleInactiveBackground()
228 return getSecondary3();
231 public ColorUIResource
getWindowTitleInactiveForeground()
236 protected ColorUIResource
getBlack()
241 protected ColorUIResource
getWhite()
246 protected abstract ColorUIResource
getPrimary1();
247 protected abstract ColorUIResource
getPrimary2();
248 protected abstract ColorUIResource
getPrimary3();
249 protected abstract ColorUIResource
getSecondary1();
250 protected abstract ColorUIResource
getSecondary2();
251 protected abstract ColorUIResource
getSecondary3();
253 public abstract FontUIResource
getControlTextFont();
254 public abstract FontUIResource
getMenuTextFont();
255 public abstract FontUIResource
getSubTextFont();
256 public abstract FontUIResource
getSystemTextFont();
257 public abstract FontUIResource
getUserTextFont();
258 public abstract FontUIResource
getWindowTitleFont();