From: Olaf Wintermann Date: Tue, 12 Aug 2025 12:37:18 +0000 (+0200) Subject: attach eventhandler to the dialog obj in DialogWindowBuilder X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=a2926e03fd63d33cc84b6683e74406b673fc013c;p=rssreader.git attach eventhandler to the dialog obj in DialogWindowBuilder --- diff --git a/ui-java/src/main/java/de/unixwork/ui/DialogWindowBuilder.java b/ui-java/src/main/java/de/unixwork/ui/DialogWindowBuilder.java index 40a3857..c3ecd26 100644 --- a/ui-java/src/main/java/de/unixwork/ui/DialogWindowBuilder.java +++ b/ui-java/src/main/java/de/unixwork/ui/DialogWindowBuilder.java @@ -126,12 +126,15 @@ public class DialogWindowBuilder { ui.dialogwindow_args_set_height.invoke(args, height); if(onClick != null) { - EventWrapper event = new EventWrapper(onClick); + EventWrapper event = new EventWrapper(Toolkit.getInstance().eventHandler, MemorySegment.ofAddress(0)); ui.dialogwindow_args_set_onclick.invoke(args, event.getCallback()); ui.dialogwindow_args_set_onclickdata.invoke(args, event.getUserData()); } UiObject obj = UiObjectFuncs.instance.dialogWindow(parent.ptr, args); + if(onClick != null) { + obj.addEventHandler(onClick); + } ui.dialogwindow_args_free.invoke(args); return obj; diff --git a/ui-java/src/main/java/de/unixwork/ui/EventWrapper.java b/ui-java/src/main/java/de/unixwork/ui/EventWrapper.java index 5f72a7b..89d2d56 100644 --- a/ui-java/src/main/java/de/unixwork/ui/EventWrapper.java +++ b/ui-java/src/main/java/de/unixwork/ui/EventWrapper.java @@ -44,6 +44,11 @@ public class EventWrapper { this(handler, false); } + public EventWrapper(MemorySegment callback, MemorySegment userdata) { + this.callback = callback; + this.userdata = userdata; + } + public MemorySegment getCallback() { return callback; }