This is the mail archive of the
mauve-patches@sourceware.org
mailing list for the Mauve project.
FYI: DefaultMetalTheme - added checks for 'swing.boldMetal' setting
- From: David Gilbert <david dot gilbert at object-refinery dot com>
- To: mauve-patches <mauve-patches at sources dot redhat dot com>
- Date: Tue, 12 Sep 2006 15:09:55 +0100
- Subject: FYI: DefaultMetalTheme - added checks for 'swing.boldMetal' setting
This patch (committed) adds checks for the 'swing.boldMetal' setting:
2006-09-12 David Gilbert <david.gilbert@object-refinery.com>
*
gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getControlTextFont.java
(test): Add checks for 'swing.boldMetal' UI default setting,
*
gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getMenuTextFont.java
(test): Likewise,
*
gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSubTextFont.java
(test): Likewise,
*
gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSystemTextFont.java
(test): Likewise,
*
gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getUserTextFont.java
(test): Likewise,
*
gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getWindowTitleFont.java
(test): Likewise.
I have a patch for GNU Classpath to make these checks pass which I will
commit shortly.
Regards,
Dave
Index: gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getControlTextFont.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getControlTextFont.java,v
retrieving revision 1.1
diff -u -r1.1 getControlTextFont.java
--- gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getControlTextFont.java 1 Jul 2005 09:14:15 -0000 1.1
+++ gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getControlTextFont.java 12 Sep 2006 14:04:19 -0000
@@ -1,6 +1,6 @@
-// Tags: JDK1.2
+// Tags: JDK1.5
-// Copyright (C) 2005 David Gilbert <david.gilbert@object-refinery.com>
+// Copyright (C) 2005, 2006 David Gilbert <david.gilbert@object-refinery.com>
// This file is part of Mauve.
@@ -15,9 +15,9 @@
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
-// along with Mauve; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA. */
+// along with Mauve; see the file COPYING. If not, write to the
+// Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA.
package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme;
@@ -26,6 +26,7 @@
import java.awt.Font;
+import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;
import javax.swing.plaf.metal.DefaultMetalTheme;
@@ -45,6 +46,30 @@
DefaultMetalTheme t = new DefaultMetalTheme();
FontUIResource f = t.getControlTextFont();
harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
+ FontUIResource f2 = t.getControlTextFont();
+ harness.check(f == f2);
+
+ // setting defaults property doesn't affect already created themes...
+ UIManager.put("swing.boldMetal", Boolean.FALSE);
+ f = t.getControlTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
+ // ...but is picked up by new themes
+ DefaultMetalTheme t2 = new DefaultMetalTheme();
+ f = t2.getControlTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
+
+ // set it to true
+ UIManager.put("swing.boldMetal", Boolean.TRUE);
+ DefaultMetalTheme t3 = new DefaultMetalTheme();
+ f = t3.getControlTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
+
+ // clear it again
+ UIManager.put("swing.boldMetal", null);
+ DefaultMetalTheme t4 = new DefaultMetalTheme();
+ f = t4.getControlTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
+
}
}
Index: gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getMenuTextFont.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getMenuTextFont.java,v
retrieving revision 1.1
diff -u -r1.1 getMenuTextFont.java
--- gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getMenuTextFont.java 1 Jul 2005 09:14:15 -0000 1.1
+++ gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getMenuTextFont.java 12 Sep 2006 14:04:19 -0000
@@ -1,6 +1,6 @@
-// Tags: JDK1.2
+// Tags: JDK1.5
-// Copyright (C) 2005 David Gilbert <david.gilbert@object-refinery.com>
+// Copyright (C) 2005, 2006, David Gilbert <david.gilbert@object-refinery.com>
// This file is part of Mauve.
@@ -15,9 +15,9 @@
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
-// along with Mauve; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA. */
+// along with Mauve; see the file COPYING. If not, write to the
+// Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA.
package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme;
@@ -26,6 +26,7 @@
import java.awt.Font;
+import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;
import javax.swing.plaf.metal.DefaultMetalTheme;
@@ -45,6 +46,29 @@
DefaultMetalTheme t = new DefaultMetalTheme();
FontUIResource f = t.getMenuTextFont();
harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
+ FontUIResource f2 = t.getMenuTextFont();
+ harness.check(f == f2);
+
+ // setting defaults property doesn't affect already created themes...
+ UIManager.put("swing.boldMetal", Boolean.FALSE);
+ f = t.getMenuTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
+ // ...but is picked up by new themes
+ DefaultMetalTheme t2 = new DefaultMetalTheme();
+ f = t2.getMenuTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
+
+ // set it to true
+ UIManager.put("swing.boldMetal", Boolean.TRUE);
+ DefaultMetalTheme t3 = new DefaultMetalTheme();
+ f = t3.getMenuTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
+
+ // clear it again
+ UIManager.put("swing.boldMetal", null);
+ DefaultMetalTheme t4 = new DefaultMetalTheme();
+ f = t4.getMenuTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
}
}
Index: gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSubTextFont.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSubTextFont.java,v
retrieving revision 1.1
diff -u -r1.1 getSubTextFont.java
--- gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSubTextFont.java 1 Jul 2005 09:14:15 -0000 1.1
+++ gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSubTextFont.java 12 Sep 2006 14:04:20 -0000
@@ -1,6 +1,6 @@
-// Tags: JDK1.2
+// Tags: JDK1.5
-// Copyright (C) 2005 David Gilbert <david.gilbert@object-refinery.com>
+// Copyright (C) 2005, 2006, David Gilbert <david.gilbert@object-refinery.com>
// This file is part of Mauve.
@@ -15,9 +15,9 @@
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
-// along with Mauve; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA. */
+// along with Mauve; see the file COPYING. If not, write to the
+// Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA.
package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme;
@@ -26,6 +26,7 @@
import java.awt.Font;
+import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;
import javax.swing.plaf.metal.DefaultMetalTheme;
@@ -45,6 +46,29 @@
DefaultMetalTheme t = new DefaultMetalTheme();
FontUIResource f = t.getSubTextFont();
harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 10));
+ FontUIResource f2 = t.getSubTextFont();
+ harness.check(f == f2);
+
+ // setting defaults property doesn't affect this font...
+ UIManager.put("swing.boldMetal", Boolean.TRUE);
+ f = t.getSubTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 10));
+ // ...but is picked up by new themes
+ DefaultMetalTheme t2 = new DefaultMetalTheme();
+ f = t2.getSubTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 10));
+
+ // set it to false
+ UIManager.put("swing.boldMetal", Boolean.FALSE);
+ DefaultMetalTheme t3 = new DefaultMetalTheme();
+ f = t3.getSubTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 10));
+
+ // clear it again
+ UIManager.put("swing.boldMetal", null);
+ DefaultMetalTheme t4 = new DefaultMetalTheme();
+ f = t4.getSubTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 10));
}
}
Index: gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSystemTextFont.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSystemTextFont.java,v
retrieving revision 1.1
diff -u -r1.1 getSystemTextFont.java
--- gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSystemTextFont.java 1 Jul 2005 09:14:15 -0000 1.1
+++ gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getSystemTextFont.java 12 Sep 2006 14:04:20 -0000
@@ -1,6 +1,6 @@
-// Tags: JDK1.2
+// Tags: JDK1.5
-// Copyright (C) 2005 David Gilbert <david.gilbert@object-refinery.com>
+// Copyright (C) 2005, 2006, David Gilbert <david.gilbert@object-refinery.com>
// This file is part of Mauve.
@@ -15,9 +15,9 @@
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
-// along with Mauve; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA. */
+// along with Mauve; see the file COPYING. If not, write to the
+// Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA.
package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme;
@@ -26,6 +26,7 @@
import java.awt.Font;
+import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;
import javax.swing.plaf.metal.DefaultMetalTheme;
@@ -45,6 +46,29 @@
DefaultMetalTheme t = new DefaultMetalTheme();
FontUIResource f = t.getSystemTextFont();
harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
+ FontUIResource f2 = t.getSystemTextFont();
+ harness.check(f == f2);
+
+ // setting defaults property doesn't affect this font...
+ UIManager.put("swing.boldMetal", Boolean.TRUE);
+ f = t.getSystemTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
+ // ...but is picked up by new themes
+ DefaultMetalTheme t2 = new DefaultMetalTheme();
+ f = t2.getSystemTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
+
+ // set it to false
+ UIManager.put("swing.boldMetal", Boolean.FALSE);
+ DefaultMetalTheme t3 = new DefaultMetalTheme();
+ f = t3.getSystemTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
+
+ // clear it again
+ UIManager.put("swing.boldMetal", null);
+ DefaultMetalTheme t4 = new DefaultMetalTheme();
+ f = t4.getSystemTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
}
}
Index: gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getUserTextFont.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getUserTextFont.java,v
retrieving revision 1.1
diff -u -r1.1 getUserTextFont.java
--- gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getUserTextFont.java 1 Jul 2005 09:14:15 -0000 1.1
+++ gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getUserTextFont.java 12 Sep 2006 14:04:20 -0000
@@ -1,6 +1,6 @@
-// Tags: JDK1.2
+// Tags: JDK1.5
-// Copyright (C) 2005 David Gilbert <david.gilbert@object-refinery.com>
+// Copyright (C) 2005, 2006, David Gilbert <david.gilbert@object-refinery.com>
// This file is part of Mauve.
@@ -15,9 +15,9 @@
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
-// along with Mauve; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA. */
+// along with Mauve; see the file COPYING. If not, write to the
+// Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA.
package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme;
@@ -26,6 +26,7 @@
import java.awt.Font;
+import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;
import javax.swing.plaf.metal.DefaultMetalTheme;
@@ -45,6 +46,29 @@
DefaultMetalTheme t = new DefaultMetalTheme();
FontUIResource f = t.getUserTextFont();
harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
+ FontUIResource f2 = t.getUserTextFont();
+ harness.check(f == f2);
+
+ // setting defaults property doesn't affect this font...
+ UIManager.put("swing.boldMetal", Boolean.TRUE);
+ f = t.getUserTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
+ // ...but is picked up by new themes
+ DefaultMetalTheme t2 = new DefaultMetalTheme();
+ f = t2.getUserTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
+
+ // set it to false
+ UIManager.put("swing.boldMetal", Boolean.FALSE);
+ DefaultMetalTheme t3 = new DefaultMetalTheme();
+ f = t3.getUserTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
+
+ // clear it again
+ UIManager.put("swing.boldMetal", null);
+ DefaultMetalTheme t4 = new DefaultMetalTheme();
+ f = t4.getUserTextFont();
+ harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
}
}
Index: gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getWindowTitleFont.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getWindowTitleFont.java,v
retrieving revision 1.1
diff -u -r1.1 getWindowTitleFont.java
--- gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getWindowTitleFont.java 1 Jul 2005 09:14:15 -0000 1.1
+++ gnu/testlet/javax/swing/plaf/metal/DefaultMetalTheme/getWindowTitleFont.java 12 Sep 2006 14:04:20 -0000
@@ -1,6 +1,6 @@
-// Tags: JDK1.2
+// Tags: JDK1.5
-// Copyright (C) 2005 David Gilbert <david.gilbert@object-refinery.com>
+// Copyright (C) 2005, 2006, David Gilbert <david.gilbert@object-refinery.com>
// This file is part of Mauve.
@@ -15,9 +15,9 @@
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
-// along with Mauve; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA. */
+// along with Mauve; see the file COPYING. If not, write to the
+// Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA.
package gnu.testlet.javax.swing.plaf.metal.DefaultMetalTheme;
@@ -26,6 +26,7 @@
import java.awt.Font;
+import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;
import javax.swing.plaf.metal.DefaultMetalTheme;
@@ -43,8 +44,31 @@
public void test(TestHarness harness)
{
DefaultMetalTheme t = new DefaultMetalTheme();
- FontUIResource f = t.getUserTextFont();
- harness.check(f, new FontUIResource("Dialog", Font.PLAIN, 12));
+ FontUIResource f = t.getWindowTitleFont();
+ harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
+ FontUIResource f2 = t.getWindowTitleFont();
+ harness.check(f == f2);
+
+ // setting defaults property doesn't affect this font...
+ UIManager.put("swing.boldMetal", Boolean.TRUE);
+ f = t.getWindowTitleFont();
+ harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
+ // ...but is picked up by new themes
+ DefaultMetalTheme t2 = new DefaultMetalTheme();
+ f = t2.getWindowTitleFont();
+ harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
+
+ // set it to false
+ UIManager.put("swing.boldMetal", Boolean.FALSE);
+ DefaultMetalTheme t3 = new DefaultMetalTheme();
+ f = t3.getWindowTitleFont();
+ harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
+
+ // clear it again
+ UIManager.put("swing.boldMetal", null);
+ DefaultMetalTheme t4 = new DefaultMetalTheme();
+ f = t4.getWindowTitleFont();
+ harness.check(f, new FontUIResource("Dialog", Font.BOLD, 12));
}
}