aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2005-01-24 18:49:53 +0000
committerMichael Koch <konqueror@gmx.de>2005-01-24 18:49:53 +0000
commit990b38f65a42bf7bc3f40b32c8b2c829aaee6285 (patch)
treee5884b8ea9bc24f626723359de6a47f968860e78
parent660e4655d01a84252d4d90c836358c21f926efa2 (diff)
2005-01-24 Michael Koch <konqueror@gmx.de>
* javax/swing/plaf/basic/BasicTextUI.java (RootView.modelToView): Made it public and return a java.awt.Shape. Handle null subview. (uninstall): Set textComponent to null when its not possible used anymore. * javax/swing/text/View.java (setParent): Use better argument name. (getContainer): Get parent via getParent(). (getViewFactory): Likewise. (getAttributes): Get element via getElement(). (getStartOffset): Likewise. (getEndOffset): Likewise. (getResizeWeight): New method. (getMaximumSpan): Likewise. (getMinimumSpan): Likewise. (setSize): Likewise. (getGraphics): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/java-gui-branch@94172 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog20
-rw-r--r--libjava/javax/swing/plaf/basic/BasicTextUI.java18
-rw-r--r--libjava/javax/swing/text/View.java49
3 files changed, 75 insertions, 12 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index ba935fb64d0..ec243b9ab3a 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,23 @@
+2005-01-24 Michael Koch <konqueror@gmx.de>
+
+ * javax/swing/plaf/basic/BasicTextUI.java
+ (RootView.modelToView): Made it public and return a java.awt.Shape.
+ Handle null subview.
+ (uninstall): Set textComponent to null when its not possible used
+ anymore.
+ * javax/swing/text/View.java
+ (setParent): Use better argument name.
+ (getContainer): Get parent via getParent().
+ (getViewFactory): Likewise.
+ (getAttributes): Get element via getElement().
+ (getStartOffset): Likewise.
+ (getEndOffset): Likewise.
+ (getResizeWeight): New method.
+ (getMaximumSpan): Likewise.
+ (getMinimumSpan): Likewise.
+ (setSize): Likewise.
+ (getGraphics): Likewise.
+
2005-01-24 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/awt/Checkbox.java:
diff --git a/libjava/javax/swing/plaf/basic/BasicTextUI.java b/libjava/javax/swing/plaf/basic/BasicTextUI.java
index 28fa24c3db0..a94ca2bb420 100644
--- a/libjava/javax/swing/plaf/basic/BasicTextUI.java
+++ b/libjava/javax/swing/plaf/basic/BasicTextUI.java
@@ -1,5 +1,5 @@
-/* BasicTextUI.java
- Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+/* BasicTextUI.java --
+ Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -104,6 +104,8 @@ public abstract class BasicTextUI extends TextUI
super(null);
}
+ // View methods.
+
public ViewFactory getViewFactory()
{
// FIXME: Handle EditorKit somehow.
@@ -140,9 +142,12 @@ public abstract class BasicTextUI extends TextUI
view.paint(g, s);
}
- protected Rectangle modelToView(int position, Shape a, Position.Bias bias)
+ public Shape modelToView(int position, Shape a, Position.Bias bias)
throws BadLocationException
{
+ if (view == null)
+ return null;
+
return ((PlainView) view).modelToView(position, a, bias).getBounds();
}
}
@@ -327,11 +332,12 @@ public abstract class BasicTextUI extends TextUI
rootView.setView(null);
textComponent.removePropertyChangeListener(updateHandler);
- textComponent = null;
uninstallDefaults();
uninstallListeners();
uninstallKeyboardActions();
+
+ textComponent = null;
}
protected void uninstallDefaults()
@@ -442,13 +448,13 @@ public abstract class BasicTextUI extends TextUI
public View create(Element elem)
{
- // subclasses have to implement this to get this functionality
+ // Subclasses have to implement this to get this functionality.
return null;
}
public View create(Element elem, int p0, int p1)
{
- // subclasses have to implement this to get this functionality
+ // Subclasses have to implement this to get this functionality.
return null;
}
diff --git a/libjava/javax/swing/text/View.java b/libjava/javax/swing/text/View.java
index 0c9eefe7c65..498bb09f28d 100644
--- a/libjava/javax/swing/text/View.java
+++ b/libjava/javax/swing/text/View.java
@@ -1,5 +1,5 @@
/* View.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.
@@ -35,6 +35,7 @@ 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.text;
import java.awt.Container;
@@ -69,9 +70,9 @@ public abstract class View implements SwingConstants
public abstract void paint(Graphics g, Shape s);
- public void setParent(View a)
+ public void setParent(View parent)
{
- parent = a;
+ this.parent = parent;
}
public View getParent()
@@ -87,6 +88,7 @@ public abstract class View implements SwingConstants
public Container getContainer()
{
+ View parent = getParent();
return parent != null ? parent.getContainer() : null;
}
@@ -101,6 +103,32 @@ public abstract class View implements SwingConstants
}
public abstract float getPreferredSpan(int axis);
+
+ public int getResizeWeight(int axis)
+ {
+ return 0;
+ }
+
+ public float getMaximumSpan(int axis)
+ {
+ if (getResizeWeight(axis) <= 0)
+ return getPreferredSpan(axis);
+
+ return Integer.MAX_VALUE;
+ }
+
+ public float getMinimumSpan(int axis)
+ {
+ if (getResizeWeight(axis) <= 0)
+ return getPreferredSpan(axis);
+
+ return Integer.MAX_VALUE;
+ }
+
+ public void setSize(float width, float height)
+ {
+ // The default implementation does nothing.
+ }
public float getAlignment(int axis)
{
@@ -109,7 +137,7 @@ public abstract class View implements SwingConstants
public AttributeSet getAttributes()
{
- return elt.getAttributes();
+ return getElement().getAttributes();
}
public boolean isVisible()
@@ -129,6 +157,7 @@ public abstract class View implements SwingConstants
public ViewFactory getViewFactory()
{
+ View parent = getParent();
return parent != null ? parent.getViewFactory() : null;
}
@@ -167,12 +196,12 @@ public abstract class View implements SwingConstants
public int getStartOffset()
{
- return elt.getStartOffset();
+ return getElement().getStartOffset();
}
public int getEndOffset()
{
- return elt.getEndOffset();
+ return getElement().getEndOffset();
}
public Shape getChildAllocation(int index, Shape a)
@@ -205,5 +234,13 @@ public abstract class View implements SwingConstants
return null;
}
+
+ /**
+ * @since 1.3
+ */
+ public Graphics getGraphics()
+ {
+ return getContainer().getGraphics();
+ }
}