From: Olaf Wintermann Date: Sun, 6 Jul 2025 18:04:37 +0000 (+0200) Subject: add menu/toolbar arg funcs X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=42850e081e51bb17d719ccf4016024e9f90f096d;p=rssreader.git add menu/toolbar arg funcs --- diff --git a/ui-java/src/main/java/de/unixwork/ui/ArgFuncs.java b/ui-java/src/main/java/de/unixwork/ui/ArgFuncs.java index dfccef2..aa70c3e 100644 --- a/ui-java/src/main/java/de/unixwork/ui/ArgFuncs.java +++ b/ui-java/src/main/java/de/unixwork/ui/ArgFuncs.java @@ -12,6 +12,48 @@ class ArgFuncs { MethodHandle menuitem_args_set_icon; MethodHandle menuitem_args_free; + MethodHandle menutoggleitem_args_new; + MethodHandle menutoggleitem_args_set_label; + MethodHandle menutoggleitem_args_set_stockid; + MethodHandle menutoggleitem_args_set_icon; + MethodHandle menutoggleitem_args_set_varname; + MethodHandle menutoggleitem_args_set_onchange; + MethodHandle menutoggleitem_args_set_onchangedata; + MethodHandle menutoggleitem_args_free; + + MethodHandle menuitemlist_args_new; + MethodHandle menuitemlist_args_set_varname; + MethodHandle menuitemlist_args_set_getvalue; + MethodHandle menuitemlist_args_set_onselect; + MethodHandle menuitemlist_args_set_onselectdata; + MethodHandle menuitemlist_args_set_addseparator; + MethodHandle menuitemlist_args_free; + + MethodHandle toolbar_item_args_new; + MethodHandle toolbar_item_args_set_label; + MethodHandle toolbar_item_args_set_stockid; + MethodHandle toolbar_item_args_set_icon; + MethodHandle toolbar_item_args_set_onclick; + MethodHandle toolbar_item_args_set_onclickdata; + MethodHandle toolbar_item_args_set_groups; + MethodHandle toolbar_item_args_free; + + MethodHandle toolbar_toggleitem_args_new; + MethodHandle toolbar_toggleitem_args_set_label; + MethodHandle toolbar_toggleitem_args_set_stockid; + MethodHandle toolbar_toggleitem_args_set_icon; + MethodHandle toolbar_toggleitem_args_set_varname; + MethodHandle toolbar_toggleitem_args_set_onchange; + MethodHandle toolbar_toggleitem_args_set_onchangedata; + MethodHandle toolbar_toggleitem_args_set_groups; + MethodHandle toolbar_toggleitem_args_free; + + MethodHandle toolbar_menu_args_new; + MethodHandle toolbar_menu_args_set_label; + MethodHandle toolbar_menu_args_set_stockid; + MethodHandle toolbar_menu_args_set_icon; + MethodHandle toolbar_menu_args_free; + MethodHandle container_args_new; MethodHandle container_args_set_fill; MethodHandle container_args_set_hexpand; @@ -125,6 +167,48 @@ class ArgFuncs { MemorySegment ui_menuitem_args_set_onclickdata_addr = lib.find("ui_menuitem_args_set_onclickdata").orElseThrow(); MemorySegment ui_menuitem_args_free_addr = lib.find("ui_menuitem_args_free").orElseThrow(); + MemorySegment ui_menutoggleitem_args_new_addr = lib.find("ui_menutoggleitem_args_new").orElseThrow(); + MemorySegment ui_menutoggleitem_args_set_label_addr = lib.find("ui_menutoggleitem_args_set_label").orElseThrow(); + MemorySegment ui_menutoggleitem_args_set_stockid_addr = lib.find("ui_menutoggleitem_args_set_stockid").orElseThrow(); + MemorySegment ui_menutoggleitem_args_set_icon_addr = lib.find("ui_menutoggleitem_args_set_icon").orElseThrow(); + MemorySegment ui_menutoggleitem_args_set_varname_addr = lib.find("ui_menutoggleitem_args_set_varname").orElseThrow(); + MemorySegment ui_menutoggleitem_args_set_onchange_addr = lib.find("ui_menutoggleitem_args_set_onchange").orElseThrow(); + MemorySegment ui_menutoggleitem_args_set_onchangedata_addr = lib.find("ui_menutoggleitem_args_set_onchangedata").orElseThrow(); + MemorySegment ui_menutoggleitem_args_free_addr = lib.find("ui_menutoggleitem_args_free").orElseThrow(); + + MemorySegment ui_menuitemlist_args_new_addr = lib.find("ui_menuitemlist_args_new").orElseThrow(); + MemorySegment ui_menuitemlist_args_set_varname_addr = lib.find("ui_menuitemlist_args_set_varname").orElseThrow(); + MemorySegment ui_menuitemlist_args_set_getvalue_addr = lib.find("ui_menuitemlist_args_set_getvalue").orElseThrow(); + MemorySegment ui_menuitemlist_args_set_onselect_addr = lib.find("ui_menuitemlist_args_set_onselect").orElseThrow(); + MemorySegment ui_menuitemlist_args_set_onselectdata_addr = lib.find("ui_menuitemlist_args_set_onselectdata").orElseThrow(); + MemorySegment ui_menuitemlist_args_set_addseparator_addr = lib.find("ui_menuitemlist_args_set_addseparator").orElseThrow(); + MemorySegment ui_menuitemlist_args_free_addr = lib.find("ui_menuitemlist_args_free").orElseThrow(); + + MemorySegment ui_toolbar_item_args_new_addr = lib.find("ui_toolbar_item_args_new").orElseThrow(); + MemorySegment ui_toolbar_item_args_set_label_addr = lib.find("ui_toolbar_item_args_set_label").orElseThrow(); + MemorySegment ui_toolbar_item_args_set_stockid_addr = lib.find("ui_toolbar_item_args_set_stockid").orElseThrow(); + MemorySegment ui_toolbar_item_args_set_icon_addr = lib.find("ui_toolbar_item_args_set_icon").orElseThrow(); + MemorySegment ui_toolbar_item_args_set_onclick_addr = lib.find("ui_toolbar_item_args_set_onclick").orElseThrow(); + MemorySegment ui_toolbar_item_args_set_onclickdata_addr = lib.find("ui_toolbar_item_args_set_onclickdata").orElseThrow(); + MemorySegment ui_toolbar_item_args_set_groups_addr = lib.find("ui_toolbar_item_args_set_groups").orElseThrow(); + MemorySegment ui_toolbar_item_args_free_addr = lib.find("ui_toolbar_item_args_free").orElseThrow(); + + MemorySegment ui_toolbar_toggleitem_args_new_addr = lib.find("ui_toolbar_toggleitem_args_new").orElseThrow(); + MemorySegment ui_toolbar_toggleitem_args_set_label_addr = lib.find("ui_toolbar_toggleitem_args_set_label").orElseThrow(); + MemorySegment ui_toolbar_toggleitem_args_set_stockid_addr = lib.find("ui_toolbar_toggleitem_args_set_stockid").orElseThrow(); + MemorySegment ui_toolbar_toggleitem_args_set_icon_addr = lib.find("ui_toolbar_toggleitem_args_set_icon").orElseThrow(); + MemorySegment ui_toolbar_toggleitem_args_set_varname_addr = lib.find("ui_toolbar_toggleitem_args_set_varname").orElseThrow(); + MemorySegment ui_toolbar_toggleitem_args_set_onchange_addr = lib.find("ui_toolbar_toggleitem_args_set_onchange").orElseThrow(); + MemorySegment ui_toolbar_toggleitem_args_set_onchangedata_addr = lib.find("ui_toolbar_toggleitem_args_set_onchangedata").orElseThrow(); + MemorySegment ui_toolbar_toggleitem_args_set_groups_addr = lib.find("ui_toolbar_toggleitem_args_set_groups").orElseThrow(); + MemorySegment ui_toolbar_toggleitem_args_free_addr = lib.find("ui_toolbar_toggleitem_args_free").orElseThrow(); + + MemorySegment ui_toolbar_menu_args_new_addr = lib.find("ui_toolbar_menu_args_new").orElseThrow(); + MemorySegment ui_toolbar_menu_args_set_label_addr = lib.find("ui_toolbar_menu_args_set_label").orElseThrow(); + MemorySegment ui_toolbar_menu_args_set_stockid_addr = lib.find("ui_toolbar_menu_args_set_stockid").orElseThrow(); + MemorySegment ui_toolbar_menu_args_set_icon_addr = lib.find("ui_toolbar_menu_args_set_icon").orElseThrow(); + MemorySegment ui_toolbar_menu_args_free_addr = lib.find("ui_toolbar_menu_args_free").orElseThrow(); + MemorySegment ui_container_args_new_addr = lib.find("ui_container_args_new").orElseThrow(); MemorySegment ui_container_args_set_fill_addr = lib.find("ui_container_args_set_fill").orElseThrow(); MemorySegment ui_container_args_set_hexpand_addr = lib.find("ui_container_args_set_hexpand").orElseThrow(); @@ -228,6 +312,48 @@ class ArgFuncs { menuitem_args_set_icon = linker.downcallHandle(ui_menuitem_args_set_icon_addr, sigv_mm); menuitem_args_free = linker.downcallHandle(ui_menuitem_args_free_addr, sigv_m); + menutoggleitem_args_new = linker.downcallHandle(ui_menutoggleitem_args_new_addr, sigm); + menutoggleitem_args_set_label = linker.downcallHandle(ui_menutoggleitem_args_set_label_addr, sigv_mm); + menutoggleitem_args_set_stockid = linker.downcallHandle(ui_menutoggleitem_args_set_stockid_addr, sigv_mm); + menutoggleitem_args_set_icon = linker.downcallHandle(ui_menutoggleitem_args_set_icon_addr, sigv_mm); + menutoggleitem_args_set_varname = linker.downcallHandle(ui_menutoggleitem_args_set_varname_addr, sigv_mm); + menutoggleitem_args_set_onchange = linker.downcallHandle(ui_menutoggleitem_args_set_onchange_addr, sigv_mm); + menutoggleitem_args_set_onchangedata = linker.downcallHandle(ui_menutoggleitem_args_set_onchangedata_addr, sigv_mm); + menutoggleitem_args_free = linker.downcallHandle(ui_menutoggleitem_args_free_addr, sigv_m); + + menuitemlist_args_new = linker.downcallHandle(ui_menuitemlist_args_new_addr, sigm); + menuitemlist_args_set_varname = linker.downcallHandle(ui_menuitemlist_args_set_varname_addr, sigv_mm); + menuitemlist_args_set_getvalue = linker.downcallHandle(ui_menuitemlist_args_set_getvalue_addr, sigv_mm); + menuitemlist_args_set_onselect = linker.downcallHandle(ui_menuitemlist_args_set_onselect_addr, sigv_mm); + menuitemlist_args_set_onselectdata = linker.downcallHandle(ui_menuitemlist_args_set_onselectdata_addr, sigv_mm); + menuitemlist_args_set_addseparator = linker.downcallHandle(ui_menuitemlist_args_set_addseparator_addr, sigv_mb); + menuitemlist_args_free = linker.downcallHandle(ui_menuitemlist_args_free_addr, sigv_m); + + toolbar_item_args_new = linker.downcallHandle(ui_toolbar_item_args_new_addr, sigm); + toolbar_item_args_set_stockid = linker.downcallHandle(ui_toolbar_item_args_set_stockid_addr, sigv_mm); + toolbar_item_args_set_icon = linker.downcallHandle(ui_toolbar_item_args_set_icon_addr, sigv_mm); + toolbar_item_args_set_label = linker.downcallHandle(ui_toolbar_item_args_set_label_addr, sigv_mm); + toolbar_item_args_set_onclick = linker.downcallHandle(ui_toolbar_item_args_set_onclick_addr, sigv_mm); + toolbar_item_args_set_onclickdata = linker.downcallHandle(ui_toolbar_item_args_set_onclickdata_addr, sigv_mm); + toolbar_item_args_set_groups = linker.downcallHandle(ui_toolbar_item_args_set_groups_addr, sigv_mm); + toolbar_item_args_free = linker.downcallHandle(ui_toolbar_item_args_free_addr, sigv_m); + + toolbar_toggleitem_args_new = linker.downcallHandle(ui_toolbar_toggleitem_args_new_addr, sigm); + toolbar_toggleitem_args_set_stockid = linker.downcallHandle(ui_toolbar_toggleitem_args_set_stockid_addr, sigv_mm); + toolbar_toggleitem_args_set_icon = linker.downcallHandle(ui_toolbar_toggleitem_args_set_icon_addr, sigv_mm); + toolbar_toggleitem_args_set_label = linker.downcallHandle(ui_toolbar_toggleitem_args_set_label_addr, sigv_mm); + toolbar_toggleitem_args_set_varname = linker.downcallHandle(ui_toolbar_toggleitem_args_set_varname_addr, sigv_mm); + toolbar_toggleitem_args_set_onchange = linker.downcallHandle(ui_toolbar_toggleitem_args_set_onchange_addr, sigv_mm); + toolbar_toggleitem_args_set_onchangedata = linker.downcallHandle(ui_toolbar_toggleitem_args_set_onchangedata_addr, sigv_mm); + toolbar_toggleitem_args_set_groups = linker.downcallHandle(ui_toolbar_toggleitem_args_set_groups_addr, sigv_mm); + toolbar_toggleitem_args_free = linker.downcallHandle(ui_toolbar_toggleitem_args_free_addr, sigv_m); + + toolbar_menu_args_new = linker.downcallHandle(ui_toolbar_menu_args_new_addr, sigm); + toolbar_menu_args_set_stockid = linker.downcallHandle(ui_toolbar_menu_args_set_stockid_addr, sigv_mm); + toolbar_menu_args_set_icon = linker.downcallHandle(ui_toolbar_menu_args_set_icon_addr, sigv_mm); + toolbar_menu_args_set_label = linker.downcallHandle(ui_toolbar_menu_args_set_label_addr, sigv_mm); + toolbar_menu_args_free = linker.downcallHandle(ui_toolbar_menu_args_free_addr, sigv_m); + container_args_new = linker.downcallHandle(ui_container_args_new_addr, sigm); container_args_set_fill = linker.downcallHandle(ui_container_args_set_fill_addr, sigm); container_args_set_hexpand = linker.downcallHandle(ui_container_args_set_hexpand_addr, sigv_mb); diff --git a/ui-java/src/main/java/de/unixwork/ui/MenuFuncs.java b/ui-java/src/main/java/de/unixwork/ui/MenuFuncs.java new file mode 100644 index 0000000..93def93 --- /dev/null +++ b/ui-java/src/main/java/de/unixwork/ui/MenuFuncs.java @@ -0,0 +1,27 @@ +package de.unixwork.ui; + +import java.lang.foreign.*; +import java.lang.invoke.MethodHandle; + +public class MenuFuncs { + static MenuFuncs instance; + + public MethodHandle button_create; + + private MenuFuncs(Linker linker, SymbolLookup lib) { + // void* func(void*, void*) + FunctionDescriptor sigm_mm = FunctionDescriptor.of(ValueLayout.ADDRESS, ValueLayout.ADDRESS, ValueLayout.ADDRESS); + + MemorySegment ui_button_create_addr = lib.find("ui_button_create").orElseThrow(); + + button_create = linker.downcallHandle(ui_button_create_addr, sigm_mm); + } + + static MenuFuncs getInstance() { + if (instance == null) { + Toolkit toolkit = Toolkit.getInstance(); + instance = new MenuFuncs(toolkit.getLinker(), toolkit.getSymbolLookup()); + } + return instance; + } +}