# {py:mod}`simvx.core.ui.focus` ```{py:module} simvx.core.ui.focus ``` ```{autodoc2-docstring} simvx.core.ui.focus :allowtitles: ``` ## Module Contents ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`is_focusable ` - ```{autodoc2-docstring} simvx.core.ui.focus.is_focusable :summary: ``` * - {py:obj}`is_tab_stop ` - ```{autodoc2-docstring} simvx.core.ui.focus.is_tab_stop :summary: ``` * - {py:obj}`tab_stops ` - ```{autodoc2-docstring} simvx.core.ui.focus.tab_stops :summary: ``` * - {py:obj}`first_tab_stop ` - ```{autodoc2-docstring} simvx.core.ui.focus.first_tab_stop :summary: ``` * - {py:obj}`next_focus ` - ```{autodoc2-docstring} simvx.core.ui.focus.next_focus :summary: ``` * - {py:obj}`scope_root_for ` - ```{autodoc2-docstring} simvx.core.ui.focus.scope_root_for :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.core.ui.focus.__all__ :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.core.ui.focus.__all__ :value: > ['first_tab_stop', 'is_focusable', 'is_tab_stop', 'next_focus', 'tab_stops'] ```{autodoc2-docstring} simvx.core.ui.focus.__all__ ``` ```` ````{py:function} is_focusable(control: simvx.core.ui.core.Control) -> bool :canonical: simvx.core.ui.focus.is_focusable ```{autodoc2-docstring} simvx.core.ui.focus.is_focusable ``` ```` ````{py:function} is_tab_stop(control: simvx.core.ui.core.Control) -> bool :canonical: simvx.core.ui.focus.is_tab_stop ```{autodoc2-docstring} simvx.core.ui.focus.is_tab_stop ``` ```` ````{py:function} tab_stops(scope_root: simvx.core.node.Node) -> list[simvx.core.ui.core.Control] :canonical: simvx.core.ui.focus.tab_stops ```{autodoc2-docstring} simvx.core.ui.focus.tab_stops ``` ```` ````{py:function} first_tab_stop(scope_root: simvx.core.node.Node, *, skip: typing.Any = None) -> simvx.core.ui.core.Control | None :canonical: simvx.core.ui.focus.first_tab_stop ```{autodoc2-docstring} simvx.core.ui.focus.first_tab_stop ``` ```` ````{py:function} next_focus(scope_root: simvx.core.node.Node, current: simvx.core.ui.core.Control | None, *, reverse: bool = False) -> simvx.core.ui.core.Control | None :canonical: simvx.core.ui.focus.next_focus ```{autodoc2-docstring} simvx.core.ui.focus.next_focus ``` ```` ````{py:function} scope_root_for(control: simvx.core.ui.core.Control) -> simvx.core.node.Node :canonical: simvx.core.ui.focus.scope_root_for ```{autodoc2-docstring} simvx.core.ui.focus.scope_root_for ``` ````