Skip to content

Commit 9da8d3c

Browse files
chore(Typing): improved typings in the base widget class
1 parent e27b2af commit 9da8d3c

2 files changed

Lines changed: 14 additions & 18 deletions

File tree

libs/pyTermTk/TermTk/TTkCore/helper.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,11 @@ def dndInit(drag:TTkDrag) -> None:
536536
drag.pixmap().raiseWidget()
537537

538538
@staticmethod
539-
def dndGetDrag() -> Optional["TTkDrag"]:
539+
def dndGetDnd() -> Optional[_DnD]:
540+
return TTkHelper._dnd
541+
542+
@staticmethod
543+
def dndGetDrag() -> Optional[TTkDrag]:
540544
return TTkHelper._dnd.d if TTkHelper._dnd else None
541545

542546
@staticmethod

libs/pyTermTk/TermTk/TTkWidgets/widget.py

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -466,22 +466,23 @@ def mouseEvent(self, evt:TTkMouseEvent) -> bool:
466466
return False
467467

468468
# Handle Drag and Drop Events
469-
if TTkHelper.isDnD():
469+
if _dnd:=TTkHelper.dndGetDnd():
470470
ret = False
471+
dndw = _dnd.w
472+
dndg = _dnd.d
471473
if evt.evt == TTkK.Drag:
472-
dndw = TTkHelper.dndWidget()
473474
if dndw == self:
474-
self.dragMoveEvent(TTkHelper.dndGetDrag().getDragMoveEvent(evt))
475+
self.dragMoveEvent(dndg.getDragMoveEvent(evt))
475476
return True
476477
else:
477-
if ( self.dragEnterEvent(TTkHelper.dndGetDrag().getDragEnterEvent(evt)) or
478-
self.dragMoveEvent(TTkHelper.dndGetDrag().getDragMoveEvent(evt))):
478+
if ( self.dragEnterEvent(dndg.getDragEnterEvent(evt)) or
479+
self.dragMoveEvent(dndg.getDragMoveEvent(evt))):
479480
if dndw:
480-
ret = dndw.dragLeaveEvent(TTkHelper.dndGetDrag().getDragLeaveEvent(evt))
481+
ret = dndw.dragLeaveEvent(dndg.getDragLeaveEvent(evt))
481482
TTkHelper.dndEnter(self)
482483
return True
483484
if evt.evt == TTkK.Release:
484-
if self.dropEvent(self._dropEventProxy(TTkHelper.dndGetDrag().getDropEvent(evt))):
485+
if self.dropEvent(self._dropEventProxy(dndg.getDropEvent(evt))):
485486
return True
486487
return ret
487488

@@ -852,18 +853,9 @@ def setCurrentStyle(self, style) -> None:
852853
self.currentStyleChanged.emit(style)
853854
self.update()
854855

855-
def setStyle(self, style=None) -> None:
856+
def setStyle(self, style:Dict[str,Dict]={}) -> None:
856857
if not style:
857858
style = self.classStyle.copy()
858-
if 'default' not in style:
859-
# find the closest subclass/parent holding the style
860-
styleType = TTkWidget
861-
for cc in type(self).__mro__:
862-
if cc in style:
863-
styleType = cc
864-
break
865-
# Filtering out the current object style
866-
style = style[styleType]
867859
defaultStyle = style['default']
868860
# Use the default style to apply the missing fields of the other actions
869861
mergeStyle = {t:defaultStyle | style[t] for t in style}

0 commit comments

Comments
 (0)