The InputMethod class defines the interface of the Kanzi input methods. More...
#include <kanzi/core.ui/input_method/input_method.hpp>
Public Member Functions | |
| void | connect (InputMethodListener &listener, Node &attachedNode, string_view text, size_t cursorPosition, size_t selectionStart, size_t selectionEnd) |
| Connects an input method listener to this input method. More... | |
| void | disconnect (InputMethodListener &listener) |
| Disconnects the listener passed as argument. More... | |
| InputMethodListener * | getListener () const |
| Returns the active listener of the input method. More... | |
| bool | isBlocked () const |
| Checks whether the input method is blocked by another input method that is in the text composition state. More... | |
| void | notifyCompositionEnd (InputMethodListener &listener) |
| Notifies the input method that text composition is completed or canceled on the listener. More... | |
| void | notifyCompositionStart (InputMethodListener &listener) |
| Notifies the input method that text composition is started on the listener. More... | |
| void | notifyCursorMove (InputMethodListener &listener, size_t position) |
| Notifies the input method about the cursor position change in a listener. More... | |
| void | notifyEnterKeyCancel (InputMethodListener &listener) |
| Notifies the input method that the input method listener cancels the Enter key event. More... | |
| void | notifyEnterKeyLabelChange (InputMethodListener &listener, EnterKeyLabel label) |
| Notifies the input method that the label of the Enter key associated with the input method listener changed. More... | |
| void | notifyEnterKeyPress (InputMethodListener &listener) |
| Notifies the input method that the input method listener handles the Enter key press event. More... | |
| void | notifyEnterKeyRelease (InputMethodListener &listener) |
| Notifies the input method that the input method listener handles the Enter key release event. More... | |
| bool | notifyInputTypeAttributesChange (InputMethodListener &listener, EchoMode echoMode, InputType inputType) |
| Notifies the input method that the input type attributes of the listener changed. More... | |
| void | notifyReadOnlyChange (InputMethodListener &listener, bool readOnly) |
| Notifies the input method that the input method listener read-only state is changed. More... | |
| void | notifySelectionChange (InputMethodListener &listener, size_t start, size_t end) |
| Notifies the input method about changes in text selection in a listener. More... | |
| void | notifyTextChange (InputMethodListener &listener, string_view text, size_t position) |
| Notifies the input method about the text change in a listener passed as argument. More... | |
| virtual | ~InputMethod ()=default |
| Destructor. More... | |
Protected Member Functions | |
| NodeSharedPtr | getAttachedNode () const |
| Returns the node to which the input method is attached. More... | |
| InputMethod ()=default | |
| Default constructor. More... | |
Overridables | |
| virtual void | connectOverride (string_view text, size_t cursorPosition, size_t selectionStart, size_t selectionEnd)=0 |
| To store the current state of the active input method listener, override this method. More... | |
| virtual void | disconnectOverride ()=0 |
| To clear the state of the input method from previously active input method listener, override this method. More... | |
| virtual void | notifyTextChangeOverride (string_view text, size_t position)=0 |
| To handle the text change in an active input method listener, override this method. More... | |
| virtual void | notifyCompositionStartOverride ()=0 |
| To handle the start of the text composition on an active input method listener, override this method. More... | |
| virtual void | notifyCompositionEndOverride ()=0 |
| To handle the completion or cancellation of the text composition on an active input method listener, override this method. More... | |
| virtual void | notifyCursorMoveOverride (size_t position)=0 |
| To handle the cursor position change in an active input method listener, override this method. More... | |
| virtual void | notifySelectionChangeOverride (size_t start, size_t end)=0 |
| To handle the changes in text selection in an active input method listener, override this method. More... | |
| virtual bool | notifyInputTypeAttributesChangeOverride (EchoMode echoMode, InputType inputType) |
| To handle the change in the input type of the active input method listener, override this method. More... | |
| virtual void | notifyReadOnlyChangeOverride (bool readOnly) |
| To handle the change in the read-only state of the active input method listener, override this method. More... | |
| virtual void | notifyEnterKeyPressOverride () |
| Notifies the input method that the active input method listener handles the Enter key press event. More... | |
| virtual void | notifyEnterKeyReleaseOverride () |
| Notifies the input method that the active input method listener handles the Enter key release event. More... | |
| virtual void | notifyEnterKeyCancelOverride () |
| Notifies the input method that the active input method listener cancels the Enter key event. More... | |
| virtual void | notifyEnterKeyLabelChangeOverride (EnterKeyLabel label) |
| Notifies the active input method that the label of the Enter key associated with the input method listener changed. More... | |
Input Method Listener notification interface | |
| bool | disconnectListener () |
| To disconnect the input method from its active input method listener, call this method. More... | |
| void | setText (string_view text) |
| Tells the active input method listener to replace its cached text with the content passed in the text argument. More... | |
| void | insertText (size_t position, string_view text) |
| Tells the active input method listener to add a text to its cached text. More... | |
| void | deleteText (size_t start, size_t end) |
| Tells the active input method listener to remove the text between the start and end positions. More... | |
| void | startTextComposition () |
| Tells the active input method listener to enter text composition state at the current cursor position. More... | |
| void | updateCompositionText (string_view text) |
| Tells the active input method listener to update the composition text at a given position. More... | |
| void | commitCompositionText () |
| Tells the active input method listener to add the composition text received by previous calls of updateCompositionText() into the cached text. More... | |
| void | cancelTextComposition () |
| Tells the active input method listener to cancel the text composition and discard the composition text. More... | |
| void | moveCursor (size_t position) |
| Tells the active input method listener to update the cursor position. More... | |
| void | updateSelection (size_t start, size_t end) |
| Tells the active input method listener to update the cursor positions at the start and end of the text selection. More... | |
| void | updateInputType (InputType inputType) |
| Tells the active input method listener to update its input type. More... | |
| void | pressEnterKey () |
| Informs the active input method listener that the Enter key is pressed. More... | |
| void | releaseEnterKey () |
| Informs the active input method listener that the Enter key is released. More... | |
| void | cancelEnterKey () |
| Informs the active input method listener that the Enter key event is canceled. More... | |
The InputMethod class defines the interface of the Kanzi input methods.
You must derive your input method implementations from this interface.
|
virtualdefault |
Destructor.
|
explicitprotecteddefault |
Default constructor.
| void kanzi::InputMethod::connect | ( | InputMethodListener & | listener, |
| Node & | attachedNode, | ||
| string_view | text, | ||
| size_t | cursorPosition, | ||
| size_t | selectionStart, | ||
| size_t | selectionEnd | ||
| ) |
Connects an input method listener to this input method.
Passes the current state of the input method listener, including text and cursor positions used in the listener.
| listener | The input method listener to connect to the input method. |
| attachedNode | The Node to which the input method is attached. |
| text | The text in the listener. |
| cursorPosition | The position of the cursor. |
| selectionStart | The position of the start of text selection. |
| selectionEnd | The position of the end of text selection. |
| void kanzi::InputMethod::disconnect | ( | InputMethodListener & | listener | ) |
Disconnects the listener passed as argument.
| listener | The input method listener to disconnect. |
|
inline |
Returns the active listener of the input method.
|
inline |
Checks whether the input method is blocked by another input method that is in the text composition state.
| void kanzi::InputMethod::notifyTextChange | ( | InputMethodListener & | listener, |
| string_view | text, | ||
| size_t | position | ||
| ) |
Notifies the input method about the text change in a listener passed as argument.
| listener | The input method listener in which the text changed. |
| text | The text in the input method listener to update. |
| position | The cursor position in the input method listener. |
| void kanzi::InputMethod::notifyCompositionStart | ( | InputMethodListener & | listener | ) |
Notifies the input method that text composition is started on the listener.
| listener | The input method listener where text composition is started. |
| void kanzi::InputMethod::notifyCompositionEnd | ( | InputMethodListener & | listener | ) |
Notifies the input method that text composition is completed or canceled on the listener.
| listener | The input method listener where text composition is completed or canceled. |
| void kanzi::InputMethod::notifyCursorMove | ( | InputMethodListener & | listener, |
| size_t | position | ||
| ) |
Notifies the input method about the cursor position change in a listener.
| listener | The input method listener where the cursor position changed. |
| position | The cursor position in the input method listener. |
| void kanzi::InputMethod::notifySelectionChange | ( | InputMethodListener & | listener, |
| size_t | start, | ||
| size_t | end | ||
| ) |
Notifies the input method about changes in text selection in a listener.
If both the start and the end position have the same value, the selection is cleared.
| listener | The input method listener where text selection changed. |
| start | The position of the start of text selection in the input method listener. |
| end | The position of the end of text selection in the input method listener. |
| bool kanzi::InputMethod::notifyInputTypeAttributesChange | ( | InputMethodListener & | listener, |
| EchoMode | echoMode, | ||
| InputType | inputType | ||
| ) |
Notifies the input method that the input type attributes of the listener changed.
| listener | The input method listener whose input type changed. |
| echoMode | The echo mode of the input method listener. |
| inputType | The input type of the input method listener. |
| void kanzi::InputMethod::notifyReadOnlyChange | ( | InputMethodListener & | listener, |
| bool | readOnly | ||
| ) |
Notifies the input method that the input method listener read-only state is changed.
| listener | The input method listener whose read-only state changed. |
| readOnly | The read-only state of the input method listener. |
| void kanzi::InputMethod::notifyEnterKeyPress | ( | InputMethodListener & | listener | ) |
Notifies the input method that the input method listener handles the Enter key press event.
| listener | The input method listener that handles the Enter key press event. |
| void kanzi::InputMethod::notifyEnterKeyRelease | ( | InputMethodListener & | listener | ) |
Notifies the input method that the input method listener handles the Enter key release event.
| listener | The input method listener that handles the Enter key release event. |
| void kanzi::InputMethod::notifyEnterKeyCancel | ( | InputMethodListener & | listener | ) |
Notifies the input method that the input method listener cancels the Enter key event.
| listener | The input method listener that cancels the Enter key event. |
| void kanzi::InputMethod::notifyEnterKeyLabelChange | ( | InputMethodListener & | listener, |
| EnterKeyLabel | label | ||
| ) |
Notifies the input method that the label of the Enter key associated with the input method listener changed.
Override this method if the input method supports changing the Enter key label.
| listener | The input method listener whose Enter key label changed. |
| label | The Enter key label associated to the input method listener. |
|
inlineprotected |
Returns the node to which the input method is attached.
|
protectedpure virtual |
To store the current state of the active input method listener, override this method.
The state includes text and cursor positions used in the listener.
| text | The text in the listener. |
| cursorPosition | The position of the cursor. |
| selectionStart | The position of the start of text selection. |
| selectionEnd | The position of the end of text selection. |
Implemented in kanzi::WindowsIme.
|
protectedpure virtual |
To clear the state of the input method from previously active input method listener, override this method.
Do not call getListener() or getAttachedNode() inside disconnectOverride(). Kanzi can be already destroying the attached node and previously active listener.
Implemented in kanzi::WindowsIme.
|
protectedpure virtual |
To handle the text change in an active input method listener, override this method.
| text | The text in the input method listener to update. |
| position | The cursor position in the input method listener. |
Implemented in kanzi::WindowsIme.
|
protectedpure virtual |
To handle the start of the text composition on an active input method listener, override this method.
Implemented in kanzi::WindowsIme.
|
protectedpure virtual |
To handle the completion or cancellation of the text composition on an active input method listener, override this method.
Implemented in kanzi::WindowsIme.
|
protectedpure virtual |
To handle the cursor position change in an active input method listener, override this method.
| position | The cursor position in the input method listener. |
Implemented in kanzi::WindowsIme.
|
protectedpure virtual |
To handle the changes in text selection in an active input method listener, override this method.
If both the start and the end position have the same value, Kanzi clears the selection.
| start | The position of the start of text selection in the input method listener. |
| end | The position of the end of text selection in the input method listener. |
Implemented in kanzi::WindowsIme.
|
inlineprotectedvirtual |
To handle the change in the input type of the active input method listener, override this method.
The implementation must validate the input type and echo mode combination. If the combination is not valid, the implementation must update the input type of the input method listener.
| echoMode | The echo mode of the input method listener. |
| inputType | The input type of the input method listener. |
|
inlineprotectedvirtual |
To handle the change in the read-only state of the active input method listener, override this method.
| readOnly | The read-only state of the input method listener. |
|
inlineprotectedvirtual |
Notifies the input method that the active input method listener handles the Enter key press event.
Reimplemented in kanzi::WindowsIme.
|
inlineprotectedvirtual |
Notifies the input method that the active input method listener handles the Enter key release event.
Reimplemented in kanzi::WindowsIme.
|
inlineprotectedvirtual |
Notifies the input method that the active input method listener cancels the Enter key event.
Reimplemented in kanzi::WindowsIme.
|
inlineprotectedvirtual |
Notifies the active input method that the label of the Enter key associated with the input method listener changed.
Override this method if the input method supports changing the Enter key label.
| label | The Enter key label associated to the input method listener. |
|
protected |
To disconnect the input method from its active input method listener, call this method.
Do not call this method from disconnectOverride().
|
protected |
Tells the active input method listener to replace its cached text with the content passed in the text argument.
| text | The new text to set. |
|
protected |
Tells the active input method listener to add a text to its cached text.
| position | The position at which to add the text. |
| text | The text to append to the cached text. |
|
protected |
Tells the active input method listener to remove the text between the start and end positions.
| start | The start position of the text to remove. |
| end | The end position of the text to remove. |
|
protected |
Tells the active input method listener to enter text composition state at the current cursor position.
|
protected |
Tells the active input method listener to update the composition text at a given position.
| position | The position where the text is added. |
| text | The text to append to the cached text. |
|
protected |
Tells the active input method listener to add the composition text received by previous calls of updateCompositionText() into the cached text.
|
protected |
Tells the active input method listener to cancel the text composition and discard the composition text.
|
protected |
Tells the active input method listener to update the cursor position.
| position | The position of the cursor to set. |
|
protected |
Tells the active input method listener to update the cursor positions at the start and end of the text selection.
| start | The cursor position at the start of the text selection to set. |
| end | The cursor position at the end of the text selection to set. |
|
protected |
Tells the active input method listener to update its input type.
| inputType | The input type to set. |
|
protected |
Informs the active input method listener that the Enter key is pressed.
|
protected |
Informs the active input method listener that the Enter key is released.
|
protected |
Informs the active input method listener that the Enter key event is canceled.