aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/javax/swing/LookAndFeel.java
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2016-09-30 16:24:48 +0000
committerAndrew Haley <aph@gcc.gnu.org>2016-09-30 16:24:48 +0000
commit07b78716af6a9d7c9fd1e94d9baf94a52c873947 (patch)
tree3f22b3241c513ad168c8353805614ae1249410f4 /libjava/classpath/javax/swing/LookAndFeel.java
parenteae993948bae8b788c53772bcb9217c063716f93 (diff)
downloadgcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.zip
gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.tar.gz
gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.tar.bz2
Makefile.def: Remove libjava.
2016-09-30 Andrew Haley <aph@redhat.com> * Makefile.def: Remove libjava. * Makefile.tpl: Likewise. * Makefile.in: Regenerate. * configure.ac: Likewise. * configure: Likewise. * gcc/java: Remove. * libjava: Likewise. From-SVN: r240662
Diffstat (limited to 'libjava/classpath/javax/swing/LookAndFeel.java')
-rw-r--r--libjava/classpath/javax/swing/LookAndFeel.java433
1 files changed, 0 insertions, 433 deletions
diff --git a/libjava/classpath/javax/swing/LookAndFeel.java b/libjava/classpath/javax/swing/LookAndFeel.java
deleted file mode 100644
index aec6ebb..0000000
--- a/libjava/classpath/javax/swing/LookAndFeel.java
+++ /dev/null
@@ -1,433 +0,0 @@
-/* LookAndFeel.java --
- Copyright (C) 2002, 2004, 2005, 2006, Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-package javax.swing;
-
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.Font;
-import java.awt.Toolkit;
-import java.net.URL;
-
-import javax.swing.border.Border;
-import javax.swing.plaf.ComponentInputMapUIResource;
-import javax.swing.plaf.IconUIResource;
-import javax.swing.plaf.InputMapUIResource;
-import javax.swing.plaf.UIResource;
-import javax.swing.plaf.metal.MetalLookAndFeel;
-import javax.swing.text.JTextComponent;
-
-/**
- * A <i>look-and-feel</i> controls most aspects of the appearance and
- * operation of user interface components in <code>javax.swing</code>. A
- * cross-platform look-and-feel (the {@link MetalLookAndFeel}) is provided.
- *
- * @see UIManager#getInstalledLookAndFeels()
- * @see UIManager#setLookAndFeel(LookAndFeel)
- */
-public abstract class LookAndFeel
-{
- /**
- * Creates and returns a look-and-feel specific defaults table. This method
- * is called once by {@link UIManager#setLookAndFeel(LookAndFeel)} and
- * shouldn't be called again (as it creates a large table of defaults).
- *
- * @return The UI defaults.
- */
- public UIDefaults getDefaults()
- {
- return null;
- }
-
- /**
- * Returns a description of the look and feel.
- *
- * @return A description of the look and feel.
- */
- public abstract String getDescription();
-
- /**
- * Returns the value of <code>Toolkit.getDefaultToolkit()
- * .getDesktopProperty(systemPropertyName)</code>, or
- * <code>fallbackValue</code> if no such property is defined.
- *
- * @param systemPropertyName the system property name.
- * @param fallbackValue the fallback value.
- *
- * @return The property value or <code>fallbackValue</code>.
- */
- public static Object getDesktopPropertyValue(String systemPropertyName,
- Object fallbackValue)
- {
- Object value = Toolkit.getDefaultToolkit().getDesktopProperty(
- systemPropertyName);
- return value != null ? value : fallbackValue;
- }
-
- /**
- * Returns an identifier for the look and feel.
- *
- * @return An identifier for the look and feel.
- */
- public abstract String getID();
-
- /**
- * Returns the name for the look and feel.
- *
- * @return The name for the look and feel.
- */
- public abstract String getName();
-
- /**
- * Returns <code>true</code> when the look-and-feel supports window
- * decorations, and <code>false</code> otherwise. This default implementation
- * always returns <code>false</code> and needs to be overridden when the
- * derived look-and-feel supports this.
- *
- * @return <code>false</code>.
- *
- * @since 1.4
- */
- public boolean getSupportsWindowDecorations()
- {
- return false;
- }
-
- /**
- * Initializes the look-and-feel. The
- * {@link UIManager#setLookAndFeel(LookAndFeel)} method calls this method
- * before the first call (and typically the only call) to
- * {@link #getDefaults()}. This default implementation does nothing, but
- * subclasses can override this behaviour.
- */
- public void initialize()
- {
- // We do nothing here. This method is meant to be overridden by
- // LookAndFeel implementations.
- }
-
- /**
- * Convenience method for installing a component's default {@link Border}
- * object on the specified component if either the border is currently
- * <code>null</code> or already an instance of {@link UIResource}.
- *
- * @param c the component (<code>null</code> not permitted).
- * @param defaultBorderName the border name (for lookup in the UIDefaults
- * table).
- */
- public static void installBorder(JComponent c, String defaultBorderName)
- {
- Border b = c.getBorder();
- if (b == null || b instanceof UIResource)
- c.setBorder(UIManager.getBorder(defaultBorderName));
- }
-
- /**
- * Convenience method for initializing a component's foreground and
- * background color properties with values from the current defaults table.
- *
- * @param c the component (<code>null</code> not permitted).
- * @param defaultBgName the key for the background color in the UIDefaults
- * table.
- * @param defaultFgName the key for the foreground color in the UIDefaults
- * table.
- */
- public static void installColors(JComponent c, String defaultBgName,
- String defaultFgName)
- {
- // Install background.
- Color bg = c.getBackground();
- if (bg == null || bg instanceof UIResource)
- c.setBackground(UIManager.getColor(defaultBgName));
-
- // Install foreground.
- Color fg = c.getForeground();
- if (fg == null || fg instanceof UIResource)
- c.setForeground(UIManager.getColor(defaultFgName));
- }
-
- /**
- * Convenience method for initializing a component's foreground, background
- * and font properties with values from the current defaults table.
- *
- * @param component the component (<code>null</code> not permitted).
- * @param defaultBgName the key for the background color in the UIDefaults
- * table.
- * @param defaultFgName the key for the foreground color in the UIDefaults
- * table.
- * @param defaultFontName the key for the font in the UIDefaults table.
- */
- public static void installColorsAndFont(JComponent component,
- String defaultBgName,
- String defaultFgName,
- String defaultFontName)
- {
- // Install colors.
- installColors(component, defaultBgName, defaultFgName);
- // Install font.
- Font f = component.getFont();
- if (f == null || f instanceof UIResource)
- component.setFont(UIManager.getFont(defaultFontName));
- }
-
- /**
- * Returns <code>true</code> if the look-and-feel is the "native"
- * look-and-feel for the current platform, and <code>false</code> otherwise.
- * A native look-and-feel emulates the appearance and behaviour of the
- * default windowing system on the host operating system.
- *
- * @return A flag indicating whether or not this is the native look and feel
- * for the current platform.
- */
- public abstract boolean isNativeLookAndFeel();
-
- /**
- * Returns <code>true</code> if the look-and-feel is supported on the
- * current operating system, and <code>false</code> otherwise. This
- * mechanism is provided so that it is possible to prevent a look-and-feel
- * from being used on some operating systems (usually for legal, not
- * technical, reasons).
- *
- * @return A flag indicating whether or not the look-and-feel is supported
- * on the current platform.
- */
- public abstract boolean isSupportedLookAndFeel();
-
- /**
- * Loads the bindings in keys into retMap. Does not remove existing entries
- * from retMap. <code>keys</code> describes the InputMap, every even indexed
- * item is either a KeyStroke or a String representing a KeyStroke and every
- * odd indexed item is the Object associated with that KeyStroke in an
- * ActionMap.
- *
- * @param retMap the InputMap into which we load bindings
- * @param keys the Object array describing the InputMap as above
- */
- public static void loadKeyBindings(InputMap retMap, Object[] keys)
- {
- if (keys == null)
- return;
- for (int i = 0; i < keys.length - 1; i += 2)
- {
- Object key = keys[i];
- KeyStroke keyStroke;
- if (key instanceof KeyStroke)
- keyStroke = (KeyStroke) key;
- else
- keyStroke = KeyStroke.getKeyStroke((String) key);
- retMap.put(keyStroke, keys[i + 1]);
- }
- }
-
- /**
- * Creates a ComponentInputMap from keys.
- * <code>keys</code> describes the InputMap, every even indexed
- * item is either a KeyStroke or a String representing a KeyStroke and every
- * odd indexed item is the Object associated with that KeyStroke in an
- * ActionMap.
- *
- * @param c the JComponent associated with the ComponentInputMap
- * @param keys the Object array describing the InputMap as above
- *
- * @return A new input map.
- */
- public static ComponentInputMap makeComponentInputMap(JComponent c,
- Object[] keys)
- {
- ComponentInputMap retMap = new ComponentInputMapUIResource(c);
- loadKeyBindings(retMap, keys);
- return retMap;
- }
-
- /**
- * Utility method that creates a UIDefaults.LazyValue that creates an
- * ImageIcon UIResource for the specified gifFile filename.
- *
- * @param baseClass the base class for accessing the icon resource.
- * @param gifFile the file name.
- *
- * @return A {@link UIDefaults.LazyValue} that serves up an
- * {@link IconUIResource}.
- */
- public static Object makeIcon(Class<?> baseClass, String gifFile)
- {
- final URL file = baseClass.getResource(gifFile);
- return new UIDefaults.LazyValue()
- {
- public Object createValue(UIDefaults table)
- {
- return new IconUIResource(new ImageIcon(file));
- }
- };
- }
-
- /**
- * Creates a InputMap from keys.
- * <code>keys</code> describes the InputMap, every even indexed
- * item is either a KeyStroke or a String representing a KeyStroke and every
- * odd indexed item is the Object associated with that KeyStroke in an
- * ActionMap.
- *
- * @param keys the Object array describing the InputMap as above
- *
- * @return A new input map.
- */
- public static InputMap makeInputMap(Object[] keys)
- {
- InputMap retMap = new InputMapUIResource();
- loadKeyBindings(retMap, keys);
- return retMap;
- }
-
- /**
- * Convenience method for building lists of KeyBindings.
- * <code>keyBindingList</code> is an array of KeyStroke-Action pairs where
- * even indexed elements are KeyStrokes or Strings representing KeyStrokes
- * and odd indexed elements are the associated Actions.
- *
- * @param keyBindingList the array of KeyStroke-Action pairs
- * @return a JTextComponent.KeyBinding array
- */
- public static JTextComponent.KeyBinding[] makeKeyBindings(
- Object[] keyBindingList)
- {
- JTextComponent.KeyBinding[] retBindings =
- new JTextComponent.KeyBinding[keyBindingList.length / 2];
- for (int i = 0; i < keyBindingList.length - 1; i += 2)
- {
- KeyStroke stroke;
- if (keyBindingList[i] instanceof KeyStroke)
- stroke = (KeyStroke) keyBindingList[i];
- else
- stroke = KeyStroke.getKeyStroke((String) keyBindingList[i]);
- retBindings[i / 2] = new JTextComponent.KeyBinding(stroke,
- (String) keyBindingList[i + 1]);
- }
- return retBindings;
- }
-
- /**
- * Invoked when the user attempts an invalid operation. The default
- * implementation just beeps. Subclasses that wish to change this need to
- * override this method.
- *
- * @param component the component the error occured in
- */
- public void provideErrorFeedback(Component component)
- {
- Toolkit.getDefaultToolkit().beep();
- }
-
- /**
- * Returns a string that displays and identifies this object's properties.
- *
- * @return string containing the description and class name.
- */
- public String toString()
- {
- return getDescription() + " " + getClass().getName();
- }
-
- /**
- * UIManager.setLookAndFeel calls this method just before we're replaced by
- * a new default look and feel.
- */
- public void uninitialize()
- {
- // We do nothing here. This method is meant to be overridden by
- // LookAndFeel implementations.
- }
-
- /**
- * Convenience method for un-installing a component's default border on the
- * specified component if the border is currently an instance of UIResource.
- *
- * @param c the component (<code>null</code> not permitted).
- */
- public static void uninstallBorder(JComponent c)
- {
- if (c.getBorder() instanceof UIResource)
- c.setBorder(null);
- }
-
- /**
- * This methods installs a UI property if it hasn't already been set by an
- * application. This method is used by UI delegates that install a default
- * value for a property with a primitive type but do not want to override
- * a value that has been set by an application.
- *
- * The supported properties depend on the actual type of the component and
- * are listed in the table below. The supported properties are of course
- * inherited to subclasses.
- *
- * <table>
- * <tr><th>Type</th><th>Supported properties</th></tr>
- * <tr><td><code>JComponent</code></td>
- * <td><code>opaque, autoscrolls</code></td></tr>
- * <tr><td><code>AbstractButton</code></td>
- * <td><code>borderPainted, rolloverEnabled, iconTextGap,
- * contentAreaFilled</code></td></tr>
- * <tr><td><code>JDesktopPane</code></td>
- * <td><code>dragMode</code></td></tr>
- * <tr><td><code>JSplitPane</code></td>
- * <td><code>dividerSize, oneTouchExpandable</code></td></tr>
- * <tr><td><code>JTable</code></td>
- * <td><code>rowHeight</code></td></tr>
- * <tr><td><code>JTree</code></td>
- * <td><code>rowHeight, scrollsOnExpand, showsRootHandles</code></td></tr>
- * </table>
- *
- * @param c the component to install the property to
- * @param propertyName the name of the property
- * @param value the value of the property
- *
- * @throws IllegalArgumentException if the specified property cannot be set
- * by this method
- * @throws ClassCastException if the property value does not match the
- * property type
- * @throws NullPointerException if <code>c</code> or
- * <code>propertyValue</code> is <code>null</code>
- *
- * @since 1.5
- */
- public static void installProperty(JComponent c, String propertyName,
- Object value)
- {
- c.setUIProperty(propertyName, value);
- }
-}