Input and focus handling More...
Classes | |
class | kanzi::AutoClosingModalScope |
Implements the auto-closing modal scopes. More... | |
class | kanzi::AutoClosingModelessScope |
Implements the auto-closing modeless focus scope. More... | |
class | kanzi::ClickConcept |
Use the ClickConcept properties to control how nodes handle click and double-click. More... | |
class | kanzi::ClickConceptImpl< TBaseClass, TDerivedClass > |
Implementation of base Click Concept class for derived classes. More... | |
class | kanzi::ClickManipulator |
Click input manipulator recognizes the click and tap gestures from the incoming touch events. More... | |
class | kanzi::ClickManipulatorComponent |
ClickManipulatorComponent installs a ClickManipulator to a node. More... | |
class | kanzi::DragAndDropManipulator |
Drag-and-drop input manipulator recognizes the drag-and-drop gesture from incoming touch events. More... | |
class | kanzi::EventFilter |
EventFilter class. More... | |
class | kanzi::EventQueue |
The EventQueue class implements a queue of Kanzi input events gathered by EventSource instances. More... | |
class | kanzi::EventSource |
EventSource class. More... | |
class | kanzi::EventSourceDecorator |
The EventSourceDecorator declares the interface for the EventSource decorators. More... | |
struct | kanzi::EventSourceProperties |
Configurable event source properties. More... | |
struct | kanzi::FocusChainIndex |
Contains the focus order and focus order offset information of a node in a focus scope. More... | |
struct | kanzi::FocusChainNode |
The focus chain node of a focus scope consists of the node of the focus scope, its focus order, and the focus order offset. More... | |
class | kanzi::FocusFence |
Implements the focus fences. More... | |
class | kanzi::FocusGroup |
Implements the focus groups. More... | |
class | kanzi::FocusManager |
Focus Manager enables you to set and change the key focus between attached nodes. More... | |
struct | kanzi::FocusNavigationGesture |
Declares a focus navigation gesture. More... | |
class | kanzi::FocusNavigationManipulator |
FocusNavigationManipulator converts key gestures into focus chain navigation actions to move the focus between focusable nodes. More... | |
class | kanzi::FocusScope |
The FocusScope class holds the attributes of a focus scope: More... | |
class | kanzi::FocusScopeVisitor |
Focus scope visitor for UI scene traversal of focus scopes. More... | |
class | kanzi::InputManager |
Input Manager converts the events from the given event queue into input specific messages. More... | |
class | kanzi::InputManipulator |
The base class for the Kanzi input manipulators. More... | |
class | kanzi::KeyManipulator |
KeyManipulator class is a key input manipulator that detects key gestures. More... | |
class | kanzi::KeyManipulatorComponent |
The KeyManipulatorComponent node component installs a KeyManipulator to the attached node, and configures the key gesture of the manipulator. More... | |
struct | kanzi::KeyMap |
Defines the keys to map from a {LogicalKey, KeyModifier} pair to a simple LogicalKey. More... | |
class | kanzi::KeyMapEventFilter |
The KeyMapEventFilter provides key translation in Kanzi. More... | |
class | kanzi::KeyRepeatGenerator |
The KeyRepeatGenerator is an event source decorator that scans the event queue of the EventSource it extends for key-press events and generates from them key-press repetitions. More... | |
class | kanzi::LongPressManipulator |
Long-press input manipulator recognizes the long-press gesture from the incoming touch events. More... | |
class | kanzi::LongPressManipulatorComponent |
LongPressManipulatorComponent installs a LongPressManipulator to a node. More... | |
class | kanzi::ModalScope |
Implements the modal scopes. More... | |
class | kanzi::ModelessScope |
Implements the modeless overlay focus scopes. More... | |
class | kanzi::MultiClickManipulator |
Multi-click input manipulator recognizes multi-click and multi-tap gestures from incoming touch events. More... | |
class | kanzi::MultiClickManipulatorComponent |
MultiClickManipulatorComponent installs a MultiClickManipulator to a node. More... | |
class | kanzi::NavigationManipulator |
The NavigationManipulator supports these navigation directions and default keyboard keys for them: More... | |
class | kanzi::NavigationManipulatorComponent |
The NavigationManipulatorComponent node component installs a NavigationManipulator to a node, and configures the navigation key gestures of the manipulator. More... | |
class | kanzi::OverlayScope |
Implements the base of overlay focus scopes. More... | |
class | kanzi::PanManipulator |
Pan input manipulator recognizes a pan gesture from the incoming touch events. More... | |
class | kanzi::PanManipulatorComponent |
PanManipulatorComponent installs a PanManipulator to a node. More... | |
class | kanzi::PinchManipulator |
Pinch input manipulator recognizes the pinch gesture from the incoming touch events. More... | |
class | kanzi::TextInputManipulator |
The text input manipulator handles key gestures used with TextBox nodes to move the cursor, select text, and delete text, and provides the basics of text editing capabilities in Kanzi. More... | |
class | kanzi::VisitorFunction |
Wraps a focus scope visitor function into a FocusScopeVisitor. More... | |
Typedefs | |
using | kanzi::PopupScope |
Implements the popup scopes. | |
Functions | |
FocusScope * | kanzi::findAncestorScopeForNode (const Node &node) |
Returns the ancestor focus scope of the node that you pass as an argument. | |
template<typename Predicate > | |
FocusScope * | kanzi::findAncestorScopeIf (Node &first, Node &last, Predicate predicate) |
Find the first ancestor scope in the [first node, last node) range, for which the predicate returns true. | |
template<typename Predicate > | |
FocusScope * | kanzi::findAncestorScopeIfNot (Node &first, Node &last, Predicate predicate) |
Find the first ancestor scope in the [first node, last node) range, for which the predicate returns false. | |
FocusFence * | kanzi::findFenceForNode (const Node &node) |
Returns the focus fence of the given node that you pass as an argument. | |
template<typename Function > | |
OverlayScope * | kanzi::findInputPropagationOverlayIf (OverlayScope *overlayScope, Function predicate) |
Finds the overlay focus scope that is the overlayScope, or one of its preceding overlay focus scopes to which Kanzi lets the input propagate, for which the predicate function returns true. | |
OverlayScope * | kanzi::findOverlayScopeForNode (const Node &node) |
Returns the overlay focus scope to which the node that you pass in this function belongs. | |
FocusScope * | kanzi::findScopeForNode (const Node &node) |
Returns the focus scope of the node that you pass as an argument. | |
template<typename Function > | |
void | kanzi::forEachAncestorNodeInScope (const Node &node, const FocusScope *scope, Function function) |
Execute a function for every ancestor node of the node, until and including the focus scope node that is an ancestor of the node. | |
template<typename Function > | |
void | kanzi::forEachAncestorScope (Node &first, Node &last, Function function) |
Execute a function for every focus scope in the [first node, last node) range. | |
template<typename Function > | |
void | kanzi::forEachAncestorScopeOf (Node &node, Function function) |
Executes a function for every ancestor focus scope of the node, until and including the overlay focus scope node that owns the node. | |
Node * | kanzi::getScopeFocusedNode (Node &node) |
Returns the last-focused node of the scope node. | |
template<typename TWrappedType > | |
shared_ptr< TWrappedType > | kanzi::getWrappedEventSource (EventSourceSharedPtr eventSource) |
Returns the event source wrapper of TWrappedType type from the passed event source. | |
bool | kanzi::isNodeInFocusableOverlay (const Node &node) |
Returns whether the given node is in one of the overlay scopes that are on top of the foremost modal scope, or in that modal scope itself. | |
bool | kanzi::isOverlayFocusable (const OverlayScope &overlay) |
Returns whether the given overlay is focusable. | |
bool | kanzi::isOverlayScope (const FocusScope *scope) |
Returns whether the focus scope passed as argument is an overlay focus scope. | |
kanzi::KZ_ENABLE_BITMASK_OPERATORS (KeyModifier) | |
kanzi::KZ_ENABLE_BITMASK_OPERATORS (PointerButton) | |
bool | kanzi::operator!= (const FocusChainIndex &lhs, const FocusChainIndex &rhs) |
Inequality operator overload for focus chain index. | |
bool | kanzi::operator< (const FocusChainIndex &lhs, const FocusChainIndex &rhs) |
Less operator overload for focus chain index. | |
bool | kanzi::operator<= (const FocusChainIndex &lhs, const FocusChainIndex &rhs) |
Less or equal operator overload for focus chain index. | |
bool | kanzi::operator== (const FocusChainIndex &lhs, const FocusChainIndex &rhs) |
Equality operator overload for focus chain index. | |
bool | kanzi::operator> (const FocusChainIndex &lhs, const FocusChainIndex &rhs) |
Greater operator overload for focus chain index. | |
bool | kanzi::operator>= (const FocusChainIndex &lhs, const FocusChainIndex &rhs) |
Greater or equal operator overload for focus chain index. | |
void | kanzi::setScopeFocusedNode (Node &scope, Node &node) |
Sets the focus node for the given scope node. | |
FocusChainNode | kanzi::unwrapFocusChainNode (FocusScope::FocusChain::FocusedTuple wrapped) |
Unwraps the focus chain node representation of the focused node of a focus scope from a wrapped node. | |
Input and focus handling
Enumeration to select translation of events.
|
strong |
Key modifier flags. You can set more than one modifier at a time for a KeyEvent.
Enumerator | |
---|---|
Undefined | No key modifier is set, or the modifier is undefined. |
CapsLock | Specifies the Caps lock key modifier. |
LeftShift | Specifies the left Shift key modifier. |
RightShift | Specifies the right Shift key modifier. |
LeftControl | Specifies the left Control key modifier. |
RightControl | Specifies the right Control key modifier. |
LeftAlt | Specifies the left Alt key modifier. |
RightAlt | Specifies the right Alt key modifier. |
LeftSuper | Specifies the left Super key modifier.
|
RightSuper | Specifies the right Super key modifier.
|
Shift | Specifies the Shift modifier, used when the operating system does not separate the left and right Shift modifiers. |
Control | Specifies the Control modifier, used when the operating system does not separate the left and right Control modifiers. |
Alt | Specifies the Alt modifier, used when the operating system does not separate the left and right Alt modifiers. |
Super | Specifies the Super modifier, used when the operating system does not separate the left and right Super modifiers.
|
|
strong |
Platform independent key enumeration.
Enumerator | |
---|---|
Unknown | Unknown keys are used for unmapped keys. |
Number0 | Identifies the 0 key. |
Number1 | Identifies the 1 key. |
Number2 | Identifies the 2 key. |
Number3 | Identifies the 3 key. |
Number4 | Identifies the 4 key. |
Number5 | Identifies the 5 key. |
Number6 | Identifies the 6 key. |
Number7 | Identifies the 7 key. |
Number8 | Identifies the 8 key. |
Number9 | Identifies the 9 key. |
Comma | Identifies the comma key. |
Period | Identifies the period key. |
Semicolon | Identifies the semicolon key. |
Pipe | Identifies the pipe key. |
Quote | Identifies the quote key. |
DecimalSeparator | Allows for the key mapping of a locale specific decimal separator. |
ThousandsSeparator | Allows for the key mapping of a locale specific thousands separator. |
A | Identifies the A key. |
B | Identifies the B key. |
C | Identifies the C key. |
D | Identifies the D key. |
E | Identifies the E key. |
F | Identifies the F key. |
G | Identifies the G key. |
H | Identifies the H key. |
I | Identifies the I key. |
J | Identifies the J key. |
K | Identifies the K key. |
L | Identifies the L key. |
M | Identifies the M key. |
N | Identifies the N key. |
O | Identifies the O key. |
P | Identifies the P key. |
Q | Identifies the Q key. |
R | Identifies the R key. |
S | Identifies the S key. |
T | Identifies the T key. |
U | Identifies the U key. |
V | Identifies the V key. |
W | Identifies the W key. |
X | Identifies the X key. |
Y | Identifies the Y key. |
Z | Identifies the Z key. |
Space | Identifies the white-space key. |
Backspace | Identifies the backspace key. |
Enter | Identifies the Enter key. |
Tab | Identifies the Tab key. |
BackTab | Identifies the Back Tab key. |
Escape | Identifies the Escape key. |
CapsLock | Identifies the CapsLock key. |
NumLock | Identifies the NumLock key. |
PrintScreen | Identifies the PrintScreen key. |
ScrollLock | Identifies the ScrollLock key. |
Break | Identifies the Break key. |
Insert | Identifies the Insert key. |
Delete | Identifies the Delete key. |
Home | Identifies the Home key. |
End | Identifies the End key. |
PageUp | Identifies the PageUp key. |
PageDown | Identifies the PageDown key. |
Plus | Identifies the plus key. |
Minus | Identifies the minus key. |
Multiply | Identifies the asterisk key. |
Divide | Identifies the slash key. |
ArrowUp | Identifies the arrow up key. |
ArrowDown | Identifies the arrow down key. |
ArrowLeft | Identifies the arrow left key. |
ArrowRight | Identifies the arrow right key. |
Numpad0 | Identifies the 0 key from the numeric keypad. |
Numpad1 | Identifies the 1 key from the numeric keypad. |
Numpad2 | Identifies the 2 key from the numeric keypad. |
Numpad3 | Identifies the 3 key from the numeric keypad. |
Numpad4 | Identifies the 4 key from the numeric keypad. |
Numpad5 | Identifies the 5 key from the numeric keypad. |
Numpad6 | Identifies the 6 key from the numeric keypad. |
Numpad7 | Identifies the 7 key from the numeric keypad. |
Numpad8 | Identifies the 8 key from the numeric keypad. |
Numpad9 | Identifies the 9 key from the numeric keypad. |
NumpadDivide | Identifies the slash key from the numeric keypad. |
NumpadMultiply | Identifies the asterisk key from the numeric keypad. |
NumpadPlus | Identifies the plus key from the numeric keypad. |
NumpadMinus | Identifies the minus key from the numeric keypad. |
NumpadComma | Identifies the comma key from the numeric keypad. |
NumpadEnter | Identifies the Enter key from the numeric keypad. |
F1 | Identifies the F1 function key. |
F2 | Identifies the F2 function key. |
F3 | Identifies the F3 function key. |
F4 | Identifies the F4 function key. |
F5 | Identifies the F5 function key. |
F6 | Identifies the F6 function key. |
F7 | Identifies the F7 function key. |
F8 | Identifies the F8 function key. |
F9 | Identifies the F9 function key. |
F10 | Identifies the F10 function key. |
F11 | Identifies the F11 function key. |
F12 | Identifies the F12 function key. |
VolumeUp | Identifies the volume up key. |
VolumeDown | Identifies the volume down key. |
Softkey1 | Identifies the first softkey button, typically present on a phone layout. |
Softkey2 | Identifies the second softkey button, typically present on a phone layout. |
Softkey3 | Identifies the third softkey button, typically present on a phone layout. |
Softkey4 | Identifies the fourth softkey button, typically present on a phone layout. |
Shift | Identifies the Shift modifier key. |
Control | Identifies the Control modifier key. |
Alt | Identifies the Alt modifier key. |
Super | Identifies the Super key. You can map Windows key on Windows OS, or Command key on Mac OS to it. |
Menu | Identifies the menu key on keyboards where the key is available. The key is also known as "hamburger button" on Android key layouts. |
LeftAlt | Identifies the left Alt modifier key. |
LeftControl | Identifies the left Control modifier key. |
LeftShift | Identifies the left Shift modifier key. |
LeftSuper | Identifies the left Super key. |
RightAlt | Identifies the right Alt modifier key. |
RightControl | Identifies the right Control modifier key. |
RightShift | Identifies the right Shift modifier key. |
RightSuper | Identifies the right Super key. |
ButtonA | Identifies the A button on game controllers. |
ButtonB | Identifies the B button on game controllers. |
ButtonC | Identifies the C button on game controllers. |
ButtonX | Identifies the X button on game controllers. |
ButtonY | Identifies the Y button on game controllers. |
ButtonZ | Identifies the Z button on game controllers. |
ButtonL1 | Identifies the L1 button on game controllers. |
ButtonL2 | Identifies the L2 button on game controllers. |
ButtonR1 | Identifies the R1 button on game controllers. |
ButtonR2 | Identifies the R2 button on game controllers. |
ButtonSelect | Identifies the select button on game controllers. |
ButtonStart | Identifies the start button on game controllers. |
ButtonThumbL | Identifies the ThumbL button on game controllers. |
ButtonThumbR | Identifies the ThumbR button on game controllers. |
ButtonMode | Identifies the mode button on game controllers. |
Max | Specifies the number of logical key values. When extended, the enum value must be kept as last element of the enumeration. |
|
strong |
|
strong |
|
strong |
Indicates the states of a pointing device.
|
strong |
|
strong |
Indicates the states of a touch point.
shared_ptr< TWrappedType > kanzi::getWrappedEventSource | ( | EventSourceSharedPtr | eventSource | ) |
Returns the event source wrapper of TWrappedType type from the passed event source.
If the event source is not a valid TWrappedType, but it is wrapped in an EventSourceDecorator, the function continues to cross-cast the event source returned by the EventSourceDecorator::getEventSource(), until it finds a valid event source.
TWrappedType | The wrapped event source type. |
eventSource | The event source to cross-cast. |
bool kanzi::operator> | ( | const FocusChainIndex & | lhs, |
const FocusChainIndex & | rhs ) |
Greater operator overload for focus chain index.
bool kanzi::operator< | ( | const FocusChainIndex & | lhs, |
const FocusChainIndex & | rhs ) |
Less operator overload for focus chain index.
bool kanzi::operator>= | ( | const FocusChainIndex & | lhs, |
const FocusChainIndex & | rhs ) |
Greater or equal operator overload for focus chain index.
bool kanzi::operator<= | ( | const FocusChainIndex & | lhs, |
const FocusChainIndex & | rhs ) |
Less or equal operator overload for focus chain index.
bool kanzi::operator== | ( | const FocusChainIndex & | lhs, |
const FocusChainIndex & | rhs ) |
Equality operator overload for focus chain index.
bool kanzi::operator!= | ( | const FocusChainIndex & | lhs, |
const FocusChainIndex & | rhs ) |
Inequality operator overload for focus chain index.
FocusChainNode kanzi::unwrapFocusChainNode | ( | FocusScope::FocusChain::FocusedTuple | wrapped | ) |
Unwraps the focus chain node representation of the focused node of a focus scope from a wrapped node.
wrapped | The tuple with the focus chain and the iterator that points to the focus chain node compacted. |
FocusScope * kanzi::findScopeForNode | ( | const Node & | node | ) |
Returns the focus scope of the node that you pass as an argument.
If that node is the focus scope node, returns the focus scope of the node itself.
node | The node whose focus scope you want to get. |
FocusScope * kanzi::findAncestorScopeForNode | ( | const Node & | node | ) |
Returns the ancestor focus scope of the node that you pass as an argument.
node | The node whose focus scope you want to get. |
FocusFence * kanzi::findFenceForNode | ( | const Node & | node | ) |
Returns the focus fence of the given node that you pass as an argument.
node | The node whose focus fence node you want to get. |
OverlayScope * kanzi::findOverlayScopeForNode | ( | const Node & | node | ) |
Returns the overlay focus scope to which the node that you pass in this function belongs.
node | The node for which to find the overlay focus scope. |
bool kanzi::isOverlayScope | ( | const FocusScope * | scope | ) |
Returns whether the focus scope passed as argument is an overlay focus scope.
scope | The focus scope to check. |
Returns whether the given node is in one of the overlay scopes that are on top of the foremost modal scope, or in that modal scope itself.
bool kanzi::isOverlayFocusable | ( | const OverlayScope & | overlay | ) |
Returns whether the given overlay is focusable.
An overlay is focusable if it is the foremost modal overlay or a modeless overlay above the foremost modal overlay in the overlay stack.
Execute a function for every focus scope in the [first node, last node) range.
Function | A function with a {void(FocusScope&)}
string logArgumentToString(const JNIError &jniError) Used by logging system to convert legacy exception type objects to string. Definition jni_error.hpp:26 The FocusScope class holds the attributes of a focus scope: Definition focus_scope.hpp:668 |
first | The node which defines the first focus scope of the range. |
last | The node which must be the ancestor node, but not the scope node of the last focus scope of the range. |
function | The function to execute on each focus scope in the range. |
Executes a function for every ancestor focus scope of the node, until and including the overlay focus scope node that owns the node.
Function | A function with a {void(FocusScope&)}
|
node | The node for whose focus scope you want to start the function execution. |
function | The function to execute on each focus scope. |
void kanzi::forEachAncestorNodeInScope | ( | const Node & | node, |
const FocusScope * | scope, | ||
Function | function ) |
Execute a function for every ancestor node of the node, until and including the focus scope node that is an ancestor of the node.
Function | A function with a |
node | The node on which you want to start the function execution. |
scope | The scope that is the ancestor of the node. |
function | The function to execute on each ancestor node until the scope node. |
FocusScope * kanzi::findAncestorScopeIf | ( | Node & | first, |
Node & | last, | ||
Predicate | predicate ) |
Find the first ancestor scope in the [first node, last node) range, for which the predicate returns true.
Predicate | A function with a {bool(FocusScope&)}
|
first | The node which defines the first focus scope of the range. |
last | The node which must be the ancestor node, but not the scope node of the last focus scope of the range. |
predicate | The function to execute on each focus scope. |
FocusScope * kanzi::findAncestorScopeIfNot | ( | Node & | first, |
Node & | last, | ||
Predicate | predicate ) |
Find the first ancestor scope in the [first node, last node) range, for which the predicate returns false.
Predicate | A function with a {bool(FocusScope&)}
|
first | The node which defines the first focus scope of the range. |
last | The node which must be the ancestor node, but not the scope node of the last focus scope of the range. |
predicate | The function to execute on each focus scope. |
OverlayScope * kanzi::findInputPropagationOverlayIf | ( | OverlayScope * | overlayScope, |
Function | predicate ) |
Finds the overlay focus scope that is the overlayScope, or one of its preceding overlay focus scopes to which Kanzi lets the input propagate, for which the predicate function returns true.
Function | A function with a {bool(OverlayScope&)}
|
overlayScope | The overlay focus scope on which you want to start the function execution. |
predicate | The function to execute on each overlay focus scope. |
Returns the last-focused node of the scope node.
node | The scope node for which to return the last-focused node. |
Sets the focus node for the given scope node.
Clears the last-focused node of the scope, and sets the last-focused node of the scope to the node.
scope | The scope to which the focus node is set. |
node | The node which becomes the focus node of the scope. |
kanzi::KZ_ENABLE_BITMASK_OPERATORS | ( | KeyModifier | ) |
kanzi::KZ_ENABLE_BITMASK_OPERATORS | ( | PointerButton | ) |