Browse Source

fix(focus): remove disabled widgets from tab focus (#554)

pull/556/head
Pier CeccoPierangioliEugenio 3 months ago committed by GitHub
parent
commit
91e0f0caea
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 18
      libs/pyTermTk/TermTk/TTkWidgets/container.py

18
libs/pyTermTk/TermTk/TTkWidgets/container.py

@ -176,10 +176,11 @@ class TTkContainer(TTkWidget):
widgets = _lw[index_widget+1:]
for _w in widgets:
if focusPolicy & _w.focusPolicy():
return _w
if isinstance(_w,TTkContainer) and (_fw:=_w._getFirstFocus(widget=None,focusPolicy=focusPolicy)):
return _fw
if _w._enabled:
if focusPolicy & _w.focusPolicy():
return _w
if isinstance(_w,TTkContainer) and (_fw:=_w._getFirstFocus(widget=None,focusPolicy=focusPolicy)):
return _fw
return None
def _getLastFocus(self, widget:Optional[TTkWidget], focusPolicy:TTkK.FocusPolicy) -> Optional[TTkWidget]:
@ -192,10 +193,11 @@ class TTkContainer(TTkWidget):
widgets = _lw[index_widget+1:]
for _w in widgets:
if isinstance(_w,TTkContainer) and (_fw:=_w._getLastFocus(widget=None,focusPolicy=focusPolicy)):
return _fw
if focusPolicy & _w.focusPolicy():
return _w
if _w._enabled:
if isinstance(_w,TTkContainer) and (_fw:=_w._getLastFocus(widget=None,focusPolicy=focusPolicy)):
return _fw
if focusPolicy & _w.focusPolicy():
return _w
return None
def _focusChildWidget(self) -> Optional[TTkWidget]:

Loading…
Cancel
Save