class FocusChain

Defined at line 41 of file fidling/gen/sdk/fidl/fuchsia.ui.focus/fuchsia.ui.focus/cpp/fidl/fuchsia.ui.focus/cpp/natural_types.h

A FocusChain tracks the status of the View hierarchy as View focus changes.

Reception. Only certain components may receive a FocusChain, as it

captures global information about the scene graph.

Public Methods

void FocusChain (Storage_ storage)
void FocusChain ()

Defined at line 47 of file fidling/gen/sdk/fidl/fuchsia.ui.focus/fuchsia.ui.focus/cpp/fidl/fuchsia.ui.focus/cpp/natural_types.h

void FocusChain (FocusChain && )

Defined at line 48 of file fidling/gen/sdk/fidl/fuchsia.ui.focus/fuchsia.ui.focus/cpp/fidl/fuchsia.ui.focus/cpp/natural_types.h

bool IsEmpty ()
const std::optional< ::std::vector< ::fuchsia_ui_views::ViewRef>> & focus_chain ()

The `focus_chain` is reported in order of dominance in the View

hierarchy; each adjacent pair of elements represents a

parent-child relationship.

The `focus_chain` MAY be unset when `FocusChain` message is received, if

the message is sent very early in the scene setup, before the first

view is available.

When `focus_chain` is set, however, the root View is always present

and occupies slot 0 in the `focus_chain`. The newly-focused View

receives a `fuchsia.ui.input.FocusEvent` and occupies the final slot

in the vector.

If a View gets destroyed, a `FocusChain` holder that listens will

receive a `ZX_EVENTPAIR_PEER_CLOSED` signal on the corresponding

`ViewRef`.

## Invalidation.

A FocusChain is invalid if any one if its ViewRefs is

invalid.

::std::optional< ::std::vector< ::fuchsia_ui_views::ViewRef>> & focus_chain ()

The `focus_chain` is reported in order of dominance in the View

hierarchy; each adjacent pair of elements represents a

parent-child relationship.

The `focus_chain` MAY be unset when `FocusChain` message is received, if

the message is sent very early in the scene setup, before the first

view is available.

When `focus_chain` is set, however, the root View is always present

and occupies slot 0 in the `focus_chain`. The newly-focused View

receives a `fuchsia.ui.input.FocusEvent` and occupies the final slot

in the vector.

If a View gets destroyed, a `FocusChain` holder that listens will

receive a `ZX_EVENTPAIR_PEER_CLOSED` signal on the corresponding

`ViewRef`.

## Invalidation.

A FocusChain is invalid if any one if its ViewRefs is

invalid.

FocusChain & focus_chain (std::optional< ::std::vector< ::fuchsia_ui_views::ViewRef>> value)

The `focus_chain` is reported in order of dominance in the View

hierarchy; each adjacent pair of elements represents a

parent-child relationship.

The `focus_chain` MAY be unset when `FocusChain` message is received, if

the message is sent very early in the scene setup, before the first

view is available.

When `focus_chain` is set, however, the root View is always present

and occupies slot 0 in the `focus_chain`. The newly-focused View

receives a `fuchsia.ui.input.FocusEvent` and occupies the final slot

in the vector.

If a View gets destroyed, a `FocusChain` holder that listens will

receive a `ZX_EVENTPAIR_PEER_CLOSED` signal on the corresponding

`ViewRef`.

## Invalidation.

A FocusChain is invalid if any one if its ViewRefs is

invalid.

void FocusChain (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )
FocusChain & operator= (FocusChain && )

Defined at line 49 of file fidling/gen/sdk/fidl/fuchsia.ui.focus/fuchsia.ui.focus/cpp/fidl/fuchsia.ui.focus/cpp/natural_types.h

Friends

class MemberVisitor
class NaturalTableCodingTraits