1087 ((WWindowPeer) peer).ungrab();
1088 }
1089 }
1090
1091 ///////////////////////////////////////////////////////////////////////////
1092 // The following code is used for support of automatic showing of the touch
1093 // keyboard for text components and is accessed only from EDT.
1094 ///////////////////////////////////////////////////////////////////////////
1095 private volatile Component compOnTouchDownEvent;
1096 private volatile Component compOnMousePressedEvent;
1097
1098 @Override
1099 public void showOrHideTouchKeyboard(Component comp, AWTEvent e) {
1100 if ((comp == null) || (e == null) ||
1101 (!(comp instanceof TextComponent) &&
1102 !(comp instanceof JTextComponent))) {
1103 return;
1104 }
1105
1106 if ((e instanceof MouseEvent) && comp.isEnabled() &&
1107 (((comp instanceof TextComponent) &&
1108 ((TextComponent)comp).isEditable()) ||
1109 ((comp instanceof JTextComponent) &&
1110 ((JTextComponent)comp).isEditable()))) {
1111 MouseEvent me = (MouseEvent)e;
1112 if (me.getID() == MouseEvent.MOUSE_PRESSED) {
1113 if (AWTAccessor.getMouseEventAccessor()
1114 .isCausedByTouchEvent(me)) {
1115 compOnTouchDownEvent = comp;
1116 } else {
1117 compOnMousePressedEvent = comp;
1118 }
1119 } else if (me.getID() == MouseEvent.MOUSE_RELEASED) {
1120 if (AWTAccessor.getMouseEventAccessor()
1121 .isCausedByTouchEvent(me)) {
1122 if (compOnTouchDownEvent == comp) {
1123 showTouchKeyboard(true);
1124 }
1125 compOnTouchDownEvent = null;
1126 } else {
|
1087 ((WWindowPeer) peer).ungrab();
1088 }
1089 }
1090
1091 ///////////////////////////////////////////////////////////////////////////
1092 // The following code is used for support of automatic showing of the touch
1093 // keyboard for text components and is accessed only from EDT.
1094 ///////////////////////////////////////////////////////////////////////////
1095 private volatile Component compOnTouchDownEvent;
1096 private volatile Component compOnMousePressedEvent;
1097
1098 @Override
1099 public void showOrHideTouchKeyboard(Component comp, AWTEvent e) {
1100 if ((comp == null) || (e == null) ||
1101 (!(comp instanceof TextComponent) &&
1102 !(comp instanceof JTextComponent))) {
1103 return;
1104 }
1105
1106 if ((e instanceof MouseEvent) && comp.isEnabled() &&
1107 comp.isFocusable() &&
1108 (((comp instanceof TextComponent) &&
1109 ((TextComponent)comp).isEditable()) ||
1110 ((comp instanceof JTextComponent) &&
1111 ((JTextComponent)comp).isEditable()))) {
1112 MouseEvent me = (MouseEvent)e;
1113 if (me.getID() == MouseEvent.MOUSE_PRESSED) {
1114 if (AWTAccessor.getMouseEventAccessor()
1115 .isCausedByTouchEvent(me)) {
1116 compOnTouchDownEvent = comp;
1117 } else {
1118 compOnMousePressedEvent = comp;
1119 }
1120 } else if (me.getID() == MouseEvent.MOUSE_RELEASED) {
1121 if (AWTAccessor.getMouseEventAccessor()
1122 .isCausedByTouchEvent(me)) {
1123 if (compOnTouchDownEvent == comp) {
1124 showTouchKeyboard(true);
1125 }
1126 compOnTouchDownEvent = null;
1127 } else {
|