summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLillian Angel <langel@redhat.com>2005-11-16 15:58:04 +0000
committerLillian Angel <langel@redhat.com>2005-11-16 15:58:04 +0000
commitc0d8eb6ca6eea5e928f855902e32d4802595e874 (patch)
treee0bb77496d4395fe82011243edd5a5064ff00d94
parent120fcd99e3eb5466a6fb25355fd179c2c255f251 (diff)
downloadclasspath-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--ChangeLog11
-rw-r--r--gnu/java/awt/peer/gtk/GtkDialogPeer.java24
-rw-r--r--gnu/java/awt/peer/gtk/GtkWindowPeer.java9
3 files changed, 18 insertions, 26 deletions
diff --git a/ChangeLog b/ChangeLog
index bba26999f..d49e4350d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);
}