Imported GNU Classpath 0.90

Imported GNU Classpath 0.90
       * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale.

       * sources.am: Regenerated.
       * gcj/javaprims.h: Regenerated.
       * Makefile.in: Regenerated.
       * gcj/Makefile.in: Regenerated.
       * include/Makefile.in: Regenerated.
       * testsuite/Makefile.in: Regenerated.

       * gnu/java/lang/VMInstrumentationImpl.java: New override.
       * gnu/java/net/local/LocalSocketImpl.java: Likewise.
       * gnu/classpath/jdwp/VMMethod.java: Likewise.
       * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest
       interface.
       * java/lang/Thread.java: Add UncaughtExceptionHandler.
       * java/lang/reflect/Method.java: Implements GenericDeclaration and
       isSynthetic(),
       * java/lang/reflect/Field.java: Likewise.
       * java/lang/reflect/Constructor.java
       * java/lang/Class.java: Implements Type, GenericDeclaration,
       getSimpleName() and getEnclosing*() methods.
       * java/lang/Class.h: Add new public methods.
       * java/lang/Math.java: Add signum(), ulp() and log10().
       * java/lang/natMath.cc (log10): New function.
       * java/security/VMSecureRandom.java: New override.
       * java/util/logging/Logger.java: Updated to latest classpath
       version.
       * java/util/logging/LogManager.java: New override.

From-SVN: r113887
This commit is contained in:
Mark Wielaard 2006-05-18 17:29:21 +00:00
parent eaec4980e1
commit 4f9533c772
1640 changed files with 126485 additions and 104808 deletions

View file

@ -1,5 +1,5 @@
/* JTextField.java --
Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -42,6 +42,7 @@ import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Insets;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
@ -110,8 +111,7 @@ public class JTextField extends JTextComponent
private int columns;
private int align;
private int scrollOffset;
/** @since 1.3 */
private Action action;
@ -184,6 +184,9 @@ public class JTextField extends JTextComponent
this.columns = columns;
// Initialize the horizontal visibility model.
horizontalVisibility = new DefaultBoundedRangeModel();
setDocument(doc == null ? createDefaultModel() : doc);
if (text != null)
@ -191,9 +194,6 @@ public class JTextField extends JTextComponent
// default value for alignment
align = LEADING;
// Initialize the horizontal visibility model.
horizontalVisibility = new DefaultBoundedRangeModel();
}
/**
@ -270,7 +270,7 @@ public class JTextField extends JTextComponent
*/
protected void fireActionPerformed()
{
ActionEvent event = new ActionEvent(this, 0, notifyAction);
ActionEvent event = new ActionEvent(this, 0, getText());
ActionListener[] listeners = getActionListeners();
for (int index = 0; index < listeners.length; ++index)
@ -368,8 +368,7 @@ public class JTextField extends JTextComponent
*/
public int getScrollOffset()
{
//FIXME: this should return horizontalVisibility's value
return scrollOffset;
return horizontalVisibility.getValue();
}
/**
@ -379,8 +378,13 @@ public class JTextField extends JTextComponent
*/
public void setScrollOffset(int offset)
{
//FIXME: this should actualy scroll the field if needed
scrollOffset = offset;
// Automatically sets to the highest possible value if
// offset is bigger than that.
horizontalVisibility.setValue(
Math.min(horizontalVisibility.getMaximum()
- horizontalVisibility.getExtent(),
offset));
}
/**
@ -525,9 +529,6 @@ public class JTextField extends JTextComponent
*/
public BoundedRangeModel getHorizontalVisibility()
{
// TODO: The real implementation of this property is still missing.
// However, this is not done in JTextField but must instead be handled in
// javax.swing.text.FieldView.
return horizontalVisibility;
}
@ -544,4 +545,25 @@ public class JTextField extends JTextComponent
{
return ! (getParent() instanceof JViewport);
}
public void scrollRectToVisible(Rectangle r)
{
int v = horizontalVisibility.getValue();
// The extent value is the inner width of the text field.
int e = horizontalVisibility.getExtent();
Insets i = getInsets();
// The x value in the rectangle (usually) denotes the new location
// of the caret. We check whether the location lies inside the left or
// right border and scroll into the appropriate direction.
// The calculation has to be shifted by the BoundedRangeModel's value
// because that value was already used to calculate r.x (this happens
// as part of a modelToView() call in FieldView).
if (r.x < i.left)
setScrollOffset(v + r.x - i.left);
else if (r.x > e + i.left)
setScrollOffset(r.x + v - e - i.left);
}
}