From 2c20a17152d3af1ab0788857e6439f1799111183 Mon Sep 17 00:00:00 2001 From: Kim Ho Date: Mon, 19 Jan 2004 14:27:45 +0000 Subject: GtkFramePeer.java (getMenuBarHeight): Added MenuBarPeer parameter. 2004-01-19 Kim Ho * gnu/java/awt/peer/gtk/GtkFramePeer.java (getMenuBarHeight): Added MenuBarPeer parameter. (removeMenuBarPeer): New native method. (setMenuBar): Call remove if menu bar is null. Adjust insets appropriately. (postSizeAllocateEvent): New method. Called when menu bar size is allocated. Adjust insets and redo layout. (GtkFramePeer): Set menu bar during frame creation. (postConfigureEvent): Adjust position and size to accomodate menu bar. * java/awt/Frame.java (setMenuBar): addNotify to create menu bar. * java/awt/Menu.java (addSeparator): Use peer's addSeparator. (addNotify): Create the peer if it doesn't exist and call addNotify for the menu's items. * java/awt/MenuBar.java (addNotify): Create this menu bar's menus. * java/awt/MenuItem.java (addNotify): Create the peer if it doesn't exist. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (removeMenuBarPeer): New method. Remove menu bar on the current frame. (setMenuBarPeer): Add the menu bar to the current frame and the callback for size-allocate events on the menu bar. (getMenuBarHeight): Add menu bar parameter. (menubar_resize_cb): New callback method for postSizeAllocate events. Also: Fix indentation on last ChangeLog entry. From-SVN: r76149 --- libjava/java/awt/Menu.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'libjava/java/awt/Menu.java') diff --git a/libjava/java/awt/Menu.java b/libjava/java/awt/Menu.java index 52244b9..6fdc22c 100644 --- a/libjava/java/awt/Menu.java +++ b/libjava/java/awt/Menu.java @@ -1,5 +1,5 @@ /* Menu.java -- A Java AWT Menu - Copyright (C) 1999, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -294,7 +294,8 @@ insert(String label, int index) public void addSeparator() { - add(separator); + if (peer != null) + ((MenuPeer) peer).addSeparator(); } /*************************************************************************/ @@ -376,8 +377,14 @@ removeAll() public void addNotify() { - if (peer != null) + if (peer == null) peer = getToolkit().createMenu(this); + java.util.Enumeration e = items.elements(); + while (e.hasMoreElements()) + { + MenuItem mi = (MenuItem)e.nextElement(); + mi.addNotify(); + } super.addNotify (); } -- cgit v1.1