aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt
diff options
context:
space:
mode:
authorKim Ho <kho@redhat.com>2004-01-19 14:27:45 +0000
committerKim Ho <kho@gcc.gnu.org>2004-01-19 14:27:45 +0000
commit2c20a17152d3af1ab0788857e6439f1799111183 (patch)
tree34def173eca9b0823df6cf9bb1777b1bb4131cfc /libjava/java/awt
parent9543baba849d4a8820fde7d09a7f05e9f0bd3ecd (diff)
downloadgcc-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/awt')
-rw-r--r--libjava/java/awt/Frame.java4
-rw-r--r--libjava/java/awt/Menu.java13
-rw-r--r--libjava/java/awt/MenuBar.java8
-rw-r--r--libjava/java/awt/MenuItem.java4
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);
}