Skip to content

Commit ba7f775

Browse files
committed
Add optional parameters to event functions
1 parent bad7e5a commit ba7f775

2 files changed

Lines changed: 16 additions & 6 deletions

File tree

apps/python/ACLIB/source/ui/gui/ac_widget.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,9 @@ def _on_size_changed(self):
111111

112112
@staticmethod
113113
def _event_function(event: str, widget):
114-
def func(x, y):
114+
def func(*args):
115115
if widget.has_id:
116-
ACWidget.IDS[widget.id].fire(event, widget)
116+
ACWidget.IDS[widget.id].fire(event, widget, *args)
117117

118118
globals()['on{}_{}'.format(event.replace(' ', '_'), widget.id)] = func
119119
return func
@@ -379,10 +379,10 @@ def _on_id(self):
379379
if ac.addOnAppDismissedListener(self.id, ACWidget._event_function(ACWidget.EVENT.DISMISSED, self)) == -1:
380380
console('Failed to add dismissed listener for {}.'.format(self.title))
381381

382-
def _on_activate(self, widget: ACWidget):
382+
def _on_activate(self, widget: ACWidget, *args):
383383
self.active = True
384384

385-
def _on_dismiss(self, widget: ACWidget):
385+
def _on_dismiss(self, widget: ACWidget, *args):
386386
self.active = False
387387

388388
def _load_config(self):
@@ -463,6 +463,16 @@ def update(self, delta: int):
463463
# Required since an app movement will draw the default background again.
464464
self.background_color = self.background_color
465465

466+
def render(self, delta: int):
467+
if self.border or self.background:
468+
w, h = self.size
469+
470+
if self.border:
471+
gl.rect(0, 0, w, h, self.border_color, False)
472+
473+
if self.child:
474+
self.child.render(delta)
475+
466476
def shutdown(self):
467477
self._write_config()
468478

stuff/wiki/HOWTO_Events.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ from ui.gui.ac_widget import ACWidget, ACLabel
2424

2525
# ... Definition of the app ...
2626

27-
def on_click_listener(widget: ACWidget):
27+
def on_click_listener(widget: ACWidget, *args):
2828
widget.text = 'I have been clicked!'
2929

3030
class AnotherWidget(ACWidget):
31-
def another_callback(self, widget: ACWidget):
31+
def another_callback(self, widget: ACWidget, *args):
3232
self.background_color = widget.background_color
3333

3434
another_widget = AnotherWidget(self.app)

0 commit comments

Comments
 (0)