* javax/swing/plaf/basic/BasicScrollBarUI
(getThumbBounds): Do not make thumb smaller than
minimumThumbSize.
* javax/swing/plaf/metal/MetalLookAndFeel
(initComponentDefaults): Added color defaults for ScrollBar.
* javax/swing/plaf/metal/MetalScrollBarUI
(paintThumb): Added.
(getMinimumThumbSize): Added.
2005-04-27 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/metal/MetalLookAndFeel
(initComponentDefaults): Added some default colors.
2005-04-27 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicScrollBarUI.java
(configureScrollBarColors: Changed key 'ScrollBar.thumbLightShadow'
to 'ScrollBar.thumbShadow'. The formes does not exist.
(paintThumb): Use BasicGraphicsUtils for painting the thumb.
2005-04-27 Roman Kennke <roman@kennke.org>
* java/awt/MediaTracker.java: Added 2005 to copyright statement.
* javax/swing/BoxLayout.java: Likewise.
* javax/swing/UIManager.java: Likewise.
* javax/swing/plaf/basic/BasicButtonListener.java: Likewise.
* javax/swing/plaf/basic/BasicGraphicsUtils.java: Likewise.
* javax/swing/plaf/basic/BasicLookAndFeel.java: Likewise.
* javax/swing/plaf/basic/BasicMenuItemUI.java: Likewise.
* javax/swing/plaf/basic/BasicScrollPaneUI.java: Likewise.
* javax/swing/plaf/metal/MetalLookAndFeel.java: Likewise.
* javax/swing/text/Document.java: Likewise.
* javax/swing/text/GapContent.java: Likewise.
* javax/swing/text/SimpleAttributeSet.java: Likewise.
* javax/swing/tree/DefaultTreeSelectionModel.java: Likewise.
2005-04-27 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicToggleButtonUI.java:
(getPropertyPrefix): Added.
2005-04-27 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicButtonUI.java
(getPropertyPrefix): Added.
(installDefaults): Use getPropertyPrefix instead of hard-coded
prefix.
2005-04-27 Roman Kennke <roman@kennke.org>
* javax/swing/JToggleButton.java
(JToggleButton): Removed horizontalAlignment setting, this
was wrong. Added setting of an actionCommand, ToggleButtons
have "" as default actionCommand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98867
138bc75d-0d04-0410-961f-
82ee72b054a4
+2005-04-27 Roman Kennke <roman@kennke.org>
+
+ * javax/swing/plaf/basic/BasicScrollBarUI
+ (getThumbBounds): Do not make thumb smaller than
+ minimumThumbSize.
+ * javax/swing/plaf/metal/MetalLookAndFeel
+ (initComponentDefaults): Added color defaults for ScrollBar.
+ * javax/swing/plaf/metal/MetalScrollBarUI
+ (paintThumb): Added.
+ (getMinimumThumbSize): Added.
+
+2005-04-27 Roman Kennke <roman@kennke.org>
+
+ * javax/swing/plaf/metal/MetalLookAndFeel
+ (initComponentDefaults): Added some default colors.
+
+2005-04-27 Roman Kennke <roman@kennke.org>
+
+ * javax/swing/plaf/basic/BasicScrollBarUI.java
+ (configureScrollBarColors: Changed key 'ScrollBar.thumbLightShadow'
+ to 'ScrollBar.thumbShadow'. The formes does not exist.
+ (paintThumb): Use BasicGraphicsUtils for painting the thumb.
+
+2005-04-27 Roman Kennke <roman@kennke.org>
+
+ * java/awt/MediaTracker.java: Added 2005 to copyright statement.
+ * javax/swing/BoxLayout.java: Likewise.
+ * javax/swing/UIManager.java: Likewise.
+ * javax/swing/plaf/basic/BasicButtonListener.java: Likewise.
+ * javax/swing/plaf/basic/BasicGraphicsUtils.java: Likewise.
+ * javax/swing/plaf/basic/BasicLookAndFeel.java: Likewise.
+ * javax/swing/plaf/basic/BasicMenuItemUI.java: Likewise.
+ * javax/swing/plaf/basic/BasicScrollPaneUI.java: Likewise.
+ * javax/swing/plaf/metal/MetalLookAndFeel.java: Likewise.
+ * javax/swing/text/Document.java: Likewise.
+ * javax/swing/text/GapContent.java: Likewise.
+ * javax/swing/text/SimpleAttributeSet.java: Likewise.
+ * javax/swing/tree/DefaultTreeSelectionModel.java: Likewise.
+
+2005-04-27 Roman Kennke <roman@kennke.org>
+
+ * javax/swing/plaf/basic/BasicToggleButtonUI.java:
+ (getPropertyPrefix): Added.
+
+2005-04-27 Roman Kennke <roman@kennke.org>
+
+ * javax/swing/plaf/basic/BasicButtonUI.java
+ (getPropertyPrefix): Added.
+ (installDefaults): Use getPropertyPrefix instead of hard-coded
+ prefix.
+
+2005-04-27 Roman Kennke <roman@kennke.org>
+
+ * javax/swing/JToggleButton.java
+ (JToggleButton): Removed horizontalAlignment setting, this
+ was wrong. Added setting of an actionCommand, ToggleButtons
+ have "" as default actionCommand.
+
2005-04-27 Michael Koch <konqueror@gmx.de>
* java/nio/charset/Charset.java (providers2): Renamed from 'providers'
/* MediaTracker.java -- Class used for keeping track of images
- Copyright (C) 1999, 2002i, 2004 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
/* BoxLayout.java -- A layout for swing components.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
{
super(text, icon);
- horizontalAlignment = LEADING;
setModel(new ToggleButtonModel());
model.setSelected(selected);
+ model.setActionCommand("");
}
/**
/* UIManager.java --
- Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
/* BasicButtonListener.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
textShiftOffset = defaultTextShiftOffset;
}
+ /**
+ * Returns the prefix for the UI defaults property for this UI class.
+ * This is 'Button' for this class.
+ *
+ * @return the prefix for the UI defaults property
+ */
+ protected String getPropertyPrefix()
+ {
+ return "Button";
+ }
+
protected void installDefaults(AbstractButton b)
{
UIDefaults defaults = UIManager.getLookAndFeelDefaults();
- focusColor = defaults.getColor("Button.focus");
- b.setForeground(defaults.getColor("Button.foreground"));
- b.setBackground(defaults.getColor("Button.background"));
- b.setMargin(defaults.getInsets("Button.margin"));
- b.setBorder(defaults.getBorder("Button.border"));
- b.setIconTextGap(defaults.getInt("Button.textIconGap"));
+ String prefix = getPropertyPrefix();
+ focusColor = defaults.getColor(prefix + ".focus");
+ b.setForeground(defaults.getColor(prefix + ".foreground"));
+ b.setBackground(defaults.getColor(prefix + ".background"));
+ b.setMargin(defaults.getInsets(prefix + ".margin"));
+ b.setBorder(defaults.getBorder(prefix + ".border"));
+ b.setIconTextGap(defaults.getInt(prefix + ".textIconGap"));
b.setInputMap(JComponent.WHEN_FOCUSED,
- (InputMap) defaults.get("Button.focusInputMap"));
+ (InputMap) defaults.get(prefix + ".focusInputMap"));
b.setOpaque(true);
}
/* BasicGraphicsUtils.java
- Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
/* BasicLookAndFeel.java --
- Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
/* BasicMenuItemUI.java --
- Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
thumbColor = defaults.getColor("ScrollBar.thumb");
thumbHighlightColor = defaults.getColor("ScrollBar.thumbHighlight");
thumbDarkShadowColor = defaults.getColor("ScrollBar.thumbDarkShadow");
- thumbLightShadowColor = defaults.getColor("ScrollBar.thumbLightShadow");
+ thumbLightShadowColor = defaults.getColor("ScrollBar.thumbShadow");
}
/**
thumbRect.x += (value - min) * trackRect.width / (max - min);
thumbRect.y = trackRect.y;
- thumbRect.width = extent * trackRect.width / (max - min);
+ thumbRect.width = Math.max(extent * trackRect.width / (max - min),
+ getMinimumThumbSize().width);
thumbRect.height = trackRect.height;
}
else
thumbRect.y = trackRect.y + value * trackRect.height / (max - min);
thumbRect.width = trackRect.width;
- thumbRect.height = extent * trackRect.height / (max - min);
+ thumbRect.height = Math.max(extent * trackRect.height / (max - min),
+ getMinimumThumbSize().height);
}
return thumbRect;
}
*/
protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds)
{
- Color saved = g.getColor();
- Point x;
- Point y;
- Point z;
- Polygon lines;
-
- g.setColor(thumbHighlightColor);
- x = new Point(thumbBounds.x + 1, thumbBounds.y + 1);
- y = new Point(x);
- y.translate(thumbBounds.width - 2, 0);
- z = new Point(x);
- z.translate(0, thumbBounds.height - 2);
-
- lines = new Polygon(new int[] { x.x, y.x, z.x },
- new int[] { x.y, y.y, z.y }, 3);
-
- g.drawPolygon(lines);
-
- g.setColor(thumbLightShadowColor);
- x = new Point(thumbBounds.x + thumbBounds.width - 1,
- thumbBounds.y + thumbBounds.height - 1);
- y = new Point(x);
- y.translate(-(thumbBounds.width - 2), 0);
- z = new Point(x);
- z.translate(0, -(thumbBounds.height - 2));
-
- lines = new Polygon(new int[] { x.x, y.x, z.x },
- new int[] { x.y, y.y, z.y }, 3);
- g.drawPolygon(lines);
-
- g.setColor(thumbDarkShadowColor);
- x = new Point(thumbBounds.x + thumbBounds.width,
- thumbBounds.y + thumbBounds.height);
- y = new Point(x);
- y.translate(-thumbBounds.width, 0);
- z = new Point(x);
- z.translate(0, -thumbBounds.height);
-
- lines = new Polygon(new int[] { x.x, y.x, z.x },
- new int[] { x.y, y.y, z.y }, 3);
- g.drawPolygon(lines);
-
g.setColor(thumbColor);
g.fillRect(thumbBounds.x, thumbBounds.y, thumbBounds.width,
thumbBounds.height);
- g.setColor(saved);
+ BasicGraphicsUtils.drawBezel(g, thumbBounds.x, thumbBounds.y,
+ thumbBounds.width, thumbBounds.height,
+ false, false, thumbDarkShadowColor,
+ thumbDarkShadowColor, thumbHighlightColor,
+ thumbHighlightColor);
}
/**
/* BasicScrollPaneUI.java
- Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
/* BasicToggleButtonUI.java
- Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
return new BasicToggleButtonUI();
}
+ /**
+ * Returns the prefix for the UI defaults property for this UI class.
+ * This is 'ToggleButton' for this class.
+ *
+ * @return the prefix for the UI defaults property
+ */
+ protected String getPropertyPrefix()
+ {
+ return "ToggleButton";
+ }
}
/* MetalLookAndFeel.java
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
Object[] myDefaults = new Object[] {
"Button.background", new ColorUIResource(getControl()),
"Button.border", MetalBorders.getButtonBorder(),
+ "Button.darkShadow", new ColorUIResource(getControlDarkShadow()),
+ "Button.disabledText", new ColorUIResource(getControlDisabled()),
+ "Button.focus", new ColorUIResource(getFocusColor()),
"Button.font", getControlTextFont(),
+ "Button.foreground", new ColorUIResource(getSystemTextColor()),
+ "Button.highlight", new ColorUIResource(getControlHighlight()),
+ "Button.light", new ColorUIResource(getControlHighlight()),
"Button.margin", new Insets(2, 14, 2, 14),
+ "Button.select", new ColorUIResource(getPrimaryControlShadow()),
+ "Button.shadow", new ColorUIResource(getPrimaryControlShadow()),
"CheckBox.background", new ColorUIResource(getControl()),
"CheckBoxMenuItem.background", new ColorUIResource(getControl()),
"ToolBar.background", new ColorUIResource(getControl()),
"TabbedPane.background", new ColorUIResource(getControl()),
"Label.background", new ColorUIResource(getControl()),
"Label.font", getControlTextFont(),
+ "Label.disabledForeground", new ColorUIResource(getControlDisabled()),
+ "Label.foreground", new ColorUIResource(getSystemTextColor()),
"Menu.background", new ColorUIResource(getControl()),
"Menu.font", getControlTextFont(),
"MenuBar.background", new ColorUIResource(getControl()),
"MenuItem.background", new ColorUIResource(getControl()),
"MenuItem.font", getControlTextFont(),
"ScrollBar.background", new ColorUIResource(getControl()),
+ "ScrollBar.shadow", new ColorUIResource(getControlShadow()),
+ "ScrollBar.thumb", new ColorUIResource(getPrimaryControlShadow()),
+ "ScrollBar.thumbDarkShadow",
+ new ColorUIResource(getPrimaryControlDarkShadow()),
+ "ScrollBar.thumbHighlight",
+ new ColorUIResource(getPrimaryControl()),
"PopupMenu.border", new MetalBorders.PopupMenuBorder()
};
defaults.putDefaults(myDefaults);
package javax.swing.plaf.metal;
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.Rectangle;
import java.util.HashMap;
import javax.swing.JComponent;
+import javax.swing.UIDefaults;
+import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicScrollBarUI;
extends BasicScrollBarUI
{
+ /** The minimum thumb size */
+ private static final Dimension MIN_THUMB_SIZE = new Dimension(18, 18);
+
// FIXME: maybe replace by a Map of instances when this becomes stateful
/** The shared UI instance for JScrollBars. */
private static HashMap instances = null;
return instance;
}
+
+ /**
+ * Paints the slider button of the ScrollBar.
+ *
+ * @param g the Graphics context to use
+ * @param c the JComponent on which we paint
+ * @param thumbBounds the rectangle that is the slider button
+ */
+ protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds)
+ {
+ // first we fill the background
+ g.setColor(thumbColor);
+ g.fillRect(thumbBounds.x, thumbBounds.y, thumbBounds.width,
+ thumbBounds.height);
+
+ // draw the outer dark line
+ g.setColor(thumbDarkShadowColor);
+ g.drawRect(thumbBounds.x, thumbBounds.y, thumbBounds.width - 1,
+ thumbBounds.height - 1);
+
+ // draw the inner light line
+ g.setColor(thumbHighlightColor);
+ g.drawLine(thumbBounds.x + 1, thumbBounds.y + 1,
+ thumbBounds.x + thumbBounds.width - 2,
+ thumbBounds.y + 1);
+ g.drawLine(thumbBounds.x + 1, thumbBounds.y + 1,
+ thumbBounds.x + 1,
+ thumbBounds.y + thumbBounds.height - 2);
+
+ // draw the shadow line
+ UIDefaults def = UIManager.getLookAndFeelDefaults();
+ g.setColor(def.getColor("ScrollBar.shadow"));
+ g.drawLine(thumbBounds.x + 1, thumbBounds.y + thumbBounds.height,
+ thumbBounds.x + thumbBounds.width,
+ thumbBounds.y + thumbBounds.height);
+
+ // draw the pattern
+ int xOff = 0;
+ for (int y = thumbBounds.y + 4;
+ y < (thumbBounds.y + thumbBounds.height - 4); y++)
+ {
+ // set color alternating with every line
+ if ((y % 2) == 0)
+ g.setColor(thumbHighlightColor);
+ else
+ g.setColor(thumbDarkShadowColor);
+
+ for (int x = thumbBounds.x + 3 + (xOff);
+ x < (thumbBounds.x + thumbBounds.width - 3); x = x + 4)
+ {
+ g.drawLine(x, y, x, y);
+ }
+
+ // increase x offset
+ xOff++;
+ if (xOff > 3)
+ xOff = 0;
+
+ }
+ }
+
+ /**
+ * This method returns the minimum thumb size.
+ *
+ * @return The minimum thumb size.
+ */
+ protected Dimension getMinimumThumbSize()
+ {
+ return MIN_THUMB_SIZE;
+ }
}
/* Document.java --
- Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
/* GapContent.java --
- Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
/* SimpleAttributeSet.java --
- Copyright (C) 2004 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
/* DefaultTreeSelectionModel.java --
- Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.