summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schuster <theBohemian@gmx.net>2006-04-28 12:13:46 +0000
committerRobert Schuster <theBohemian@gmx.net>2006-04-28 12:13:46 +0000
commit88152829d1f306335d45d36dc871480944b6fe25 (patch)
tree6e8cb3cb66b78deec45d93716265550e4b7b1e9f
parent96b7e3ae252e7b8cbcdeab29dcd6f3e6e5916952 (diff)
downloadclasspath-88152829d1f306335d45d36dc871480944b6fe25.tar.gz
Partly fixes PR 27220.
2006-04-28 Robert Schuster <robertschuster@fsfe.org> * javax/swing/text/View.java: (getNextVisualPositionFrom): Call modelToView and viewToModel on parent view.
-rw-r--r--ChangeLog6
-rw-r--r--javax/swing/text/View.java13
2 files changed, 14 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 7c011d3a4..7960ba2d9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,12 @@
2006-04-28 Robert Schuster <robertschuster@fsfe.org>
* javax/swing/text/View.java:
+ (getNextVisualPositionFrom): Call modelToView and viewToModel on parent
+ view.
+
+2006-04-28 Robert Schuster <robertschuster@fsfe.org>
+
+ * javax/swing/text/View.java:
(getNextVisualPositionFrom): Rewritten.
* javax/swing/text/CompositeView.java:
(getNextEastWestVisualPositionFrom): Partly implemented.
diff --git a/javax/swing/text/View.java b/javax/swing/text/View.java
index 80b74f511..d8ad5f585 100644
--- a/javax/swing/text/View.java
+++ b/javax/swing/text/View.java
@@ -734,6 +734,7 @@ public abstract class View implements SwingConstants
{
int ret = pos;
Rectangle r;
+ View parent;
switch (d)
{
@@ -749,14 +750,16 @@ public abstract class View implements SwingConstants
ret = Math.max(pos - 1, getStartOffset());
break;
case NORTH:
- // Try to find a suitable offset by examining the area above.
- r = modelToView(pos, a, b).getBounds();
- ret = viewToModel(r.x, r.y - 1, a, biasRet);
+ // Try to find a suitable offset by examining the area above.
+ parent = getParent();
+ r = parent.modelToView(pos, a, b).getBounds();
+ ret = parent.viewToModel(r.x, r.y - 1, a, biasRet);
break;
case SOUTH:
// Try to find a suitable offset by examining the area below.
- r = modelToView(pos, a, b).getBounds();
- ret = viewToModel(r.x + r.width, r.y + r.height, a, biasRet);
+ parent = getParent();
+ r = parent.modelToView(pos, a, b).getBounds();
+ ret = parent.viewToModel(r.x + r.width, r.y + r.height, a, biasRet);
break;
default:
throw new IllegalArgumentException("Illegal value for d");