diff options
author | Kim Ho <kho@redhat.com> | 2004-01-19 14:27:45 +0000 |
---|---|---|
committer | Kim Ho <kho@gcc.gnu.org> | 2004-01-19 14:27:45 +0000 |
commit | 2c20a17152d3af1ab0788857e6439f1799111183 (patch) | |
tree | 34def173eca9b0823df6cf9bb1777b1bb4131cfc /libjava/java | |
parent | 9543baba849d4a8820fde7d09a7f05e9f0bd3ecd (diff) | |
download | gcc-2c20a17152d3af1ab0788857e6439f1799111183.zip gcc-2c20a17152d3af1ab0788857e6439f1799111183.tar.gz gcc-2c20a17152d3af1ab0788857e6439f1799111183.tar.bz2 |
GtkFramePeer.java (getMenuBarHeight): Added MenuBarPeer parameter.
2004-01-19 Kim Ho <kho@redhat.com>
* 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
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/awt/Frame.java | 4 | ||||
-rw-r--r-- | libjava/java/awt/Menu.java | 13 | ||||
-rw-r--r-- | libjava/java/awt/MenuBar.java | 8 | ||||
-rw-r--r-- | libjava/java/awt/MenuItem.java | 4 |
4 files changed, 22 insertions, 7 deletions
diff --git a/libjava/java/awt/Frame.java b/libjava/java/awt/Frame.java index b6a3427..7a5c9d9 100644 --- a/libjava/java/awt/Frame.java +++ b/libjava/java/awt/Frame.java @@ -1,5 +1,5 @@ /* Frame.java -- AWT toplevel window - Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -342,6 +342,8 @@ public synchronized void setMenuBar(MenuBar menuBar) { this.menuBar = menuBar; + if (menuBar != null) + menuBar.addNotify(); if (peer != null) ((FramePeer) peer).setMenuBar(menuBar); } 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 (); } diff --git a/libjava/java/awt/MenuBar.java b/libjava/java/awt/MenuBar.java index b9ddef9..af5c912 100644 --- a/libjava/java/awt/MenuBar.java +++ b/libjava/java/awt/MenuBar.java @@ -1,5 +1,5 @@ /* MenuBar.java -- An AWT menu bar class - Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -263,6 +263,12 @@ addNotify() { if (getPeer() == null) setPeer((MenuComponentPeer)getToolkit().createMenuBar(this)); + Enumeration e = menus.elements(); + while (e.hasMoreElements()) + { + Menu mi = (Menu)e.nextElement(); + mi.addNotify(); + } } /*************************************************************************/ diff --git a/libjava/java/awt/MenuItem.java b/libjava/java/awt/MenuItem.java index 02c4d0d..bea3b4f 100644 --- a/libjava/java/awt/MenuItem.java +++ b/libjava/java/awt/MenuItem.java @@ -1,5 +1,5 @@ /* MenuItem.java -- An item in a menu - Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -361,7 +361,7 @@ disableEvents(long events) public void addNotify() { - if (peer != null) + if (peer == null) peer = getToolkit ().createMenuItem (this); } |