diff options
author | Mark Wielaard <mark@klomp.org> | 2006-12-08 08:46:31 +0000 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2006-12-08 08:46:31 +0000 |
commit | 7239524f011fcdd11f1b9da4d299496d8e91830e (patch) | |
tree | b1af5fcf132b520540817a5fa5207540f4fa5615 | |
parent | 3ffa3b8a898b92413c2f8af27158fe3f1e4ec5e7 (diff) | |
download | classpath-7239524f011fcdd11f1b9da4d299496d8e91830e.tar.gz |
2006-12-06 Thomas Fitzsimmons <fitzsim@redhat.com>
* java/awt/ScrollPane.java (addNotify): Add a parent panel for any
lightweight component, not just for non-Panel components.
(addImpl): Do not call doLayout.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
(setNativeBounds): Ensure widget parent is a GtkFixed before
calling gtk_fixed_move.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
(setNativeBounds): Likewise.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
(setNativeBounds): Likewise.
2006-12-04 Thomas Fitzsimmons <fitzsim@redhat.com>
* java/awt/Component.java (getFontImpl): Return a default font if
topmost parent's font is null.
-rw-r--r-- | ChangeLog | 18 | ||||
-rw-r--r-- | java/awt/Component.java | 2 | ||||
-rw-r--r-- | java/awt/ScrollPane.java | 4 | ||||
-rw-r--r-- | native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c | 2 | ||||
-rw-r--r-- | native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c | 18 | ||||
-rw-r--r-- | native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c | 2 |
6 files changed, 32 insertions, 14 deletions
@@ -1,3 +1,21 @@ +2006-12-06 Thomas Fitzsimmons <fitzsim@redhat.com> + + * java/awt/ScrollPane.java (addNotify): Add a parent panel for any + lightweight component, not just for non-Panel components. + (addImpl): Do not call doLayout. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c + (setNativeBounds): Ensure widget parent is a GtkFixed before + calling gtk_fixed_move. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c + (setNativeBounds): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (setNativeBounds): Likewise. + +2006-12-04 Thomas Fitzsimmons <fitzsim@redhat.com> + + * java/awt/Component.java (getFontImpl): Return a default font if + topmost parent's font is null. + 2006-12-04 Mark Wielaard <mark@klomp.org> * javax/swing/text/html/CSS.java (parseMarginShorthand): diff --git a/java/awt/Component.java b/java/awt/Component.java index 4b2c4496a..b6eadabbb 100644 --- a/java/awt/Component.java +++ b/java/awt/Component.java @@ -1203,6 +1203,8 @@ public abstract class Component Component p = parent; if (p != null) f = p.getFontImpl(); + else + f = new Font("Dialog", Font.PLAIN, 12); } return f; } diff --git a/java/awt/ScrollPane.java b/java/awt/ScrollPane.java index 6d7994dab..35a81300d 100644 --- a/java/awt/ScrollPane.java +++ b/java/awt/ScrollPane.java @@ -414,7 +414,7 @@ addNotify() super.addNotify(); Component[] list = getComponents(); - if (list != null && list.length > 0 && ! (list[0] instanceof Panel)) + if (list != null && list.length > 0 && list[0].isLightweight()) { Panel panel = new Panel(); panel.setLayout(new BorderLayout()); @@ -454,8 +454,6 @@ removeNotify() remove(list[0]); super.addImpl(component, constraints, index); - - doLayout(); } /*************************************************************************/ diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c index 6a9066cbe..1099287e2 100644 --- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c +++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c @@ -353,7 +353,7 @@ Java_gnu_java_awt_peer_gtk_GtkButtonPeer_setNativeBounds /* ...and the label's size request. */ gtk_widget_set_size_request (gtk_bin_get_child (GTK_BIN (child)), width, height); - if (widget->parent != NULL) + if (widget->parent != NULL && GTK_IS_FIXED (widget->parent)) gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y); } diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c index 39524eea0..d2025bb70 100644 --- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c +++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c @@ -659,16 +659,16 @@ Java_gnu_java_awt_peer_gtk_GtkComponentPeer_setNativeBounds width = width < 0 ? 0 : width; height = height < 0 ? 0 : height; - if (GTK_IS_VIEWPORT (widget->parent)) - gtk_widget_set_size_request (widget, width, height); - else + if (!(width == 0 && height == 0)) { - if (!(width == 0 && height == 0)) - { - gtk_widget_set_size_request (widget, width, height); - if (widget->parent != NULL) - gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y); - } + gtk_widget_set_size_request (widget, width, height); + /* The GTK_IS_FIXED check here prevents gtk_fixed_move being + called when our parent is a GtkScrolledWindow. In that + case though, moving the child widget is invalid since a + ScrollPane only has one child and that child is always + located at (0, 0) in viewport coordinates. */ + if (widget->parent != NULL && GTK_IS_FIXED (widget->parent)) + gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y); } gdk_threads_leave (); diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c index 77021ceec..13473a9a8 100644 --- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c +++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c @@ -213,7 +213,7 @@ Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeBounds gtk_widget_set_size_request (gtk_bin_get_child (GTK_BIN (widget)), width, height); - if (widget->parent != NULL) + if (widget->parent != NULL && GTK_IS_FIXED (widget->parent)) gtk_fixed_move (GTK_FIXED (widget->parent), widget, x, y); } |