Kanzi  3.9.9
Kanzi Engine C++ API
kanzi::ModelessScope Class Reference

Implements the modeless overlay focus scopes. More...

#include <kanzi/core.ui/input/focus_scope.hpp>

Inheritance diagram for kanzi::ModelessScope:
[legend]

Public Member Functions

OverlayScopegetInputPropagationOverlay () const override
 Overrides OverlayScope::getInputPropagationOverlay(). More...
 
FocusScopeType getType () const override
 Returns the focus scope type. More...
 
 ModelessScope (Node &root)
 Constructor. More...
 
- Public Member Functions inherited from kanzi::OverlayScope
OverlayScopegetOverlayScope () const override
 Overrides FocusScope::getOverlayScope() by always returning nullptr, because overlay scopes have no owning overlay scopes. More...
 
FocusScopegetParent () const override
 Overrides FocusScope::getParent() by always returning nullptr, because overlay scopes have no parent scopes. More...
 
bool isForemostScope () const
 Checks whether the focus scope is the foremost scope of the overlay scope stack. More...
 
bool isInputEnabled () const
 Returns whether input handling is enabled for the overlay scope. More...
 
bool isNodeInScope (const Node &node) const override
 Overrides FocusScope::isNodeInScope(). More...
 
virtual void notifyOverlayBelowGainedFocus (OverlayScope *overlay)
 Notifies an overlay focus scope that an overlay below it gained the focus. More...
 
void removeFocus (kanzi::FocusReason reason)
 Removes focus from the overlay but preserves last-focused information. More...
 
FocusChainNode tryMoveFocusAcrossNestedScopes (FocusChainDirection direction)
 Tries to set the focus to a node relative to the focused node of the overlay focus scope, using the focus chain navigation. More...
 
FocusChainNode trySetFocus (Node &node)
 Tries to set the focus to a node of the focus scope. More...
 
 ~OverlayScope () override
 Destructor. More...
 
- Public Member Functions inherited from kanzi::FocusFence
 FocusFence (Node &root)
 Constructor. More...
 
- Public Member Functions inherited from kanzi::FocusScope
bool canFocusEnter () const
 Returns whether the focus can enter the focus scope. More...
 
bool canFocusLeave () const
 Returns whether the focus can leave the focus scope. More...
 
bool canGetLastFocused () const
 Returns whether the focus scope node can be the last-focused node of its owning focus scope. More...
 
NodeSharedPtr findNodeToRecoverFocusWhenScopeChangeTo (FocusScopePtr &newScopeInfo) const
 Finds a node to which Kanzi tries to set the focus after this focus scope changes to newScopeInfo and the scope type change itself did not restore focus to any node. More...
 
FocusChainNode findNodeToRestoreFocusOn ()
 Finds a focusable node to which tryRestoreScopeFocusedNode() restores the focus when called with Direction set to Next and Reason set to Force. More...
 
FocusChainNode getFocus () const
 Returns the focus node of a focus scope. More...
 
FocusChainSharedPtr getFocusChainSnapshot ()
 Returns a snapshot of the focus chain of a focus scope. More...
 
FocusChainSharedPtr getFocusChainSnapshot (bool onlyEffectivelyVisible)
 Returns a snapshot of the focus chain of a focus scope. More...
 
FocusNavigationManipulatorSharedPtr getFocusNavigationManipulator () const
 Returns the focus navigation manipulator of a focus scope. More...
 
NodegetRoot () const
 Returns the focus scope node. More...
 
bool isAttached () const
 Returns whether a focus scope node is attached. More...
 
bool isFocusChainEmpty () const
 Returns whether the focus chain of a focus scope is empty. More...
 
bool isFocusChainEmpty (bool onlyEffectivelyVisible) const
 Returns whether the focus chain of a focus scope is empty. More...
 
void setFocusNavigationManipulator (FocusNavigationManipulatorSharedPtr newManipulator)
 Sets the focus navigation manipulator of the focus scope. More...
 
FocusChainNode tryMoveFocusInScope (FocusChainDirection direction)
 Tries to set the focus to a node relative to the current focus node of the focus scope using the focus chain navigation. More...
 
FocusChainNode tryRestoreScopeFocusedNode (Node *currentFocus, FocusReason reason, FocusChainDirection direction)
 Tries to restore the focus to the last-focused node of a focus scope. More...
 
Node::VisitorResult visitFocusChain (FocusScopeVisitor &visitor)
 Visits the focus chain of the focus scope, and calls the visitor on each node. More...
 
Node::VisitorResult visitFocusScope (FocusScopeVisitor &visitor)
 Visits the focusable nodes of the focus scope, including nested focus scope nodes. More...
 
virtual ~FocusScope ()
 Destructor. More...
 
FocusChainIndex getLastFocused () const
 Returns the focus chain index of the last-focused node of a focus scope. More...
 
void setLastFocused (const FocusChainIndex &lastFocus)
 Sets the focus chain index of the last-focused node of the focus scope. More...
 
void clearLastFocused ()
 Clears the focus chain index of the last-focused node of a focus scope. More...
 
FocusChainNode getLastFocusedNode () const
 Returns the last-focused node of a focus scope. More...
 
FocusChainNode setLastFocusedNode (const Node &lastFocused)
 Sets the last-focused node of a focus scope. More...
 
void clearLastFocusedNode ()
 Set the Node::FocusedProperty value to false, Node::FocusStateProperty to FocusState::NoFocus, and clears the last-focused node of a focus scope. More...
 

Additional Inherited Members

- Public Types inherited from kanzi::FocusScope
using FocusChainSharedPtr = shared_ptr< FocusChain >
 The focus chain pointer type. More...
 
- Static Public Member Functions inherited from kanzi::FocusScope
static FocusScopePtr create (FocusScopeType type, Node &rootNode)
 Creates an instance of a focus scope type, with the rootNode as the focus scope node. More...
 
static FocusScopePtr create (Node &rootNode)
 Creates a focus scope type instance with the rootNode as the root of the focus scope. More...
 
static void swapScope (FocusScopePtr &newScopeInfo, FocusScopePtr &nodeScopeInfo)
 Safely swaps the focus scope info nodeScopeInfo of a node with the newScopeInfo. More...
 
- Protected Member Functions inherited from kanzi::OverlayScope
void enableInput (bool enable)
 Enables or disables input handling for the overlay scope. More...
 
void joinScope (FocusScope &target) override
 Overrides FocusScope::joinScope();. More...
 
void notifyNodeAttached (Node &node) override
 Overrides FocusScope::notifyNodeAttached(). More...
 
void notifyNodeDetached (Node &node) override
 Overrides FocusScope::notifyNodeDetached(). More...
 
void notifyNodeVisibilityChanged (Node &node) override
 FocusManager calls this method to notify the overlay focus scope about the Node::VisibleProperty value changes in a node. More...
 
void notifyOverlayExcludedFromStack (bool wasFocused, bool wasForemost) final
 Notifies the overlay scope that it got excluded from the overlay scope stack. More...
 
void notifyOverlayIncludedInStack (bool isFocused, bool isForemost) final
 Notifies the overlay scope that it got included in the overlay scope stack. More...
 
void notifyScopeTypeChange (FocusScope &oldScopeData) override
 Overrides FocusScope::notifyScopeTypeChange();. More...
 
 OverlayScope (Node &root)
 Constructor. More...
 
void splitScope (FocusScope *source, FocusChainNode targetLastFocusNode) override
 Overrides FocusScope::splitScope();. More...
 
FocusChainNode trySetFocus (Node &node, FocusReason reason) override
 Overrides OverlayScopeCore::trySetFocus();. More...
 
void updateContentVisibility (Node &node)
 Updates the visibility of the content of an overlay focus scope. More...
 
void updateOverlayInFront (OverlayScope *previous)
 Notifies that this scope is brought to the front of the scope stack. More...
 
void updateOverlayRemovedFromFront (OverlayScope *newForemost)
 Notifies that this focus scope is no longer the foremost focus scope in the focus scope stack. More...
 
- Protected Member Functions inherited from kanzi::FocusFence
 FocusFence (Node &root, ScopeFlag flags)
 Constructor. More...
 
- Protected Member Functions inherited from kanzi::FocusScope
void focusNavigationHandler (FocusManager::MoveFocusMessageArguments &args)
 Navigates the focus in a scope. More...
 
 FocusScope (Node &scopeNode, ScopeFlag flags)
 Constructor. More...
 
void invalidateFocusChain ()
 Invalidates the focus chain of the focus scope, including the focus chain snapshots of its nested focus scopes. More...
 
void notifyInvalidateFocusChain () override
 Kanzi calls this method to invalidate the focus chain snapshots of the focus scope. More...
 
void notifyNodeAttached (Node &node) override
 FocusManager calls this method when a node is attached to the node tree. More...
 
void notifyNodeDetached (Node &node) override
 FocusManager calls this method to notify that a node from the scope is detached. More...
 
void swapScopeData (FocusScope &other)
 Swaps the focus scope data of this scope with the focus scope data of the source scope. More...
 

Detailed Description

Implements the modeless overlay focus scopes.

Since
Kanzi 3.9.2

Constructor & Destructor Documentation

kanzi::ModelessScope::ModelessScope ( Node root)
explicit

Constructor.

Member Function Documentation

FocusScopeType kanzi::ModelessScope::getType ( ) const
inlineoverridevirtual

Returns the focus scope type.

Returns
Returns FocusScopeType::Modeless.

Reimplemented from kanzi::FocusFence.

OverlayScope* kanzi::ModelessScope::getInputPropagationOverlay ( ) const
overridevirtual

The documentation for this class was generated from the following file: