private void TextFieldIMEImplementation_DeleteBackward(object sender, CCIMEKeybardEventArgs e) { DeleteBackwards(); }
private bool ProcessCancelableEvent(EventHandler<CCIMEKeybardEventArgs> handler, CCIMEKeybardEventArgs eventArgs) { var canceled = false; Delegate inFocusDelegate = null; var sender = TextFieldInFocus; foreach (var instantHandler in handler.GetInvocationList()) { if (eventArgs.Cancel) { break; } // Make sure we process all event handlers except for our focused text field // We need to process it at the end to give the other event handlers a chance // to cancel the event from propogating to our focused text field. if (instantHandler.Target == sender) inFocusDelegate = instantHandler; else instantHandler.DynamicInvoke(sender, eventArgs); } canceled = eventArgs.Cancel; if (inFocusDelegate != null && !canceled) inFocusDelegate.DynamicInvoke(sender, eventArgs); return canceled; }
private void TextFieldIMEImplementation_InsertText(object sender, CCIMEKeybardEventArgs e) { InsertText(e.Text, e.Length); }
bool OnReplaceText(CCIMEKeybardEventArgs eventArgs) { var handler = ReplaceText; if (handler != null) { return ProcessCancelableEvent(handler, eventArgs); } return false; }