diff options
author | Kim Ho <kho@redhat.com> | 2004-01-27 16:39:45 +0000 |
---|---|---|
committer | Kim Ho <kho@gcc.gnu.org> | 2004-01-27 16:39:45 +0000 |
commit | 57e1391773cbfcaef7007c443dabfb6c4c536b67 (patch) | |
tree | 8358b9387d9ebe009bb199121c0fadbd4d87e791 /libjava/gnu | |
parent | 2a837cf80316570aaad5bf93b10655bb62ae67ad (diff) | |
download | gcc-57e1391773cbfcaef7007c443dabfb6c4c536b67.tar.gz |
GtkFramePeer.java (moveLayout): New method.
2004-01-26 Kim Ho <kho@redhat.com>
* gnu/java/awt/peer/gtk/GtkFramePeer.java (moveLayout): New
method.
(setMenuBar): Shift the Gtk layout up/down by the MenuBar
height and let the Layout Managers readjust anything that
needs to move.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(moveLayout): New method. Shift everything in the Gtk
layout in the Y direction by an offset.
From-SVN: r76729
Diffstat (limited to 'libjava/gnu')
-rw-r--r-- | libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java b/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java index 3b69b029bae..0aa78fddef6 100644 --- a/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java +++ b/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java @@ -59,24 +59,36 @@ public class GtkFramePeer extends GtkWindowPeer native void setMenuBarPeer (MenuBarPeer bar); native void removeMenuBarPeer (MenuBarPeer bar); + native void moveLayout (int offset); public void setMenuBar (MenuBar bar) { - if (bar == null && menuBar != null) + if (bar == null) { - removeMenuBarPeer(menuBar); - menuBar = null; - insets.top -= menuBarHeight; - menuBarHeight = 0; - awtComponent.doLayout(); + if (menuBar != null) + { + removeMenuBarPeer(menuBar); + menuBar = null; + moveLayout(menuBarHeight); + insets.top -= menuBarHeight; + menuBarHeight = 0; + awtComponent.doLayout(); + } } - else if (bar != null) + else { + int oldHeight = 0; if (menuBar != null) + { removeMenuBarPeer(menuBar); + oldHeight = menuBarHeight; + insets.top -= menuBarHeight; + } menuBar = (MenuBarPeer) ((MenuBar) bar).getPeer(); - setMenuBarPeer(menuBar); + setMenuBarPeer(menuBar); menuBarHeight = getMenuBarHeight (menuBar); + if (oldHeight != menuBarHeight) + moveLayout(oldHeight-menuBarHeight); insets.top += menuBarHeight; awtComponent.doLayout(); } |