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 = JPopupMenu.class. |
98 |
|
forName("javax.swing.JPopupMenu$HeavyWeightPopup"); |
99 |
|
} |
100 |
|
catch (ClassNotFoundException e) |
101 |
|
{ |
102 |
|
throw new AssertionError(e); |
103 |
|
} |
104 |
|
|
105 |
|
if (dialog.getClass() == heavyWeightClass |
106 |
|
|| ((JDialog) dialog).getContentPane() instanceof JToolTip) |
107 |
|
type = GDK_WINDOW_TYPE_HINT_MENU; |
108 |
|
} |
109 |
|
|
110 |
|
// Create a decorated dialog window. |
111 |
|
create (type, !((Dialog) awtComponent).isUndecorated ()); |
112 |
|
|
113 |
gtkWindowSetModal (dialog.isModal ()); |
gtkWindowSetModal (dialog.isModal ()); |
114 |
setTitle (dialog.getTitle ()); |
setTitle (dialog.getTitle ()); |