}
}
+ public static void menu(String name, String label, String icon, Menu menu) {
+ MenuFuncs ui = MenuFuncs.getInstance();
+ ArgFuncs a = ArgFuncs.getInstance();
+ try (Arena arena = Arena.ofConfined()) {
+ MemorySegment nameCstr = MemorySegment.NULL;
+ if(name != null) {
+ nameCstr = arena.allocateFrom(name);
+ }
+
+ MemorySegment args = (MemorySegment) a.toolbar_menu_args_new.invoke();
+ if(label != null) {
+ MemorySegment cstr = arena.allocateFrom(label);
+ a.toolbar_menu_args_set_label.invoke(args, cstr);
+ }
+ if(icon != null) {
+ MemorySegment cstr = arena.allocateFrom(icon);
+ a.toolbar_menu_args_set_icon.invoke(args, cstr);
+ }
+
+ ui.toolbar_menu_create.invoke(nameCstr, args);
+ menu.create();
+ ui.menu_end.invoke();
+ } catch (Throwable e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+
public static void addDefault(String name, ToolbarPosition position) {
int pos = position.ordinal();
}
}
+fun toolbarMenu(name: String?, label: String? = null, icon: String? = null, stockId: String? = null, block: MenuBuilder.() -> Unit) {
+ // TODO: stockId
+ Toolbar.menu(name, label, icon, menuBuilder(block))
+}
+
+fun toolbarAppMenu(block: MenuBuilder.() -> Unit) {
+ Toolbar.menu(null, null, null, menuBuilder(block))
+}
+
fun addToolbarDefault(name: String, position: ToolbarPosition) {
Toolbar.addDefault(name, position)
}