<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <maven.compiler.release>24</maven.compiler.release>
+ <maven.compiler.release>25</maven.compiler.release>
</properties>
<modules>
FunctionDescriptor sigv_m = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS);
FunctionDescriptor sigv_mm = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.ADDRESS);
FunctionDescriptor sigv_mml = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.ADDRESS, ValueLayout.JAVA_LONG);
+ FunctionDescriptor sigv_mmi = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.ADDRESS, ValueLayout.JAVA_INT);
FunctionDescriptor sigv_mb = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.JAVA_BOOLEAN);
FunctionDescriptor sigv_mi = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.JAVA_INT);
FunctionDescriptor sigv_md = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.JAVA_DOUBLE);
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_set_groups = linker.downcallHandle(ui_toolbar_item_args_set_groups_addr, sigv_mmi);
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_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_set_groups = linker.downcallHandle(ui_toolbar_toggleitem_args_set_groups_addr, sigv_mmi);
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);
button_args_set_labeltype = linker.downcallHandle(ui_button_args_set_labeltype_addr, sigv_mi);
button_args_set_onclick = linker.downcallHandle(ui_button_args_set_onclick_addr, sigv_mm);
button_args_set_onclickdata = linker.downcallHandle(ui_button_args_set_onclickdata_addr, sigv_mm);
- button_args_set_groups = linker.downcallHandle(ui_button_args_set_groups_addr, sigv_mm);
+ button_args_set_groups = linker.downcallHandle(ui_button_args_set_groups_addr, sigv_mmi);
button_args_free = linker.downcallHandle(ui_button_args_free_addr, sigv_m);
toggle_args_new = linker.downcallHandle(ui_toggle_args_new_addr, sigm);
toggle_args_set_onchange = linker.downcallHandle(ui_toggle_args_set_onchange_addr, sigv_mm);
toggle_args_set_onchangedata = linker.downcallHandle(ui_toggle_args_set_onchangedata_addr, sigv_mm);
toggle_args_set_enablegroup = linker.downcallHandle(ui_toggle_args_set_enablegroup, sigv_mi);
- toggle_args_set_groups = linker.downcallHandle(ui_toggle_args_set_groups_addr, sigv_mm);
+ toggle_args_set_groups = linker.downcallHandle(ui_toggle_args_set_groups_addr, sigv_mmi);
toggle_args_free = linker.downcallHandle(ui_toggle_args_free_addr, sigv_m);
linkbutton_args_new = linker.downcallHandle(ui_linkbutton_args_new_addr, sigm);
linkbutton_args_set_onclickdata = linker.downcallHandle(ui_linkbutton_args_set_onclickdata_addr, sigv_mm);
linkbutton_args_set_nofollow = linker.downcallHandle(ui_linkbutton_args_set_nofollow_addr, sigv_mb);
linkbutton_args_set_type = linker.downcallHandle(ui_linkbutton_args_set_type_addr, sigv_mi);
- linkbutton_args_set_groups = linker.downcallHandle(ui_linkbutton_args_set_groups_addr, sigv_mm);
+ linkbutton_args_set_groups = linker.downcallHandle(ui_linkbutton_args_set_groups_addr, sigv_mmi);
linkbutton_args_free = linker.downcallHandle(ui_linkbutton_args_free_addr, sigv_m);
list_args_new = linker.downcallHandle(ui_list_args_new_addr, sigm);
list_args_set_ondropdata = linker.downcallHandle(ui_list_args_set_ondropdata_addr, sigv_mm);
list_args_set_multiselection = linker.downcallHandle(ui_list_args_set_multiselection_addr, sigv_mb);
list_args_set_contextmenu = linker.downcallHandle(ui_list_args_set_contextmenu_addr, sigv_mm);
- list_args_set_groups = linker.downcallHandle(ui_list_args_set_groups_addr, sigv_mm);
+ list_args_set_groups = linker.downcallHandle(ui_list_args_set_groups_addr, sigv_mmi);
list_args_free = linker.downcallHandle(ui_list_args_free_addr, sigv_m);
sourcelist_args_new = linker.downcallHandle(ui_sourcelist_args_new_addr, sigm);
textarea_args_set_value = linker.downcallHandle(ui_textarea_args_set_value_addr, sigv_mm);
textarea_args_set_onchange = linker.downcallHandle(ui_textarea_args_set_onchange_addr, sigv_mm);
textarea_args_set_onchangedata = linker.downcallHandle(ui_textarea_args_set_onchangedata_addr, sigv_mm);
- textarea_args_set_groups = linker.downcallHandle(ui_textarea_args_set_groups_addr, sigv_mm);
+ textarea_args_set_groups = linker.downcallHandle(ui_textarea_args_set_groups_addr, sigv_mmi);
textarea_args_free = linker.downcallHandle(ui_textarea_args_free_addr, sigv_m);
textfield_args_new = linker.downcallHandle(ui_textfield_args_new_addr, sigm);
textfield_args_set_onchangedata = linker.downcallHandle(ui_textfield_args_set_onchangedata_addr, sigv_mm);
textfield_args_set_onactivate = linker.downcallHandle(ui_textfield_args_set_onactivate_addr, sigv_mm);
textfield_args_set_onactivatedata = linker.downcallHandle(ui_textfield_args_set_onactivatedata_addr, sigv_mm);
- textfield_args_set_groups = linker.downcallHandle(ui_textfield_args_set_groups_addr, sigv_mm);
+ textfield_args_set_groups = linker.downcallHandle(ui_textfield_args_set_groups_addr, sigv_mmi);
textfield_args_free = linker.downcallHandle(ui_textfield_args_free_addr, sigv_m);
spinbox_args_new = linker.downcallHandle(ui_spinbox_args_new_addr, sigm);
spinbox_args_set_intvalue = linker.downcallHandle(ui_spinbox_args_set_intvalue_addr, sigv_mm);
spinbox_args_set_doublevalue = linker.downcallHandle(ui_spinbox_args_set_doublevalue_addr, sigv_mm);
spinbox_args_set_rangevalue = linker.downcallHandle(ui_spinbox_args_set_rangevalue_addr, sigv_mm);
- spinbox_args_set_groups = linker.downcallHandle(ui_spinbox_args_set_groups_addr, sigv_mm);
+ spinbox_args_set_groups = linker.downcallHandle(ui_spinbox_args_set_groups_addr, sigv_mmi);
spinbox_args_free = linker.downcallHandle(ui_spinbox_args_free_addr, sigv_m);
webview_args_new = linker.downcallHandle(ui_webview_args_new_addr, sigm);
webview_args_set_style_class = linker.downcallHandle(ui_webview_args_set_style_class_addr, sigv_mm);
webview_args_set_varname = linker.downcallHandle(ui_webview_args_set_varname_addr, sigv_mm);
webview_args_set_value = linker.downcallHandle(ui_webview_args_set_value_addr, sigv_mm);
- webview_args_set_groups = linker.downcallHandle(ui_webview_args_set_groups_addr, sigv_mm);
+ webview_args_set_groups = linker.downcallHandle(ui_webview_args_set_groups_addr, sigv_mmi);
webview_args_free = linker.downcallHandle(ui_webview_args_free_addr, sigv_m);
}
MemorySegment cstr = arena.allocateFrom(icon);
ui.button_args_set_icon.invoke(args, cstr);
}
+ if(states != null) {
+ MemorySegment st = arena.allocate(ValueLayout.JAVA_INT, states.length);
+ MemorySegment.copy(states, 0, st, ValueLayout.JAVA_INT, 0, states.length);
+ ui.button_args_set_groups.invoke(args, st);
+ }
ui.button_args_set_labeltype.invoke(args, labelType);
if(onClick != null) {
ui.linkbutton_args_set_onclickdata.invoke(args, event.getUserData());
}
+ if(states != null) {
+ MemorySegment st = arena.allocate(ValueLayout.JAVA_INT, states.length);
+ MemorySegment.copy(states, 0, st, ValueLayout.JAVA_INT, 0, states.length);
+ ui.linkbutton_args_set_groups.invoke(args, st);
+ }
+
return args;
}
}
import java.lang.foreign.Arena;
import java.lang.foreign.MemorySegment;
+import java.lang.foreign.ValueLayout;
import java.lang.invoke.MethodHandle;
public class ListViewBuilder<T> extends AbstractWidgetBuilder {
private EventHandler onDrop;
private boolean multiselection;
private Menu contextMenu;
- // TODO: contextmenu
private int[] states;
MemorySegment menuBuilder;
ui.list_args_set_contextmenu.invoke(args, menuBuilder);
}
+ if(states != null) {
+ MemorySegment st = arena.allocate(ValueLayout.JAVA_INT, states.length);
+ MemorySegment.copy(states, 0, st, ValueLayout.JAVA_INT, 0, states.length);
+ ui.list_args_set_groups.invoke(args, st);
+ }
+
return args;
}
import java.lang.foreign.Arena;
import java.lang.foreign.MemorySegment;
+import java.lang.foreign.ValueLayout;
import java.lang.invoke.MethodHandle;
public class SpinBoxBuilder extends AbstractWidgetBuilder{
ui.spinbox_args_set_rangevalue.invoke(args, rangeValue.valuePtr);
}
+ if(states != null) {
+ MemorySegment st = arena.allocate(ValueLayout.JAVA_INT, states.length);
+ MemorySegment.copy(states, 0, st, ValueLayout.JAVA_INT, 0, states.length);
+ ui.spinbox_args_set_groups.invoke(args, st);
+ }
+
return args;
}
}
import java.lang.foreign.Arena;
import java.lang.foreign.MemorySegment;
+import java.lang.foreign.ValueLayout;
import java.lang.invoke.MethodHandle;
public class TableViewBuilder<T> extends AbstractWidgetBuilder {
ui.list_args_set_contextmenu.invoke(args, menuBuilder);
}
+ if(states != null) {
+ MemorySegment st = arena.allocate(ValueLayout.JAVA_INT, states.length);
+ MemorySegment.copy(states, 0, st, ValueLayout.JAVA_INT, 0, states.length);
+ ui.list_args_set_groups.invoke(args, st);
+ }
+
return args;
}
ui.textarea_args_set_value.invoke(args, value.valuePtr);
}
+ if(states != null) {
+ MemorySegment st = arena.allocate(ValueLayout.JAVA_INT, states.length);
+ MemorySegment.copy(states, 0, st, ValueLayout.JAVA_INT, 0, states.length);
+ ui.textarea_args_set_groups.invoke(args, st);
+ }
+
return args;
}
}
ui.textfield_args_set_onactivatedata.invoke(args, event.getUserData());
}
+ if(states != null) {
+ MemorySegment st = arena.allocate(ValueLayout.JAVA_INT, states.length);
+ MemorySegment.copy(states, 0, st, ValueLayout.JAVA_INT, 0, states.length);
+ ui.textfield_args_set_groups.invoke(args, st);
+ }
+
return args;
}
}
import java.lang.foreign.Arena;
import java.lang.foreign.MemorySegment;
+import java.lang.foreign.ValueLayout;
import java.lang.invoke.MethodHandle;
public class ToggleBuilder extends AbstractWidgetBuilder {
if(value != null) {
ui.toggle_args_set_value.invoke(args, value.valuePtr);
}
+ if(states != null) {
+ MemorySegment st = arena.allocate(ValueLayout.JAVA_INT, states.length);
+ MemorySegment.copy(states, 0, st, ValueLayout.JAVA_INT, 0, states.length);
+ ui.toggle_args_set_groups.invoke(args, st);
+ }
if(onChange != null) {
// TODO
private String styleClass;
private WebView value;
private String varname;
- private int[] states;
public WebViewBuilder(UiObject obj) {
this.obj = obj;
return this;
}
- public WebViewBuilder states(int... states) {
- this.states = states;
- return this;
- }
-
public MemorySegment createArgs(Arena arena) throws Throwable {
ArgFuncs ui = ArgFuncs.getInstance();
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onClick: EventHandler? = null
): UiWidget {
val button = Button.button(ui)
stockId?.let {
button.stockId(it)
}
+ states?.let {
+ button.states(*it)
+ }
onClick?.let {
button.onClick(onClick)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onChange: EventHandler? = null
): UiWidget {
label?.let {
stockId?.let {
button.stockId(it)
}
+ states?.let {
+ button.states(*it)
+ }
onChange?.let {
button.onChange(onChange)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onChange: EventHandler? = null
): UiWidget {
return createToggleButton(
rowspan = rowspan,
name = name,
styleClass = styleClass,
+ states = states,
onChange = onChange
)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onChange: EventHandler? = null
): UiWidget {
return createToggleButton(
rowspan = rowspan,
name = name,
styleClass = styleClass,
+ states = states,
onChange = onChange
)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onChange: EventHandler? = null
): UiWidget {
return createToggleButton(
rowspan = rowspan,
name = name,
styleClass = styleClass,
+ states = states,
onChange = onChange
)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onChange: EventHandler? = null
): UiWidget {
return createToggleButton(
rowspan = rowspan,
name = name,
styleClass = styleClass,
+ states = states,
onChange = onChange
)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onClick: EventHandler? = null
): UiWidget {
val button = Button.linkButton(ui)
styleClass?.let {
button.styleClass(it)
}
+ states?.let {
+ button.states(*it)
+ }
return button.create()
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
contextmenu: Menu? = null,
onActivate: EventHandler? = null,
onSelection: EventHandler? = null,
styleClass?.let {
table.styleClass(it)
}
+ states?.let {
+ table.states(*it)
+ }
contextmenu?.let {
table.contextmenu(it)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
contextmenu: Menu? = null,
onActivate: EventHandler? = null,
onSelection: EventHandler? = null,
styleClass?.let {
list.styleClass(it)
}
+ states?.let {
+ list.states(*it)
+ }
contextmenu?.let {
list.contextmenu(it)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
contextmenu: Menu? = null,
onActivate: EventHandler? = null,
onSelection: EventHandler? = null,
rowspan = rowspan,
name = name,
styleClass = styleClass,
+ states = states,
contextmenu = contextmenu,
onActivate = onActivate,
onSelection = onSelection,
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onActivate: EventHandler? = null,
getvalue: ListValueConverter<T>? = null
): UiWidget {
rowspan = rowspan,
name = name,
styleClass = styleClass,
+ states = states,
onActivate = onActivate,
getvalue = getvalue
)
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onChange: EventHandler? = null
): UiWidget {
val textarea = Text.textarea(ui)
styleClass?.let {
textarea.styleClass(it)
}
+ states?.let {
+ textarea.states(*it)
+ }
onChange?.let {
textarea.onChange(onChange)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onChange: EventHandler? = null
): UiWidget {
varname?.let {
styleClass?.let {
textfield.styleClass(it)
}
+ states?.let {
+ textfield.states(*it)
+ }
onChange?.let {
textfield.onChange(onChange)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onChange: EventHandler? = null
): UiWidget {
val textfield = Text.textfield(ui)
rowspan = rowspan,
name = name,
styleClass = styleClass,
+ states = states,
onChange = onChange
)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onChange: EventHandler? = null
): UiWidget {
val textfield = Text.passwordfield(ui)
rowspan = rowspan,
name = name,
styleClass = styleClass,
+ states = states,
onChange = onChange
)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onChange: EventHandler? = null
): UiWidget {
val textfield = Text.framelessTextfield(ui)
rowspan = rowspan,
name = name,
styleClass = styleClass,
+ states = states,
onChange = onChange
)
}
rowspan: Int = -1,
name: String? = null,
styleClass: String? = null,
+ states: IntArray? = null,
onChange: EventHandler? = null
): UiWidget {
val spinbox = Entry.spinbox(ui)
styleClass?.let {
spinbox.styleClass(it)
}
+ states?.let {
+ spinbox.states(*it)
+ }
onChange?.let {
spinbox.onChange(onChange)
}