diff options
author | Michael Koch <konqueror@gmx.de> | 2004-09-22 18:53:25 +0000 |
---|---|---|
committer | Michael Koch <konqueror@gmx.de> | 2004-09-22 18:53:25 +0000 |
commit | 6aaf680e7078da804aef38cfd04d43ef13da29a5 (patch) | |
tree | 72dcb8008151c44a4eecc14b10bde24fe18b1ad4 | |
parent | 946797f33b7908f9b80f56a893b548b4ff91302b (diff) | |
download | classpath-6aaf680e7078da804aef38cfd04d43ef13da29a5.tar.gz |
2004-09-22 David Jee <djee@redhat.com>
* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
(setEnabled): Make it a native method.
* java/awt/DefaultKeyboardFocusManager.java
(postProcessKeyEvent): Only post event if the menu item
is active.
* java/awt/MenuItem.java:
Private field 'enabled' should be true by default.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
(setEnabled): New function.
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | gnu/java/awt/peer/gtk/GtkMenuItemPeer.java | 6 | ||||
-rw-r--r-- | java/awt/DefaultKeyboardFocusManager.java | 2 | ||||
-rw-r--r-- | java/awt/MenuItem.java | 2 | ||||
-rw-r--r-- | native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c | 12 |
5 files changed, 28 insertions, 6 deletions
@@ -1,3 +1,15 @@ +2004-09-22 David Jee <djee@redhat.com> + + * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java + (setEnabled): Make it a native method. + * java/awt/DefaultKeyboardFocusManager.java + (postProcessKeyEvent): Only post event if the menu item + is active. + * java/awt/MenuItem.java: + Private field 'enabled' should be true by default. + * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c + (setEnabled): New function. + 2004-09-22 Jerry Quinn <jlquinn@optonline.net> * java/awt/image/ColorModel.java (getDataElement): Implemented. diff --git a/gnu/java/awt/peer/gtk/GtkMenuItemPeer.java b/gnu/java/awt/peer/gtk/GtkMenuItemPeer.java index 18b9a0f1c..d58916614 100644 --- a/gnu/java/awt/peer/gtk/GtkMenuItemPeer.java +++ b/gnu/java/awt/peer/gtk/GtkMenuItemPeer.java @@ -111,10 +111,8 @@ public class GtkMenuItemPeer extends GtkMenuComponentPeer setEnabled (true); } - public void setEnabled (boolean b) - { - // do nothing, for now. - } + native public void setEnabled (boolean b); + native public void setLabel (String label); protected void postMenuActionEvent () diff --git a/java/awt/DefaultKeyboardFocusManager.java b/java/awt/DefaultKeyboardFocusManager.java index a7c5f9f0b..d319eed8b 100644 --- a/java/awt/DefaultKeyboardFocusManager.java +++ b/java/awt/DefaultKeyboardFocusManager.java @@ -311,7 +311,7 @@ public class DefaultKeyboardFocusManager extends KeyboardFocusManager MenuItem item = menu.getItem (j); MenuShortcut shortcut = item.getShortcut (); - if (shortcut != null) + if (item.isEnabled() && shortcut != null) { // Dispatch a new ActionEvent if: // diff --git a/java/awt/MenuItem.java b/java/awt/MenuItem.java index 3b40bd715..66c0a5f3a 100644 --- a/java/awt/MenuItem.java +++ b/java/awt/MenuItem.java @@ -75,7 +75,7 @@ private String actionCommand; /** * @serial Indicates whether or not this menu item is enabled. */ -private boolean enabled; +private boolean enabled = true; /** * @serial The mask of events that are enabled for this menu item. diff --git a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c index 407f71cb4..cc99674bd 100644 --- a/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c +++ b/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c @@ -124,6 +124,18 @@ Java_gnu_java_awt_peer_gtk_GtkMenuItemPeer_gtkWidgetModifyFont (*env)->ReleaseStringUTFChars (env, name, font_name); } +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkMenuItemPeer_setEnabled + (JNIEnv *env, jobject obj, jboolean enabled) +{ + void *ptr; + + ptr = NSA_GET_PTR (env, obj); + + gdk_threads_enter (); + gtk_widget_set_sensitive (GTK_WIDGET (ptr), enabled); + gdk_threads_leave (); +} + JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkMenuItemPeer_setLabel (JNIEnv *env, jobject obj, jstring label) { |