summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCielo <cielosplayground@gmail.com>2023-03-28 13:19:42 -0400
committerGitHub <noreply@github.com>2023-03-28 19:19:42 +0200
commit55b6a920553562c614b56541312ada053341e5cc (patch)
tree40e1107cea6e3400fb06df7163dc99cfd27345d8
parent2c0c0eb2b1026327ce9ade776ae03f3821ea1579 (diff)
downloadurwid-55b6a920553562c614b56541312ada053341e5cc.tar.gz
Allow to pass parameters when open pop_up (#480)
-rw-r--r--.DS_Storebin0 -> 6148 bytes
-rwxr-xr-xurwid/wimp.py12
2 files changed, 6 insertions, 6 deletions
diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..c2bb113
--- /dev/null
+++ b/.DS_Store
Binary files differ
diff --git a/urwid/wimp.py b/urwid/wimp.py
index 3dfbf39..e7ac9c9 100755
--- a/urwid/wimp.py
+++ b/urwid/wimp.py
@@ -567,12 +567,12 @@ class Button(WidgetWrap):
class PopUpLauncher(delegate_to_widget_mixin('_original_widget'),
- WidgetDecoration):
+ WidgetDecoration):
def __init__(self, original_widget):
self.__super.__init__(original_widget)
self._pop_up_widget = None
- def create_pop_up(self):
+ def create_pop_up(self, *args, **kwargs):
"""
Subclass must override this method and return a widget
to be used for the pop-up. This method is called once each time
@@ -580,7 +580,7 @@ class PopUpLauncher(delegate_to_widget_mixin('_original_widget'),
"""
raise NotImplementedError("Subclass must override this method")
- def get_pop_up_parameters(self):
+ def get_pop_up_parameters(self, *args, **kwargs):
"""
Subclass must override this method and have it return a dict, eg:
@@ -590,8 +590,8 @@ class PopUpLauncher(delegate_to_widget_mixin('_original_widget'),
"""
raise NotImplementedError("Subclass must override this method")
- def open_pop_up(self):
- self._pop_up_widget = self.create_pop_up()
+ def open_pop_up(self, *args, **kwargs):
+ self._pop_up_widget = self.create_pop_up(*args, **kwargs)
self._invalidate()
def close_pop_up(self):
@@ -602,7 +602,7 @@ class PopUpLauncher(delegate_to_widget_mixin('_original_widget'),
canv = self.__super.render(size, focus)
if self._pop_up_widget:
canv = CompositeCanvas(canv)
- canv.set_pop_up(self._pop_up_widget, **self.get_pop_up_parameters())
+ canv.set_pop_up(self._pop_up_widget, **self.get_pop_up_parameters(size, focus))
return canv