44 |
import java.awt.event.PaintEvent; |
import java.awt.event.PaintEvent; |
45 |
import java.awt.peer.DialogPeer; |
import java.awt.peer.DialogPeer; |
46 |
|
|
47 |
|
import javax.swing.JDialog; |
48 |
|
import javax.swing.JPopupMenu; |
49 |
|
import javax.swing.JToolTip; |
50 |
|
|
51 |
public class GtkDialogPeer extends GtkWindowPeer |
public class GtkDialogPeer extends GtkWindowPeer |
52 |
implements DialogPeer |
implements DialogPeer |
53 |
{ |
{ |
86 |
|
|
87 |
void create () |
void create () |
88 |
{ |
{ |
|
// Create a decorated dialog window. |
|
|
create (GDK_WINDOW_TYPE_HINT_DIALOG, |
|
|
!((Dialog) awtComponent).isUndecorated ()); |
|
|
|
|
89 |
Dialog dialog = (Dialog) awtComponent; |
Dialog dialog = (Dialog) awtComponent; |
90 |
|
int type = GDK_WINDOW_TYPE_HINT_DIALOG; |
91 |
|
|
92 |
|
if (dialog instanceof JDialog) |
93 |
|
{ |
94 |
|
Class heavyWeightClass; |
95 |
|
try |
96 |
|
{ |
97 |
|
heavyWeightClass = Class.forName("javax.swing.Popup$JWindowPopup"); |
98 |
|
} |
99 |
|
catch (ClassNotFoundException e) |
100 |
|
{ |
101 |
|
throw new AssertionError(e); |
102 |
|
} |
103 |
|
|
104 |
|
if (dialog.getClass() == heavyWeightClass |
105 |
|
|| ((JDialog) dialog).getContentPane() instanceof JToolTip) |
106 |
|
type = GDK_WINDOW_TYPE_HINT_MENU; |
107 |
|
} |
108 |
|
|
109 |
|
// Create a decorated dialog window. |
110 |
|
create (type, !((Dialog) awtComponent).isUndecorated ()); |
111 |
|
|
112 |
gtkWindowSetModal (dialog.isModal ()); |
gtkWindowSetModal (dialog.isModal ()); |
113 |
setTitle (dialog.getTitle ()); |
setTitle (dialog.getTitle ()); |