A callback interface for nsITextInputProcessor user
1.0
66
Introduced
Gecko 38
Inherits from:
nsISupports
Last changed in Gecko 38.0 (Firefox 38.0 / Thunderbird 38.0 / SeaMonkey 2.35)nsITextInputProcessorCallback is defined for receiving requests and notifications to IME from Gecko. This interface has a "function" attribute. Therefore, JS-IME can implement this as a function.
Example of simple JS-IME:
var simpleIME = {
_hasFocus: false,
_hasRightsToCompose: false,
_TIP: null,
_callback: function simpleIME_callback(aTIP, aNotification)
{
try {
switch (aNotification.type) {
case "request-to-commit":
aTIP.commitComposition();
break;
case "request-to-cancel":
aTIP.cancelComposition();
break;
case "notify-focus":
this._hasFocus = true;
break;
case "notify-blur":
this._hasFocus = false;
break;
case "notify-detached":
this._hasFocus = false;
this._hasRightsToCompose = false;
break;
}
return true;
} catch (e) {
return false;
}
},
setComposition: function simpleIME_setComposition(aText, aClauses, aCaret)
{
if (!this._TIP) {
this._TIP = Components.classes["@mozilla.org/text-input-processor;1"].
createInstance(Components.interfaces.nsITextInputProcessor);
}
if (!this._TIP.beginInputTransaction(window, this._callback)) {
return false;
}
...
},
}
Method overview
boolean onNotify(in nsITextInputProcessor aTextInputProcessor, in nsITextInputProcessorNotification aNotification); |
Methods
onNotify()
This is called when Gecko requests or notifies something to IME.
boolean onNotify(in nsITextInputProcessor aTextInputProcessor,
in nsITextInputProcessorNotification aNotification);
Parameters
- aTextInputProcessor
- The instance which receives the notification. If the handler needs to do something with composition, you can use this.
- aNotification
- A notification or request. See the document of
nsITextInputProcessorNotificationfor the details.
Return value
If this handles the notification normally or does nothing, it should return true. Otherwise, false.
