Skip to content

Commit 55b6a92

Browse files
authored
Allow to pass parameters when open pop_up (urwid#480)
1 parent 2c0c0eb commit 55b6a92

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

.DS_Store

6 KB
Binary file not shown.

urwid/wimp.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -567,20 +567,20 @@ def mouse_event(self, size, event, button, x, y, focus):
567567

568568

569569
class PopUpLauncher(delegate_to_widget_mixin('_original_widget'),
570-
WidgetDecoration):
570+
WidgetDecoration):
571571
def __init__(self, original_widget):
572572
self.__super.__init__(original_widget)
573573
self._pop_up_widget = None
574574

575-
def create_pop_up(self):
575+
def create_pop_up(self, *args, **kwargs):
576576
"""
577577
Subclass must override this method and return a widget
578578
to be used for the pop-up. This method is called once each time
579579
the pop-up is opened.
580580
"""
581581
raise NotImplementedError("Subclass must override this method")
582582

583-
def get_pop_up_parameters(self):
583+
def get_pop_up_parameters(self, *args, **kwargs):
584584
"""
585585
Subclass must override this method and have it return a dict, eg:
586586
@@ -590,8 +590,8 @@ def get_pop_up_parameters(self):
590590
"""
591591
raise NotImplementedError("Subclass must override this method")
592592

593-
def open_pop_up(self):
594-
self._pop_up_widget = self.create_pop_up()
593+
def open_pop_up(self, *args, **kwargs):
594+
self._pop_up_widget = self.create_pop_up(*args, **kwargs)
595595
self._invalidate()
596596

597597
def close_pop_up(self):
@@ -602,7 +602,7 @@ def render(self, size, focus=False):
602602
canv = self.__super.render(size, focus)
603603
if self._pop_up_widget:
604604
canv = CompositeCanvas(canv)
605-
canv.set_pop_up(self._pop_up_widget, **self.get_pop_up_parameters())
605+
canv.set_pop_up(self._pop_up_widget, **self.get_pop_up_parameters(size, focus))
606606
return canv
607607

608608

0 commit comments

Comments
 (0)