19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.awt.windows;
27
28 import java.awt.Color;
29 import java.awt.Component;
30 import java.awt.Dialog;
31 import java.awt.Dimension;
32 import java.awt.SystemColor;
33 import java.awt.Window;
34 import java.awt.peer.DialogPeer;
35
36 import sun.awt.AWTAccessor;
37 import sun.awt.im.InputMethodManager;
38
39 final class WDialogPeer extends WWindowPeer implements DialogPeer {
40 // Toolkit & peer internals
41
42 // Platform default background for dialogs. Gets set on target if
43 // target has none explicitly specified.
44 static final Color defaultBackground = SystemColor.control;
45
46 WDialogPeer(Dialog target) {
47 super(target);
48
49 InputMethodManager imm = InputMethodManager.getInstance();
50 String menuString = imm.getTriggerMenuString();
51 if (menuString != null)
52 {
53 pSetIMMOption(menuString);
54 }
55 }
56
57 native void createAwtDialog(WComponentPeer parent);
58 @Override
100 } else {
101 super.hide();
102 }
103 }
104
105 @Override
106 public void blockWindows(java.util.List<Window> toBlock) {
107 for (Window w : toBlock) {
108 WWindowPeer wp = AWTAccessor.getComponentAccessor().getPeer(w);
109 if (wp != null) {
110 wp.setModalBlocked((Dialog)target, true);
111 }
112 }
113 }
114
115 @Override
116 public Dimension getMinimumSize() {
117 if (((Dialog)target).isUndecorated()) {
118 return super.getMinimumSize();
119 }
120 return new Dimension(scaleDownX(getSysMinWidth()),
121 scaleDownY(getSysMinHeight()));
122 }
123
124 @Override
125 boolean isTargetUndecorated() {
126 return ((Dialog)target).isUndecorated();
127 }
128
129 @Override
130 public void reshape(int x, int y, int width, int height) {
131 if (((Dialog)target).isUndecorated()) {
132 super.reshape(x, y, width, height);
133 } else {
134 reshapeFrame(x, y, width, height);
135 }
136 }
137
138 native void pSetIMMOption(String option);
139 void notifyIMMOptionChange(){
140 InputMethodManager.getInstance().notifyChangeRequest((Component)target);
141 }
|
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.awt.windows;
27
28 import java.awt.Color;
29 import java.awt.Component;
30 import java.awt.Dialog;
31 import java.awt.Dimension;
32 import java.awt.SystemColor;
33 import java.awt.Window;
34 import java.awt.peer.DialogPeer;
35
36 import sun.awt.AWTAccessor;
37 import sun.awt.im.InputMethodManager;
38
39 import static sun.java2d.SunGraphicsEnvironment.toUserSpace;
40
41 final class WDialogPeer extends WWindowPeer implements DialogPeer {
42 // Toolkit & peer internals
43
44 // Platform default background for dialogs. Gets set on target if
45 // target has none explicitly specified.
46 static final Color defaultBackground = SystemColor.control;
47
48 WDialogPeer(Dialog target) {
49 super(target);
50
51 InputMethodManager imm = InputMethodManager.getInstance();
52 String menuString = imm.getTriggerMenuString();
53 if (menuString != null)
54 {
55 pSetIMMOption(menuString);
56 }
57 }
58
59 native void createAwtDialog(WComponentPeer parent);
60 @Override
102 } else {
103 super.hide();
104 }
105 }
106
107 @Override
108 public void blockWindows(java.util.List<Window> toBlock) {
109 for (Window w : toBlock) {
110 WWindowPeer wp = AWTAccessor.getComponentAccessor().getPeer(w);
111 if (wp != null) {
112 wp.setModalBlocked((Dialog)target, true);
113 }
114 }
115 }
116
117 @Override
118 public Dimension getMinimumSize() {
119 if (((Dialog)target).isUndecorated()) {
120 return super.getMinimumSize();
121 }
122 return toUserSpace(getGraphicsConfiguration(),
123 getSysMinWidth(), getSysMinHeight());
124 }
125
126 @Override
127 boolean isTargetUndecorated() {
128 return ((Dialog)target).isUndecorated();
129 }
130
131 @Override
132 public void reshape(int x, int y, int width, int height) {
133 if (((Dialog)target).isUndecorated()) {
134 super.reshape(x, y, width, height);
135 } else {
136 reshapeFrame(x, y, width, height);
137 }
138 }
139
140 native void pSetIMMOption(String option);
141 void notifyIMMOptionChange(){
142 InputMethodManager.getInstance().notifyChangeRequest((Component)target);
143 }
|