+2005-04-22 Roman Kennke <roman@kennke.org>
+
+ * javax/swing/plaf/basic/BasicLookAndFeel.java
+ (initComponentDefaults): Changed Button.border to be
+ BasicBorders.getButtonBorder as it should be.
+
+2005-04-22 Roman Kennke <roman@kennke.org>
+
+ * javax/swing/plaf/basic/BasicTabbedPaneUI.java:
+ (getMaximumSize): Return (Short.MAX_VALUE, Short.MAX_VALUE) as it
+ should according to a mauve testcase, instead of the preferred
+ size.
+
+2005-04-22 Roman Kennke <roman@kennke.org>
+
+ * javax/swing/JMenu.java
+ (add): add(Component) now calls PopupMenu.insert(..) instead of
+ PopupMenu.add(..). add(..) is not implemented for Component,
+ so JComponent.add(..) is called instead, adding the component
+ in the wrong place.
+
+2005-04-22 Roman Kennke <roman@kennke.org>
+
+ * javax/swing/plaf/basic/BasicButtonListener.java
+ (mousePressed): replaced query to getModifiersEx with getModifiers.
+ This method relied on faulty behaviour in getModifierEx.
+ (mouseReleased): replaced query to getModifiersEx with getModifiers.
+ This method relied on faulty behaviour in getModifierEx.
+
+2005-04-22 Roman Kennke <roman@kennke.org>
+
+ * javax/swing/plaf/metal/MetalLookAndFeel.java
+ (getDefaults): Call addCustomEntriesToTable on the theme.
+
+2005-04-22 Roman Kennke <roman@kennke.org>
+
+ * javax/swing/tree/DefaultTreeSelectionModel.java
+ (constructor): Added implementation.
+ (getRowMapper): Added implementation.
+ (setSelectionMode): Added implementation.
+ (getSelectionMode): Added implementation.
+ (getSelectionPath): Added implementation.
+ (getSelectionPaths): Added implementation.
+ (getSelectionCount): Added implementation.
+ (isSelectionEmpty): Added implementation.
+ (getSelectionRows): Added implementation.
+ (getMinSelectionRow): Added implementation.
+ (getMaxSelectionRow): Added implementation.
+ (getLeadSelectionRow): Added implementation.
+ (getLeadSelectionPath): Added implementation.
+
2005-04-22 Casey Marshall <csm@gnu.org>
* gnu/java/security/der/DERValue.java
*/
public Component add(Component component)
{
- return popupMenu.add(component);
+ popupMenu.insert(component, -1);
+ return component;
}
/**
{
AbstractButton button = (AbstractButton) e.getSource();
ButtonModel model = button.getModel();
- if ((e.getModifiersEx() & InputEvent.BUTTON1_DOWN_MASK) != 0)
+ if (e.getButton() == MouseEvent.BUTTON1)
{
// It is important that these transitions happen in this order.
model.setArmed(true);
{
AbstractButton button = (AbstractButton) e.getSource();
ButtonModel model = button.getModel();
- if ((e.getModifiersEx() & InputEvent.BUTTON1_DOWN_MASK) != 0)
+ if (e.getButton() == MouseEvent.BUTTON1)
{
// It is important that these transitions happen in this order.
model.setPressed(false);
"AbstractUndoableEdit.redoText", "Redo",
"Button.background", new ColorUIResource(Color.lightGray),
- "Button.border", BorderUIResource.getEtchedBorderUIResource(),
+ "Button.border",
+ new UIDefaults.LazyValue()
+ {
+ public Object createValue(UIDefaults table)
+ {
+ return BasicBorders.getButtonBorder();
+ }
+ },
"Button.darkShadow", new ColorUIResource(Color.darkGray),
"Button.focusInputMap", new UIDefaults.LazyInputMap(new Object[] {
"SPACE", "pressed",
* This is a helper class that implements UIResource so it is not added as a
* tab when an object of this class is added to the JTabbedPane.
*/
- private static class ScrollingButton extends BasicArrowButton
- implements UIResource
+ private class ScrollingButton extends BasicArrowButton implements UIResource
{
/**
* Creates a ScrollingButton given the direction.
*/
public Dimension getMaximumSize(JComponent c)
{
- return getPreferredSize(c);
+ return new Dimension(Short.MAX_VALUE, Short.MAX_VALUE);
}
/**
if (LAF_defaults == null)
LAF_defaults = super.getDefaults();
+ // add custom theme entries to the table
+ theme.addCustomEntriesToTable(LAF_defaults);
+
// Returns the default values for this look and feel.
return LAF_defaults;
}
*/
public DefaultTreeSelectionModel()
{
- // TODO
+ setSelectionMode(DISCONTIGUOUS_TREE_SELECTION);
}
/**
*/
public RowMapper getRowMapper()
{
- return null; // TODO
+ return rowMapper;
}
/**
* @see {@link #CONTIGUOUS_TREE_SELECTION}
* @see {@link #DISCONTIGUOUS_TREE_SELECTION}
*/
- public void setSelectionMode(int value0)
+ public void setSelectionMode(int mode)
{
- // TODO
+ selectionMode = mode;
}
/**
*/
public int getSelectionMode()
{
- return 0; // TODO
+ return selectionMode;
}
/**
*/
public TreePath getSelectionPath()
{
- return null; // TODO
+ if ((selection == null) || (selection.length == 0))
+ return null;
+ else
+ return selection[0];
}
/**
*/
public TreePath[] getSelectionPaths()
{
- return null; // TODO
+ return selection;
}
/**
*/
public int getSelectionCount()
{
- return 0; // TODO
+ if (selection == null)
+ return 0;
+ else
+ return selection.length;
}
/**
*/
public boolean isSelectionEmpty()
{
- return false; // TODO
+ return ((selection == null) || (selection.length == 0));
}
/**
*/
public int[] getSelectionRows()
{
- return null; // TODO
+ if (rowMapper == null)
+ return null;
+ else
+ return rowMapper.getRowsForPaths(selection);
}
/**
*/
public int getMinSelectionRow()
{
- return 0; // TODO
+ if ((rowMapper == null) || (selection == null) || (selection.length == 0))
+ return -1;
+ else {
+ int[] rows = rowMapper.getRowsForPaths(selection);
+ int minRow = Integer.MAX_VALUE;
+ for (int index = 0; index < rows.length; index++)
+ minRow = Math.min(minRow, rows[index]);
+ return minRow;
+ }
}
/**
*/
public int getMaxSelectionRow()
{
- return 0; // TODO
+ if ((rowMapper == null) || (selection == null) || (selection.length == 0))
+ return -1;
+ else {
+ int[] rows = rowMapper.getRowsForPaths(selection);
+ int maxRow = -1;
+ for (int index = 0; index < rows.length; index++)
+ maxRow = Math.max(maxRow, rows[index]);
+ return maxRow;
+ }
}
/**
*/
public int getLeadSelectionRow()
{
- return 0; // TODO
+ if ((rowMapper == null) || (leadPath == null))
+ return -1;
+ else
+ return rowMapper.getRowsForPaths(new TreePath[]{ leadPath })[0];
}
/**
*/
public TreePath getLeadSelectionPath()
{
- return null; // TODO
+ return leadPath;
}
/**