summaryrefslogtreecommitdiffstats
path: root/libjava/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu')
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java32
1 files changed, 20 insertions, 12 deletions
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)
OpenPOWER on IntegriCloud