1 /*
2 * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
1570
1571 static boolean isOnVista() {
1572 return OSInfo.getOSType() == OSInfo.OSType.WINDOWS
1573 && OSInfo.getWindowsVersion().compareTo(OSInfo.WINDOWS_VISTA) >= 0;
1574 }
1575
1576 static boolean isOnWindows7() {
1577 return OSInfo.getOSType() == OSInfo.OSType.WINDOWS
1578 && OSInfo.getWindowsVersion().compareTo(OSInfo.WINDOWS_7) >= 0;
1579 }
1580
1581 private void initVistaComponentDefaults(UIDefaults table) {
1582 if (! isOnVista()) {
1583 return;
1584 }
1585 /* START handling menus for Vista */
1586 String[] menuClasses = { "MenuItem", "Menu",
1587 "CheckBoxMenuItem", "RadioButtonMenuItem",
1588 };
1589
1590 Object menuDefaults[] = new Object[menuClasses.length * 2];
1591
1592 /* all the menus need to be non opaque. */
1593 for (int i = 0, j = 0; i < menuClasses.length; i++) {
1594 String key = menuClasses[i] + ".opaque";
1595 Object oldValue = table.get(key);
1596 menuDefaults[j++] = key;
1597 menuDefaults[j++] =
1598 new XPValue(Boolean.FALSE, oldValue);
1599 }
1600 table.putDefaults(menuDefaults);
1601
1602 /*
1603 * acceleratorSelectionForeground color is the same as
1604 * acceleratorForeground
1605 */
1606 for (int i = 0, j = 0; i < menuClasses.length; i++) {
1607 String key = menuClasses[i] + ".acceleratorSelectionForeground";
1608 Object oldValue = table.get(key);
1609 menuDefaults[j++] = key;
1610 menuDefaults[j++] =
|
1 /*
2 * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
1570
1571 static boolean isOnVista() {
1572 return OSInfo.getOSType() == OSInfo.OSType.WINDOWS
1573 && OSInfo.getWindowsVersion().compareTo(OSInfo.WINDOWS_VISTA) >= 0;
1574 }
1575
1576 static boolean isOnWindows7() {
1577 return OSInfo.getOSType() == OSInfo.OSType.WINDOWS
1578 && OSInfo.getWindowsVersion().compareTo(OSInfo.WINDOWS_7) >= 0;
1579 }
1580
1581 private void initVistaComponentDefaults(UIDefaults table) {
1582 if (! isOnVista()) {
1583 return;
1584 }
1585 /* START handling menus for Vista */
1586 String[] menuClasses = { "MenuItem", "Menu",
1587 "CheckBoxMenuItem", "RadioButtonMenuItem",
1588 };
1589
1590 Object[] menuDefaults = new Object[menuClasses.length * 2];
1591
1592 /* all the menus need to be non opaque. */
1593 for (int i = 0, j = 0; i < menuClasses.length; i++) {
1594 String key = menuClasses[i] + ".opaque";
1595 Object oldValue = table.get(key);
1596 menuDefaults[j++] = key;
1597 menuDefaults[j++] =
1598 new XPValue(Boolean.FALSE, oldValue);
1599 }
1600 table.putDefaults(menuDefaults);
1601
1602 /*
1603 * acceleratorSelectionForeground color is the same as
1604 * acceleratorForeground
1605 */
1606 for (int i = 0, j = 0; i < menuClasses.length; i++) {
1607 String key = menuClasses[i] + ".acceleratorSelectionForeground";
1608 Object oldValue = table.get(key);
1609 menuDefaults[j++] = key;
1610 menuDefaults[j++] =
|