summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/java/awt/peer/gtk
diff options
context:
space:
mode:
authorkho <kho@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-27 16:39:45 +0000
committerkho <kho@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-27 16:39:45 +0000
commit0d7d03f41c7895683193fa37085924caa0c2b3cc (patch)
tree8358b9387d9ebe009bb199121c0fadbd4d87e791 /libjava/gnu/java/awt/peer/gtk
parentd12ce1bf2ef1882df9d8a7f221619e6df027b977 (diff)
downloadppe42-gcc-0d7d03f41c7895683193fa37085924caa0c2b3cc.tar.gz
ppe42-gcc-0d7d03f41c7895683193fa37085924caa0c2b3cc.zip
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76729 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/java/awt/peer/gtk')
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java28
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();
}
OpenPOWER on IntegriCloud