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 keyboard 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 |
InputManager 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 = AutoClosingModalScope |
Implements the popup scopes. More... | |
Enumerations | |
enum | kanzi::InputTranslation { kanzi::TranslateNone, kanzi::TranslatePointerToTouch, kanzi::TranslateTouchToPointer, kanzi::TranslatePointerToTouchPreserve, kanzi::TranslateTouchToPointerPreserve } |
Enumeration to select translation of events. More... | |
Functions | |
FocusScope * | kanzi::findAncestorScopeForNode (const Node &node) |
Returns the ancestor focus scope of the node that you pass as an argument. More... | |
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. More... | |
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. More... | |
FocusFence * | kanzi::findFenceForNode (const Node &node) |
Returns the focus fence of the given node that you pass as an argument. More... | |
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. More... | |
OverlayScope * | kanzi::findOverlayScopeForNode (const Node &node) |
Returns the overlay focus scope to which the node that you pass in this function belongs. More... | |
FocusScope * | kanzi::findScopeForNode (const Node &node) |
Returns the focus scope of the node that you pass as an argument. More... | |
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. More... | |
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. More... | |
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. More... | |
Node * | kanzi::getScopeFocusedNode (Node &node) |
Returns the last-focused node of the scope node. More... | |
template<typename TWrappedType > | |
shared_ptr< TWrappedType > | kanzi::getWrappedEventSource (EventSourceSharedPtr eventSource) |
Returns the event source wrapper of TWrappedType type from the passed event source. More... | |
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. More... | |
bool | kanzi::isOverlayFocusable (const OverlayScope &overlay) |
Returns whether the given overlay is focusable. More... | |
bool | kanzi::isOverlayScope (const FocusScope *scope) |
Returns whether the focus scope passed as argument is an overlay focus scope. More... | |
bool | kanzi::operator!= (const FocusChainIndex &lhs, const FocusChainIndex &rhs) |
Inequality operator overload for focus chain index. More... | |
bool | kanzi::operator< (const FocusChainIndex &lhs, const FocusChainIndex &rhs) |
Less operator overload for focus chain index. More... | |
bool | kanzi::operator<= (const FocusChainIndex &lhs, const FocusChainIndex &rhs) |
Less or equal operator overload for focus chain index. More... | |
bool | kanzi::operator== (const FocusChainIndex &lhs, const FocusChainIndex &rhs) |
Equality operator overload for focus chain index. More... | |
bool | kanzi::operator> (const FocusChainIndex &lhs, const FocusChainIndex &rhs) |
Greater operator overload for focus chain index. More... | |
bool | kanzi::operator>= (const FocusChainIndex &lhs, const FocusChainIndex &rhs) |
Greater or equal operator overload for focus chain index. More... | |
void | kanzi::setScopeFocusedNode (Node &scope, Node &node) |
Sets the focus node for the given scope node. More... | |
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. More... | |
Input and focus handling.
using kanzi::PopupScope = typedef AutoClosingModalScope |
Enumeration to select translation of events.
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. |
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.
An overlay is focusable if it is the foremost modal overlay or a modeless overlay above the foremost modal overlay in the overlay stack.
void kanzi::forEachAncestorScope | ( | Node & | first, |
Node & | last, | ||
Function | function | ||
) |
Execute a function for every focus scope in the [first node, last node) range.
Function | A function with a {void(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. |
function | The function to execute on each focus scope in the range. |
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.
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 {void(Node&)} |
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. |