From fc1e99dbe7d9e443abf618cc1cbf0f3b490cd17f Mon Sep 17 00:00:00 2001 From: kho Date: Mon, 26 Jan 2004 13:56:59 +0000 Subject: 2004-01-26 Kim Ho * gnu/java/awt/peer/gtk/GtkFramePeer.java (menuBarHeight): Mark private. (setMenuBar): Grab MenuBar height and change insets. (setBounds): Account for MenuBar height. (postInsetsChangedEvent): Ditto. (postSizeAllocateEvent): Remove. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (menubar_resize_cb): Remove (setMenuBarPeer): Remove callback. (getMenuBarHeight): Use size requisition instead of allocation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76633 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java | 32 +++++++++++++++---------- 1 file changed, 20 insertions(+), 12 deletions(-) (limited to 'libjava/gnu/java') diff --git a/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java b/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java index 6c59847deb2..3b69b029bae 100644 --- a/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java +++ b/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java @@ -53,7 +53,7 @@ import java.awt.peer.MenuBarPeer; public class GtkFramePeer extends GtkWindowPeer implements FramePeer { - int menuBarHeight = 0; + private int menuBarHeight; private MenuBarPeer menuBar; native int getMenuBarHeight (MenuBarPeer bar); @@ -76,9 +76,20 @@ public class GtkFramePeer extends GtkWindowPeer removeMenuBarPeer(menuBar); menuBar = (MenuBarPeer) ((MenuBar) bar).getPeer(); setMenuBarPeer(menuBar); + menuBarHeight = getMenuBarHeight (menuBar); + insets.top += menuBarHeight; + awtComponent.doLayout(); } } + public void setBounds (int x, int y, int width, int height) + { + nativeSetBounds (x, y, + width - insets.left - insets.right, + height - insets.top - insets.bottom + + menuBarHeight); + } + public void setResizable (boolean resizable) { // Call setSize; otherwise when resizable is changed from true to @@ -89,18 +100,15 @@ public class GtkFramePeer extends GtkWindowPeer + menuBarHeight); set ("allow_shrink", resizable); set ("allow_grow", resizable); - } - - protected void postSizeAllocateEvent() + } + + protected void postInsetsChangedEvent (int top, int left, + int bottom, int right) { - if (menuBar != null) - { - if (menuBarHeight != 0) - insets.top -= menuBarHeight; - menuBarHeight = getMenuBarHeight(menuBar); - insets.top += menuBarHeight; - } - awtComponent.doLayout(); + insets.top = top + menuBarHeight; + insets.left = left; + insets.bottom = bottom; + insets.right = right; } public GtkFramePeer (Frame frame) -- cgit v1.2.3