History

My first initial commit with all of mine experimental changes.

Dmitry Kabak (userdima committed 13 years ago

Commit d37b88d1 parent 3f5b46618352 files · +2598093 −-8690Browse files

Showing the changes to java/pkg/sun/awt/im/InputMethodAdapter.java (1 of 18352 files). Show all

Unified · Split

java/pkg/sun/awt/im/InputMethodAdapter.java+118−0
@@ -0,0 +1,118 @@
1/*
2 * Copyright (c) 1997, 2005, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
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
26package sun.awt.im;
27
28import java.awt.Component;
29import java.awt.Rectangle;
30import java.awt.im.spi.InputMethod;
31
32/**
33 * An input method adapter interfaces with the native input methods
34 * on a host platform. In general, it looks to the input method
35 * framework like a Java input method (that may support a few more
36 * locales than a typical Java input method). However, since it
37 * often has to work in a slightly hostile environment that's not
38 * designed for easy integration into the Java input method
39 * framework, it gets some special treatment that's not available
40 * to Java input methods.
41 * <p>
42 * Licensees are free to modify this class as necessary to implement
43 * their host input method adapters.
44 *
45 * @author JavaSoft International
46 */
47
48public abstract class InputMethodAdapter implements InputMethod {
49
50 private Component clientComponent;
51
52 void setClientComponent(Component client) {
53 clientComponent = client;
54 }
55
56 protected Component getClientComponent() {
57 return clientComponent;
58 }
59
60 protected boolean haveActiveClient() {
61 return clientComponent != null && clientComponent.getInputMethodRequests() != null;
62 }
63
64 /**
65 * Informs the input method adapter about the component that has the AWT
66 * focus if it's using the input context owning this adapter instance.
67 */
68 protected void setAWTFocussedComponent(Component component) {
69 // ignore - adapters can override if needed
70 }
71
72 /**
73 * Returns whether host input methods can support below-the-spot input.
74 * Returns false by default.
75 */
76 protected boolean supportsBelowTheSpot() {
77 return false;
78 }
79
80 /**
81 * Informs the input method adapter not to listen to the native events.
82 * This method is called when a Java input method is active.
83 */
84 protected void stopListening() {
85 // ignore - adapters can override if needed
86 }
87
88 /**
89 * Notifies client Window location or status changes
90 */
91 public void notifyClientWindowChange(Rectangle location) {
92 }
93
94 /**
95 * Starts reconvertion. An implementing host adapter has to override
96 * this method if it can support reconvert().
97 * @exception UnsupportedOperationException when the adapter does not override
98 * the method.
99 */
100 public void reconvert() {
101 throw new UnsupportedOperationException();
102 }
103
104 /**
105 * Disable the native input method. This method is provided for explicitly
106 * turning off the native IM. The native IM is not turned off
107 * when the native input method is deactivated. This method is
108 * always called on AWT EDT. See details in bug 6226489.
109 */
110 public abstract void disableInputMethod();
111
112
113 /**
114 * Returns a string with information about the native input method, or
115 * null.
116 */
117 public abstract String getNativeInputMethodInfo();
118}