Don't re add all widgets upon resize, it just lead to infinite size calc.

This commit is contained in:
Matthew Einhorn 2016-08-04 19:41:28 -04:00
parent 88180cd696
commit 5c8cc2ab89
1 changed files with 15 additions and 2 deletions

View File

@ -138,7 +138,7 @@ class Spinner(Button):
fbind('dropdown_cls', build_dropdown)
fbind('option_cls', build_dropdown)
fbind('values', self._update_dropdown)
fbind('size', self._update_dropdown)
fbind('size', self._update_dropdown_size)
fbind('text_autoupdate', self._update_dropdown)
build_dropdown()
@ -156,6 +156,19 @@ class Spinner(Button):
self._dropdown.bind(on_dismiss=self._close_dropdown)
self._update_dropdown()
def _update_dropdown_size(self, *largs):
if not self.sync_height:
return
dp = self._dropdown
if not dp:
return
container = dp.container
if not container:
return
for value in container.children:
item.height = self.height
def _update_dropdown(self, *largs):
dp = self._dropdown
cls = self.option_cls