diff options
author | Lillian Angel <langel@redhat.com> | 2005-11-16 15:58:04 +0000 |
---|---|---|
committer | Lillian Angel <langel@redhat.com> | 2005-11-16 15:58:04 +0000 |
commit | c0d8eb6ca6eea5e928f855902e32d4802595e874 (patch) | |
tree | e0bb77496d4395fe82011243edd5a5064ff00d94 | |
parent | 120fcd99e3eb5466a6fb25355fd179c2c255f251 (diff) | |
download | classpath-c0d8eb6ca6eea5e928f855902e32d4802595e874.tar.gz |
2005-11-15 Lillian Angel <langel@redhat.com>
* gnu/java/awt/peer/gtk/GtkDialogPeer.java
(create): Since popups were changed to be JWindowPopups,
this code should be done in GtkWindowPeer. Code is not
needed.
* gnu/java/awt/peer/gtk/GtkWindowPeer.java
(create): If window is not focusable, it should not take
the focus away from any other window. Therefore, its
type should be set to GDK_WINDOW_TYPE_HINT_MENU.
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | gnu/java/awt/peer/gtk/GtkDialogPeer.java | 24 | ||||
-rw-r--r-- | gnu/java/awt/peer/gtk/GtkWindowPeer.java | 9 |
3 files changed, 18 insertions, 26 deletions
@@ -1,3 +1,14 @@ +2005-11-15 Lillian Angel <langel@redhat.com> + + * gnu/java/awt/peer/gtk/GtkDialogPeer.java + (create): Since popups were changed to be JWindowPopups, + this code should be done in GtkWindowPeer. Code is not + needed. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (create): If window is not focusable, it should not take + the focus away from any other window. Therefore, its + type should be set to GDK_WINDOW_TYPE_HINT_MENU. + 2005-11-15 Roman Kennke <kennke@aicas.com> * javax/swing/plaf/metal/MetalButtonUI.java diff --git a/gnu/java/awt/peer/gtk/GtkDialogPeer.java b/gnu/java/awt/peer/gtk/GtkDialogPeer.java index f5ba3ad2c..3e3125a2b 100644 --- a/gnu/java/awt/peer/gtk/GtkDialogPeer.java +++ b/gnu/java/awt/peer/gtk/GtkDialogPeer.java @@ -44,10 +44,6 @@ import java.awt.Rectangle; import java.awt.event.PaintEvent; import java.awt.peer.DialogPeer; -import javax.swing.JDialog; -import javax.swing.JPopupMenu; -import javax.swing.JToolTip; - public class GtkDialogPeer extends GtkWindowPeer implements DialogPeer { @@ -87,27 +83,9 @@ public class GtkDialogPeer extends GtkWindowPeer void create () { Dialog dialog = (Dialog) awtComponent; - int type = GDK_WINDOW_TYPE_HINT_DIALOG; - - if (dialog instanceof JDialog) - { - Class heavyWeightClass; - try - { - heavyWeightClass = Class.forName("javax.swing.Popup$JWindowPopup"); - } - catch (ClassNotFoundException e) - { - throw new AssertionError(e); - } - - if (dialog.getClass() == heavyWeightClass - || ((JDialog) dialog).getContentPane() instanceof JToolTip) - type = GDK_WINDOW_TYPE_HINT_MENU; - } // Create a decorated dialog window. - create (type, !((Dialog) awtComponent).isUndecorated ()); + create (GDK_WINDOW_TYPE_HINT_DIALOG, !((Dialog) awtComponent).isUndecorated ()); gtkWindowSetModal (dialog.isModal ()); setTitle (dialog.getTitle ()); diff --git a/gnu/java/awt/peer/gtk/GtkWindowPeer.java b/gnu/java/awt/peer/gtk/GtkWindowPeer.java index c84d51037..57fb87f37 100644 --- a/gnu/java/awt/peer/gtk/GtkWindowPeer.java +++ b/gnu/java/awt/peer/gtk/GtkWindowPeer.java @@ -41,7 +41,6 @@ package gnu.java.awt.peer.gtk; import java.awt.Component; import java.awt.Frame; import java.awt.Window; -import java.awt.event.ComponentEvent; import java.awt.event.WindowEvent; import java.awt.peer.WindowPeer; @@ -80,12 +79,16 @@ public class GtkWindowPeer extends GtkContainerPeer void create (int type, boolean decorated) { + Window window = (Window) awtComponent; GtkWindowPeer parent_peer = null; Component parent = awtComponent.getParent(); - + + if (!window.isFocusableWindow()) + type = GDK_WINDOW_TYPE_HINT_MENU; + if (parent != null) parent_peer = (GtkWindowPeer) awtComponent.getParent().getPeer(); - + create (type, decorated, parent_peer); } |