0N/A/*
2362N/A * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
2362N/A * published by the Free Software Foundation. Oracle designates this
0N/A * particular file as subject to the "Classpath" exception as provided
2362N/A * by Oracle in the LICENSE file that accompanied this code.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A * or visit www.oracle.com if you need additional information or have any
2362N/A * questions.
0N/A */
0N/A
0N/Apackage sun.awt.X11;
0N/A
0N/Aimport java.awt.Color;
0N/Aimport java.awt.Font;
0N/Aimport java.awt.SystemColor;
0N/A
0N/Aimport javax.swing.*;
0N/Aimport javax.swing.plaf.*;
0N/Aimport javax.swing.border.*;
0N/Aimport javax.swing.text.DefaultEditorKit;
0N/A
0N/Aimport javax.swing.plaf.basic.BasicBorders;
0N/Aimport com.sun.java.swing.plaf.motif.*;
0N/Aimport sun.awt.X11.XComponentPeer;
0N/A
0N/Aclass XAWTLookAndFeel extends MotifLookAndFeel {
0N/A
0N/A /**
0N/A * Load the SystemColors into the defaults table. The keys
0N/A * for SystemColor defaults are the same as the names of
0N/A * the public fields in SystemColor. If the table is being
0N/A * created on a native Motif platform we use the SystemColor
0N/A * values, otherwise we create color objects whose values match
0N/A * the default CDE/Motif colors.
0N/A */
0N/A protected void initSystemColorDefaults(UIDefaults table) {
0N/A String[] defaultSystemColors = {
0N/A "desktop", "#005C5C", /* Color of the desktop background */
0N/A "activeCaption", "#000080", /* Color for captions (title bars) when they are active. */
0N/A "activeCaptionText", "#FFFFFF", /* Text color for text in captions (title bars). */
0N/A "activeCaptionBorder", "#B24D7A", /* Border color for caption (title bar) window borders. */
0N/A "inactiveCaption", "#AEB2C3", /* Color for captions (title bars) when not active. */
0N/A "inactiveCaptionText", "#000000", /* Text color for text in inactive captions (title bars). */
0N/A "inactiveCaptionBorder", "#AEB2C3", /* Border color for inactive caption (title bar) window borders. */
0N/A "window", "#AEB2C3", /* Default color for the interior of windows */
0N/A "windowBorder", "#AEB2C3", /* ??? */
0N/A "windowText", "#000000", /* ??? */
0N/A "menu", "#AEB2C3", /* ??? */
0N/A "menuText", "#000000", /* ??? */
0N/A "text", "#FFF7E9", /* Text background color */
0N/A "textText", "#000000", /* Text foreground color */
0N/A "textHighlight", "#000000", /* Text background color when selected */
0N/A "textHighlightText", "#FFF7E9", /* Text color when selected */
0N/A "textInactiveText", "#808080", /* Text color when disabled */
0N/A "control", "#AEB2C3", /* Default color for controls (buttons, sliders, etc) */
0N/A "controlText", "#000000", /* Default color for text in controls */
0N/A "controlHighlight", "#DCDEE5", /* Highlight color for controls */
0N/A "controlLtHighlight", "#DCDEE5", /* Light highlight color for controls */
0N/A "controlShadow", "#63656F", /* Shadow color for controls */
0N/A "controlLightShadow", "#9397A5", /* Shadow color for controls */
0N/A "controlDkShadow", "#000000", /* Dark shadow color for controls */
0N/A "scrollbar", "#AEB2C3", /* Scrollbar ??? color. PENDING(jeff) foreground? background? ?*/
0N/A "info", "#FFF7E9", /* ??? */
0N/A "infoText", "#000000" /* ??? */
0N/A };
0N/A
0N/A loadSystemColors(table, defaultSystemColors, true);
0N/A }
0N/A
0N/A protected void initComponentDefaults(UIDefaults table) {
0N/A super.initComponentDefaults(table);
0N/A
0N/A FontUIResource dialogPlain12 = new FontUIResource(Font.DIALOG,
0N/A Font.PLAIN, 12);
0N/A FontUIResource sansSerifPlain12 = new FontUIResource(Font.SANS_SERIF,
0N/A Font.PLAIN, 12);
0N/A FontUIResource monospacedPlain12 = new FontUIResource(Font.MONOSPACED,
0N/A Font.PLAIN, 12);
0N/A ColorUIResource red = new ColorUIResource(Color.red);
0N/A ColorUIResource black = new ColorUIResource(Color.black);
0N/A ColorUIResource white = new ColorUIResource(Color.white);
0N/A ColorUIResource lightGray = new ColorUIResource(Color.lightGray);
0N/A ColorUIResource controlDarker = new ColorUIResource(SystemColor.controlDkShadow);
0N/A
0N/A Color back = table.getColor("control");
0N/A Color colors [] = XComponentPeer.getSystemColors();
0N/A Color scrollBarBackground = colors[XComponentPeer.BACKGROUND_COLOR];
0N/A Color trackColor = new Color(MotifColorUtilities.calculateSelectFromBackground(scrollBarBackground.getRed(), scrollBarBackground.getGreen(), scrollBarBackground.getBlue()));
0N/A Border loweredBevelBorder = new MotifBorders.BevelBorder(false,
0N/A table.getColor("controlShadow"),
0N/A table.getColor("controlLtHighlight"));
0N/A
0N/A Border raisedBevelBorder = new MotifBorders.BevelBorder(true,
0N/A table.getColor("controlShadow"),
0N/A table.getColor("controlLtHighlight"));
0N/A
0N/A Border marginBorder = new BasicBorders.MarginBorder();
0N/A
0N/A Border focusBorder = new MotifBorders.FocusBorder(
0N/A table.getColor("control"),
0N/A table.getColor("activeCaptionBorder"));
0N/A
0N/A
0N/A Border focusBevelBorder = new BorderUIResource.CompoundBorderUIResource(
0N/A focusBorder,
0N/A loweredBevelBorder);
0N/A
0N/A Border textFieldBorder = new BorderUIResource.CompoundBorderUIResource(
0N/A focusBevelBorder,
0N/A marginBorder);
0N/A
0N/A // *** Text
0N/A
0N/A Object fieldInputMap = new UIDefaults.LazyInputMap(new Object[] {
0N/A "COPY", DefaultEditorKit.copyAction,
0N/A "PASTE", DefaultEditorKit.pasteAction,
0N/A "CUT", DefaultEditorKit.cutAction,
0N/A "control C", DefaultEditorKit.copyAction,
0N/A "control V", DefaultEditorKit.pasteAction,
0N/A "control X", DefaultEditorKit.cutAction,
0N/A "control INSERT", DefaultEditorKit.copyAction,
0N/A "shift INSERT", DefaultEditorKit.pasteAction,
0N/A "shift DELETE", DefaultEditorKit.cutAction,
0N/A "control F", DefaultEditorKit.forwardAction,
0N/A "control B", DefaultEditorKit.backwardAction,
0N/A "control D", DefaultEditorKit.deleteNextCharAction,
0N/A "typed \010", DefaultEditorKit.deletePrevCharAction,
0N/A "DELETE", DefaultEditorKit.deleteNextCharAction,
0N/A "RIGHT", DefaultEditorKit.forwardAction,
0N/A "LEFT", DefaultEditorKit.backwardAction,
0N/A "KP_RIGHT", DefaultEditorKit.forwardAction,
0N/A "KP_LEFT", DefaultEditorKit.backwardAction,
0N/A "shift LEFT", DefaultEditorKit.selectionBackwardAction,
0N/A "shift RIGHT", DefaultEditorKit.selectionForwardAction,
0N/A "control LEFT", DefaultEditorKit.previousWordAction,
0N/A "control RIGHT", DefaultEditorKit.nextWordAction,
0N/A "control shift LEFT", DefaultEditorKit.selectionPreviousWordAction,
0N/A "control shift RIGHT", DefaultEditorKit.selectionNextWordAction,
0N/A "control SLASH", DefaultEditorKit.selectAllAction,
0N/A "HOME", DefaultEditorKit.beginLineAction,
0N/A "END", DefaultEditorKit.endLineAction,
0N/A "shift HOME", DefaultEditorKit.selectionBeginLineAction,
0N/A "shift END", DefaultEditorKit.selectionEndLineAction,
0N/A "control BACK_SLASH", "unselect",
0N/A "ENTER", JTextField.notifyAction,
0N/A "control shift O", "toggle-componentOrientation"
0N/A });
0N/A
0N/A Object passwordInputMap = new UIDefaults.LazyInputMap(new Object[] {
0N/A "COPY", DefaultEditorKit.copyAction,
0N/A "PASTE", DefaultEditorKit.pasteAction,
0N/A "CUT", DefaultEditorKit.cutAction,
0N/A "control C", DefaultEditorKit.copyAction,
0N/A "control V", DefaultEditorKit.pasteAction,
0N/A "control X", DefaultEditorKit.cutAction,
0N/A "control INSERT", DefaultEditorKit.copyAction,
0N/A "shift INSERT", DefaultEditorKit.pasteAction,
0N/A "shift DELETE", DefaultEditorKit.cutAction,
0N/A "control F", DefaultEditorKit.forwardAction,
0N/A "control B", DefaultEditorKit.backwardAction,
0N/A "control D", DefaultEditorKit.deleteNextCharAction,
0N/A "typed \010", DefaultEditorKit.deletePrevCharAction,
0N/A "DELETE", DefaultEditorKit.deleteNextCharAction,
0N/A "RIGHT", DefaultEditorKit.forwardAction,
0N/A "LEFT", DefaultEditorKit.backwardAction,
0N/A "KP_RIGHT", DefaultEditorKit.forwardAction,
0N/A "KP_LEFT", DefaultEditorKit.backwardAction,
0N/A "shift LEFT", DefaultEditorKit.selectionBackwardAction,
0N/A "shift RIGHT", DefaultEditorKit.selectionForwardAction,
0N/A "control LEFT", DefaultEditorKit.beginLineAction,
0N/A "control RIGHT", DefaultEditorKit.endLineAction,
0N/A "control shift LEFT", DefaultEditorKit.selectionBeginLineAction,
0N/A "control shift RIGHT", DefaultEditorKit.selectionEndLineAction,
0N/A "control SLASH", DefaultEditorKit.selectAllAction,
0N/A "HOME", DefaultEditorKit.beginLineAction,
0N/A "END", DefaultEditorKit.endLineAction,
0N/A "shift HOME", DefaultEditorKit.selectionBeginLineAction,
0N/A "shift END", DefaultEditorKit.selectionEndLineAction,
0N/A "control BACK_SLASH", "unselect",
0N/A "ENTER", JTextField.notifyAction,
0N/A "control shift O", "toggle-componentOrientation"
0N/A });
0N/A
0N/A Object multilineInputMap = new UIDefaults.LazyInputMap(new Object[] {
0N/A "COPY", DefaultEditorKit.copyAction,
0N/A "PASTE", DefaultEditorKit.pasteAction,
0N/A "CUT", DefaultEditorKit.cutAction,
0N/A "control C", DefaultEditorKit.copyAction,
0N/A "control V", DefaultEditorKit.pasteAction,
0N/A "control X", DefaultEditorKit.cutAction,
0N/A "control INSERT", DefaultEditorKit.copyAction,
0N/A "shift INSERT", DefaultEditorKit.pasteAction,
0N/A "shift DELETE", DefaultEditorKit.cutAction,
0N/A "control F", DefaultEditorKit.forwardAction,
0N/A "control B", DefaultEditorKit.backwardAction,
0N/A "control D", DefaultEditorKit.deleteNextCharAction,
0N/A "typed \010", DefaultEditorKit.deletePrevCharAction,
0N/A "DELETE", DefaultEditorKit.deleteNextCharAction,
0N/A "RIGHT", DefaultEditorKit.forwardAction,
0N/A "LEFT", DefaultEditorKit.backwardAction,
0N/A "KP_RIGHT", DefaultEditorKit.forwardAction,
0N/A "KP_LEFT", DefaultEditorKit.backwardAction,
0N/A "shift LEFT", DefaultEditorKit.selectionBackwardAction,
0N/A "shift RIGHT", DefaultEditorKit.selectionForwardAction,
0N/A "control LEFT", DefaultEditorKit.previousWordAction,
0N/A "control RIGHT", DefaultEditorKit.nextWordAction,
0N/A "control shift LEFT", DefaultEditorKit.selectionPreviousWordAction,
0N/A "control shift RIGHT", DefaultEditorKit.selectionNextWordAction,
0N/A "control SLASH", DefaultEditorKit.selectAllAction,
0N/A "HOME", DefaultEditorKit.beginLineAction,
0N/A "END", DefaultEditorKit.endLineAction,
0N/A "shift HOME", DefaultEditorKit.selectionBeginLineAction,
0N/A "shift END", DefaultEditorKit.selectionEndLineAction,
0N/A
0N/A "control N", DefaultEditorKit.downAction,
0N/A "control P", DefaultEditorKit.upAction,
0N/A "UP", DefaultEditorKit.upAction,
0N/A "DOWN", DefaultEditorKit.downAction,
0N/A "KP_UP", DefaultEditorKit.upAction,
0N/A "KP_DOWN", DefaultEditorKit.downAction,
0N/A "PAGE_UP", DefaultEditorKit.pageUpAction,
0N/A "PAGE_DOWN", DefaultEditorKit.pageDownAction,
0N/A "shift PAGE_UP", "selection-page-up",
0N/A "shift PAGE_DOWN", "selection-page-down",
0N/A "ctrl shift PAGE_UP", "selection-page-left",
0N/A "ctrl shift PAGE_DOWN", "selection-page-right",
0N/A "shift UP", DefaultEditorKit.selectionUpAction,
0N/A "shift DOWN", DefaultEditorKit.selectionDownAction,
0N/A "shift KP_UP", DefaultEditorKit.selectionUpAction,
0N/A "shift KP_DOWN", DefaultEditorKit.selectionDownAction,
0N/A "ENTER", DefaultEditorKit.insertBreakAction,
0N/A "TAB", DefaultEditorKit.insertTabAction,
0N/A "control BACK_SLASH", "unselect",
0N/A "control HOME", DefaultEditorKit.beginAction,
0N/A "control END", DefaultEditorKit.endAction,
0N/A "control shift HOME", DefaultEditorKit.selectionBeginAction,
0N/A "control shift END", DefaultEditorKit.selectionEndAction,
0N/A "control T", "next-link-action",
0N/A "control shift T", "previous-link-action",
0N/A "control SPACE", "activate-link-action",
0N/A "control shift O", "toggle-componentOrientation"
0N/A });
0N/A
0N/A Object sliderFocusInsets = new InsetsUIResource( 0, 0, 0, 0 );
0N/A
0N/A Object[] defaults = {
0N/A
0N/A "ScrollBar.background", scrollBarBackground,
0N/A "ScrollBar.foreground", table.get("control"),
0N/A "ScrollBar.track", trackColor,
0N/A "ScrollBar.trackHighlight", trackColor,
0N/A "ScrollBar.thumb", scrollBarBackground,
0N/A "ScrollBar.thumbHighlight", table.get("controlHighlight") ,
0N/A "ScrollBar.thumbDarkShadow", table.get("controlDkShadow"),
0N/A "ScrollBar.thumbShadow", table.get("controlShadow"),
0N/A "ScrollBar.border", loweredBevelBorder,
0N/A "ScrollBar.allowsAbsolutePositioning", Boolean.TRUE,
0N/A "ScrollBar.defaultWidth", Integer.valueOf(17),
0N/A "ScrollBar.focusInputMap",
0N/A new UIDefaults.LazyInputMap(new Object[] {
0N/A "RIGHT", "positiveUnitIncrement",
0N/A "KP_RIGHT", "positiveUnitIncrement",
0N/A "DOWN", "positiveUnitIncrement",
0N/A "KP_DOWN", "positiveUnitIncrement",
0N/A "PAGE_DOWN", "positiveBlockIncrement",
0N/A "ctrl PAGE_DOWN", "positiveBlockIncrement",
0N/A "LEFT", "negativeUnitIncrement",
0N/A "KP_LEFT", "negativeUnitIncrement",
0N/A "UP", "negativeUnitIncrement",
0N/A "KP_UP", "negativeUnitIncrement",
0N/A "PAGE_UP", "negativeBlockIncrement",
0N/A "ctrl PAGE_UP", "negativeBlockIncrement",
0N/A "HOME", "minScroll",
0N/A "END", "maxScroll"
0N/A }),
0N/A
0N/A "ScrollPane.font", dialogPlain12,
0N/A "ScrollPane.background", scrollBarBackground,
0N/A "ScrollPane.foreground", table.get("controlText"),
0N/A "ScrollPane.border", null,
0N/A "ScrollPane.viewportBorder", loweredBevelBorder,
0N/A "ScrollPane.ancestorInputMap",
0N/A new UIDefaults.LazyInputMap(new Object[] {
0N/A "RIGHT", "unitScrollRight",
0N/A "KP_RIGHT", "unitScrollRight",
0N/A "DOWN", "unitScrollDown",
0N/A "KP_DOWN", "unitScrollDown",
0N/A "LEFT", "unitScrollLeft",
0N/A "KP_LEFT", "unitScrollLeft",
0N/A "UP", "unitScrollUp",
0N/A "KP_UP", "unitScrollUp",
0N/A "PAGE_UP", "scrollUp",
0N/A "PAGE_DOWN", "scrollDown",
0N/A "ctrl PAGE_UP", "scrollLeft",
0N/A "ctrl PAGE_DOWN", "scrollRight",
0N/A "ctrl HOME", "scrollHome",
0N/A "ctrl END", "scrollEnd"
0N/A }),
0N/A
0N/A "FormattedTextField.focusInputMap",
0N/A new UIDefaults.LazyInputMap(new Object[] {
0N/A "ctrl C", DefaultEditorKit.copyAction,
0N/A "ctrl V", DefaultEditorKit.pasteAction,
0N/A "ctrl X", DefaultEditorKit.cutAction,
0N/A "COPY", DefaultEditorKit.copyAction,
0N/A "PASTE", DefaultEditorKit.pasteAction,
0N/A "CUT", DefaultEditorKit.cutAction,
0N/A "shift LEFT", DefaultEditorKit.selectionBackwardAction,
0N/A "shift KP_LEFT", DefaultEditorKit.selectionBackwardAction,
0N/A "shift RIGHT", DefaultEditorKit.selectionForwardAction,
0N/A "shift KP_RIGHT", DefaultEditorKit.selectionForwardAction,
0N/A "ctrl LEFT", DefaultEditorKit.previousWordAction,
0N/A "ctrl KP_LEFT", DefaultEditorKit.previousWordAction,
0N/A "ctrl RIGHT", DefaultEditorKit.nextWordAction,
0N/A "ctrl KP_RIGHT", DefaultEditorKit.nextWordAction,
0N/A "ctrl shift LEFT", DefaultEditorKit.selectionPreviousWordAction,
0N/A "ctrl shift KP_LEFT", DefaultEditorKit.selectionPreviousWordAction,
0N/A "ctrl shift RIGHT", DefaultEditorKit.selectionNextWordAction,
0N/A "ctrl shift KP_RIGHT", DefaultEditorKit.selectionNextWordAction,
0N/A "ctrl A", DefaultEditorKit.selectAllAction,
0N/A "HOME", DefaultEditorKit.beginLineAction,
0N/A "END", DefaultEditorKit.endLineAction,
0N/A "shift HOME", DefaultEditorKit.selectionBeginLineAction,
0N/A "shift END", DefaultEditorKit.selectionEndLineAction,
0N/A "typed \010", DefaultEditorKit.deletePrevCharAction,
0N/A "DELETE", DefaultEditorKit.deleteNextCharAction,
0N/A "RIGHT", DefaultEditorKit.forwardAction,
0N/A "LEFT", DefaultEditorKit.backwardAction,
0N/A "KP_RIGHT", DefaultEditorKit.forwardAction,
0N/A "KP_LEFT", DefaultEditorKit.backwardAction,
0N/A "ENTER", JTextField.notifyAction,
0N/A "ctrl BACK_SLASH", "unselect",
0N/A "control shift O", "toggle-componentOrientation",
0N/A "ESCAPE", "reset-field-edit",
0N/A "UP", "increment",
0N/A "KP_UP", "increment",
0N/A "DOWN", "decrement",
0N/A "KP_DOWN", "decrement",
0N/A }),
0N/A
0N/A "TextField.caretForeground", black,
0N/A "TextField.caretBlinkRate", Integer.valueOf(500),
0N/A "TextField.inactiveForeground", table.get("textInactiveText"),
0N/A "TextField.selectionBackground", table.get("textHighlight"),
0N/A "TextField.selectionForeground", table.get("textHighlightText"),
0N/A "TextField.background", table.get("window"),
0N/A "TextField.foreground", table.get("textText"),
0N/A "TextField.font", sansSerifPlain12,
0N/A "TextField.border", textFieldBorder,
0N/A "TextField.focusInputMap", fieldInputMap,
0N/A
0N/A "PasswordField.caretForeground", black,
0N/A "PasswordField.caretBlinkRate", Integer.valueOf(500),
0N/A "PasswordField.inactiveForeground", table.get("textInactiveText"),
0N/A "PasswordField.selectionBackground", table.get("textHighlight"),
0N/A "PasswordField.selectionForeground", table.get("textHighlightText"),
0N/A "PasswordField.background", table.get("window"),
0N/A "PasswordField.foreground", table.get("textText"),
0N/A "PasswordField.font", sansSerifPlain12,
0N/A "PasswordField.border", textFieldBorder,
0N/A "PasswordField.focusInputMap", passwordInputMap,
0N/A
0N/A "TextArea.caretForeground", black,
0N/A "TextArea.caretBlinkRate", Integer.valueOf(500),
0N/A "TextArea.inactiveForeground", table.get("textInactiveText"),
0N/A "TextArea.selectionBackground", table.get("textHighlight"),
0N/A "TextArea.selectionForeground", table.get("textHighlightText"),
0N/A "TextArea.background", table.get("window"),
0N/A "TextArea.foreground", table.get("textText"),
0N/A "TextArea.font", monospacedPlain12,
0N/A "TextArea.border", marginBorder,
0N/A "TextArea.focusInputMap", multilineInputMap
0N/A };
0N/A
0N/A table.putDefaults(defaults);
0N/A }
0N/A}