MethodHandle sidebar_args_set_spacing;
MethodHandle sidebar_args_free;
+ MethodHandle label_args_new;
+ MethodHandle label_args_set_fill;
+ MethodHandle label_args_set_hexpand;
+ MethodHandle label_args_set_vexpand;
+ MethodHandle label_args_set_hfill;
+ MethodHandle label_args_set_vfill;
+ MethodHandle label_args_set_override_defaults;
+ MethodHandle label_args_set_colspan;
+ MethodHandle label_args_set_rowspan;
+ MethodHandle label_args_set_name;
+ MethodHandle label_args_set_style_class;
+ MethodHandle label_args_set_label;
+ MethodHandle label_args_set_align;
+ MethodHandle label_args_set_style;
+ MethodHandle label_args_set_value;
+ MethodHandle label_args_set_varname;
+ MethodHandle label_args_free;
+
+ MethodHandle progressbar_args_new;
+ MethodHandle progressbar_args_set_fill;
+ MethodHandle progressbar_args_set_hexpand;
+ MethodHandle progressbar_args_set_vexpand;
+ MethodHandle progressbar_args_set_hfill;
+ MethodHandle progressbar_args_set_vfill;
+ MethodHandle progressbar_args_set_override_defaults;
+ MethodHandle progressbar_args_set_colspan;
+ MethodHandle progressbar_args_set_rowspan;
+ MethodHandle progressbar_args_set_name;
+ MethodHandle progressbar_args_set_style_class;
+ MethodHandle progressbar_args_set_min;
+ MethodHandle progressbar_args_set_max;
+ MethodHandle progressbar_args_set_value;
+ MethodHandle progressbar_args_set_varname;
+ MethodHandle progressbar_args_free;
+
+ MethodHandle progress_spinner_args_new;
+ MethodHandle progress_spinner_args_set_fill;
+ MethodHandle progress_spinner_args_set_hexpand;
+ MethodHandle progress_spinner_args_set_vexpand;
+ MethodHandle progress_spinner_args_set_hfill;
+ MethodHandle progress_spinner_args_set_vfill;
+ MethodHandle progress_spinner_args_set_override_defaults;
+ MethodHandle progress_spinner_args_set_colspan;
+ MethodHandle progress_spinner_args_set_rowspan;
+ MethodHandle progress_spinner_args_set_name;
+ MethodHandle progress_spinner_args_set_style_class;
+ MethodHandle progress_spinner_args_set_value;
+ MethodHandle progress_spinner_args_set_varname;
+ MethodHandle progress_spinner_args_free;
+
MethodHandle button_args_new;
MethodHandle button_args_set_fill;
MethodHandle button_args_set_hexpand;
FunctionDescriptor sigv_mml = FunctionDescriptor.ofVoid(ValueLayout.ADDRESS, ValueLayout.ADDRESS, ValueLayout.JAVA_LONG);
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);
MemorySegment ui_menuitem_args_new_addr = lib.find("ui_menuitem_args_new").orElseThrow();
MemorySegment ui_menuitem_args_set_label_addr = lib.find("ui_menuitem_args_set_label").orElseThrow();
MemorySegment ui_sidebar_args_set_spacing_addr = lib.find("ui_sidebar_args_set_spacing").orElseThrow();
MemorySegment ui_sidebar_args_free_addr = lib.find("ui_sidebar_args_free").orElseThrow();
+ MemorySegment ui_label_args_new_addr = lib.find("ui_label_args_new").orElseThrow();
+ MemorySegment ui_label_args_set_fill_addr = lib.find("ui_label_args_set_fill").orElseThrow();
+ MemorySegment ui_label_args_set_hexpand_addr = lib.find("ui_label_args_set_hexpand").orElseThrow();
+ MemorySegment ui_label_args_set_vexpand_addr = lib.find("ui_label_args_set_vexpand").orElseThrow();
+ MemorySegment ui_label_args_set_hfill_addr = lib.find("ui_label_args_set_hfill").orElseThrow();
+ MemorySegment ui_label_args_set_vfill_addr = lib.find("ui_label_args_set_vfill").orElseThrow();
+ MemorySegment ui_label_args_set_override_defaults_addr = lib.find("ui_label_args_set_override_defaults").orElseThrow();
+ MemorySegment ui_label_args_set_colspan_addr = lib.find("ui_label_args_set_colspan").orElseThrow();
+ MemorySegment ui_label_args_set_rowspan_addr = lib.find("ui_label_args_set_rowspan").orElseThrow();
+ MemorySegment ui_label_args_set_name_addr = lib.find("ui_label_args_set_name").orElseThrow();
+ MemorySegment ui_label_args_set_style_class_addr = lib.find("ui_label_args_set_style_class").orElseThrow();
+ MemorySegment ui_label_args_set_label_addr = lib.find("ui_label_args_set_label").orElseThrow();
+ MemorySegment ui_label_args_set_align_addr = lib.find("ui_label_args_set_align").orElseThrow();
+ MemorySegment ui_label_args_set_style_addr = lib.find("ui_label_args_set_style").orElseThrow();
+ MemorySegment ui_label_args_set_value_addr = lib.find("ui_label_args_set_value").orElseThrow();
+ MemorySegment ui_label_args_set_varname_addr = lib.find("ui_label_args_set_varname").orElseThrow();
+ MemorySegment ui_label_args_free_addr = lib.find("ui_label_args_free").orElseThrow();
+
+ MemorySegment ui_progressbar_args_new_addr = lib.find("ui_progressbar_args_new").orElseThrow();
+ MemorySegment ui_progressbar_args_set_fill_addr = lib.find("ui_progressbar_args_set_fill").orElseThrow();
+ MemorySegment ui_progressbar_args_set_hexpand_addr = lib.find("ui_progressbar_args_set_hexpand").orElseThrow();
+ MemorySegment ui_progressbar_args_set_vexpand_addr = lib.find("ui_progressbar_args_set_vexpand").orElseThrow();
+ MemorySegment ui_progressbar_args_set_hfill_addr = lib.find("ui_progressbar_args_set_hfill").orElseThrow();
+ MemorySegment ui_progressbar_args_set_vfill_addr = lib.find("ui_progressbar_args_set_vfill").orElseThrow();
+ MemorySegment ui_progressbar_args_set_override_defaults_addr = lib.find("ui_progressbar_args_set_override_defaults").orElseThrow();
+ MemorySegment ui_progressbar_args_set_colspan_addr = lib.find("ui_progressbar_args_set_colspan").orElseThrow();
+ MemorySegment ui_progressbar_args_set_rowspan_addr = lib.find("ui_progressbar_args_set_rowspan").orElseThrow();
+ MemorySegment ui_progressbar_args_set_name_addr = lib.find("ui_progressbar_args_set_name").orElseThrow();
+ MemorySegment ui_progressbar_args_set_style_class_addr = lib.find("ui_progressbar_args_set_style_class").orElseThrow();
+ MemorySegment ui_progressbar_args_set_min_addr = lib.find("ui_progressbar_args_set_min").orElseThrow();
+ MemorySegment ui_progressbar_args_set_max_addr = lib.find("ui_progressbar_args_set_max").orElseThrow();
+ MemorySegment ui_progressbar_args_set_value_addr = lib.find("ui_progressbar_args_set_value").orElseThrow();
+ MemorySegment ui_progressbar_args_set_varname_addr = lib.find("ui_progressbar_args_set_varname").orElseThrow();
+ MemorySegment ui_progressbar_args_free_addr = lib.find("ui_progressbar_args_free").orElseThrow();
+
+ MemorySegment ui_progress_spinner_args_new_addr = lib.find("ui_progress_spinner_args_new").orElseThrow();
+ MemorySegment ui_progress_spinner_args_set_fill_addr = lib.find("ui_progress_spinner_args_set_fill").orElseThrow();
+ MemorySegment ui_progress_spinner_args_set_hexpand_addr = lib.find("ui_progress_spinner_args_set_hexpand").orElseThrow();
+ MemorySegment ui_progress_spinner_args_set_vexpand_addr = lib.find("ui_progress_spinner_args_set_vexpand").orElseThrow();
+ MemorySegment ui_progress_spinner_args_set_hfill_addr = lib.find("ui_progress_spinner_args_set_hfill").orElseThrow();
+ MemorySegment ui_progress_spinner_args_set_vfill_addr = lib.find("ui_progress_spinner_args_set_vfill").orElseThrow();
+ MemorySegment ui_progress_spinner_args_set_override_defaults_addr = lib.find("ui_progress_spinner_args_set_override_defaults").orElseThrow();
+ MemorySegment ui_progress_spinner_args_set_colspan_addr = lib.find("ui_progress_spinner_args_set_colspan").orElseThrow();
+ MemorySegment ui_progress_spinner_args_set_rowspan_addr = lib.find("ui_progress_spinner_args_set_rowspan").orElseThrow();
+ MemorySegment ui_progress_spinner_args_set_name_addr = lib.find("ui_progress_spinner_args_set_name").orElseThrow();
+ MemorySegment ui_progress_spinner_args_set_style_class_addr = lib.find("ui_progress_spinner_args_set_style_class").orElseThrow();
+ MemorySegment ui_progress_spinner_args_set_value_addr = lib.find("ui_progress_spinner_args_set_value").orElseThrow();
+ MemorySegment ui_progress_spinner_args_set_varname_addr = lib.find("ui_progress_spinner_args_set_varname").orElseThrow();
+ MemorySegment ui_progress_spinner_args_free_addr = lib.find("ui_progress_spinner_args_free").orElseThrow();
+
MemorySegment ui_button_args_new_addr = lib.find("ui_button_args_new").orElseThrow();
MemorySegment ui_button_args_set_fill_addr = lib.find("ui_button_args_set_fill").orElseThrow();
MemorySegment ui_button_args_set_hexpand_addr = lib.find("ui_button_args_set_hexpand").orElseThrow();
sidebar_args_set_spacing = linker.downcallHandle(ui_sidebar_args_set_spacing_addr, sigv_mi);
sidebar_args_free = linker.downcallHandle(ui_sidebar_args_free_addr, sigv_m);
+ label_args_new = linker.downcallHandle(ui_label_args_new_addr, sigm);
+ label_args_set_fill = linker.downcallHandle(ui_label_args_set_fill_addr, sigv_mb);
+ label_args_set_name = linker.downcallHandle(ui_label_args_set_name_addr, sigv_mm);
+ label_args_set_style_class = linker.downcallHandle(ui_label_args_set_style_class_addr, sigv_mm);
+ label_args_set_hexpand = linker.downcallHandle(ui_label_args_set_hexpand_addr, sigv_mb);
+ label_args_set_vexpand = linker.downcallHandle(ui_label_args_set_vexpand_addr, sigv_mb);
+ label_args_set_hfill = linker.downcallHandle(ui_label_args_set_hfill_addr, sigv_mb);
+ label_args_set_vfill = linker.downcallHandle(ui_label_args_set_vfill_addr, sigv_mb);
+ label_args_set_override_defaults = linker.downcallHandle(ui_label_args_set_override_defaults_addr, sigv_mb);
+ label_args_set_colspan = linker.downcallHandle(ui_label_args_set_colspan_addr, sigv_mi);
+ label_args_set_rowspan = linker.downcallHandle(ui_label_args_set_rowspan_addr, sigv_mi);
+ label_args_set_label = linker.downcallHandle(ui_label_args_set_label_addr, sigv_mm);
+ label_args_set_align = linker.downcallHandle(ui_label_args_set_align_addr, sigv_mi);
+ label_args_set_style = linker.downcallHandle(ui_label_args_set_style_addr, sigv_mi);
+ label_args_set_value = linker.downcallHandle(ui_label_args_set_value_addr, sigv_mm);
+ label_args_set_varname = linker.downcallHandle(ui_label_args_set_varname_addr, sigv_mm);
+ label_args_free = linker.downcallHandle(ui_label_args_free_addr, sigv_m);
+
+ progressbar_args_new = linker.downcallHandle(ui_progressbar_args_new_addr, sigm);
+ progressbar_args_set_fill = linker.downcallHandle(ui_progressbar_args_set_fill_addr, sigv_mb);
+ progressbar_args_set_hexpand = linker.downcallHandle(ui_progressbar_args_set_hexpand_addr, sigv_mb);
+ progressbar_args_set_vexpand = linker.downcallHandle(ui_progressbar_args_set_vexpand_addr, sigv_mb);
+ progressbar_args_set_hfill = linker.downcallHandle(ui_progressbar_args_set_hfill_addr, sigv_mb);
+ progressbar_args_set_vfill = linker.downcallHandle(ui_progressbar_args_set_vfill_addr, sigv_mb);
+ progressbar_args_set_override_defaults = linker.downcallHandle(ui_progressbar_args_set_override_defaults_addr, sigv_mb);
+ progressbar_args_set_colspan = linker.downcallHandle(ui_progressbar_args_set_colspan_addr, sigv_mi);
+ progressbar_args_set_rowspan = linker.downcallHandle(ui_progressbar_args_set_rowspan_addr, sigv_mi);
+ progressbar_args_set_name = linker.downcallHandle(ui_progressbar_args_set_name_addr, sigv_mm);
+ progressbar_args_set_style_class = linker.downcallHandle(ui_progressbar_args_set_style_class_addr, sigv_mm);
+ progressbar_args_set_min = linker.downcallHandle(ui_progressbar_args_set_min_addr, sigv_md);
+ progressbar_args_set_max = linker.downcallHandle(ui_progressbar_args_set_max_addr, sigv_md);
+ progressbar_args_set_value = linker.downcallHandle(ui_progressbar_args_set_value_addr, sigv_mm);
+ progressbar_args_set_varname = linker.downcallHandle(ui_progressbar_args_set_varname_addr, sigv_mm);
+ progressbar_args_free = linker.downcallHandle(ui_progressbar_args_free_addr, sigv_m);
+
+ progress_spinner_args_new = linker.downcallHandle(ui_progress_spinner_args_new_addr, sigm);
+ progress_spinner_args_set_fill = linker.downcallHandle(ui_progress_spinner_args_set_fill_addr, sigv_mb);
+ progress_spinner_args_set_hexpand = linker.downcallHandle(ui_progress_spinner_args_set_hexpand_addr, sigv_mb);
+ progress_spinner_args_set_vexpand = linker.downcallHandle(ui_progress_spinner_args_set_vexpand_addr, sigv_mb);
+ progress_spinner_args_set_hfill = linker.downcallHandle(ui_progress_spinner_args_set_hfill_addr, sigv_mb);
+ progress_spinner_args_set_vfill = linker.downcallHandle(ui_progress_spinner_args_set_vfill_addr, sigv_mb);
+ progress_spinner_args_set_override_defaults = linker.downcallHandle(ui_progress_spinner_args_set_override_defaults_addr, sigv_mb);
+ progress_spinner_args_set_colspan = linker.downcallHandle(ui_progress_spinner_args_set_colspan_addr, sigv_mi);
+ progress_spinner_args_set_rowspan = linker.downcallHandle(ui_progress_spinner_args_set_rowspan_addr, sigv_mi);
+ progress_spinner_args_set_name = linker.downcallHandle(ui_progress_spinner_args_set_name_addr, sigv_mm);
+ progress_spinner_args_set_style_class = linker.downcallHandle(ui_progress_spinner_args_set_style_class_addr, sigv_mm);
+ progress_spinner_args_set_value = linker.downcallHandle(ui_progress_spinner_args_set_value_addr, sigv_mm);
+ progress_spinner_args_set_varname = linker.downcallHandle(ui_progress_spinner_args_set_varname_addr, sigv_mm);
+ progress_spinner_args_free = linker.downcallHandle(ui_progress_spinner_args_free_addr, sigv_m);
+
button_args_new = linker.downcallHandle(ui_button_args_new_addr, sigm);
button_args_set_fill = linker.downcallHandle(ui_button_args_set_fill_addr, sigv_mb);
button_args_set_hexpand = linker.downcallHandle(ui_button_args_set_hexpand_addr, sigv_mb);
--- /dev/null
+package de.unixwork.ui;
+
+import java.lang.foreign.Arena;
+import java.lang.foreign.MemorySegment;
+import java.lang.invoke.MethodHandle;
+
+public class LabelBuilder extends AbstractWidgetBuilder {
+ private boolean fill;
+ private boolean hexpand;
+ private boolean vexpand;
+ private boolean hfill;
+ private boolean vfill;
+ private boolean overrideDefaults;
+ private int colspan;
+ private int rowspan;
+ private String name;
+ private String styleClass;
+ private String label;
+ private Alignment align;
+ private LabelStyle style;
+ private UiString value;
+ private String varname;
+
+ public LabelBuilder(UiObject obj, MethodHandle widgetConstructor) {
+ this.obj = obj;
+ this.widgetConstructor = widgetConstructor;
+ this.argsFree = ArgFuncs.getInstance().label_args_free;
+ }
+
+ public LabelBuilder fill(boolean fill) {
+ this.fill = fill;
+ return this;
+ }
+
+ public LabelBuilder hexpand(boolean hexpand) {
+ this.hexpand = hexpand;
+ return this;
+ }
+
+ public LabelBuilder vexpand(boolean vexpand) {
+ this.vexpand = vexpand;
+ return this;
+ }
+
+ public LabelBuilder hfill(boolean hfill) {
+ this.hfill = hfill;
+ return this;
+ }
+
+ public LabelBuilder vfill(boolean vfill) {
+ this.vfill = vfill;
+ return this;
+ }
+
+ public LabelBuilder overrideDefaults(boolean overrideDefaults) {
+ this.overrideDefaults = overrideDefaults;
+ return this;
+ }
+
+ public LabelBuilder colspan(int colspan) {
+ this.colspan = colspan;
+ return this;
+ }
+
+ public LabelBuilder rowspan(int rowspan) {
+ this.rowspan = rowspan;
+ return this;
+ }
+
+ public LabelBuilder name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public LabelBuilder styleClass(String styleClass) {
+ this.styleClass = styleClass;
+ return this;
+ }
+
+ public LabelBuilder label(String label) {
+ this.label = label;
+ return this;
+ }
+
+ public LabelBuilder align(Alignment align) {
+ this.align = align;
+ return this;
+ }
+
+ public LabelBuilder style(LabelStyle style) {
+ this.style = style;
+ return this;
+ }
+
+ public LabelBuilder varname(String varname) {
+ this.varname = varname;
+ return this;
+ }
+
+ public LabelBuilder value(UiString value) {
+ this.value = value;
+ return this;
+ }
+
+ public MemorySegment createArgs(Arena arena) throws Throwable {
+ ArgFuncs ui = ArgFuncs.getInstance();
+
+ args = (MemorySegment)ui.label_args_new.invoke();
+ if(fill) {
+ ui.label_args_set_fill.invoke(args, fill);
+ }
+ if(hexpand) {
+ ui.label_args_set_hexpand.invoke(args, hexpand);
+ }
+ if(vexpand) {
+ ui.label_args_set_vexpand.invoke(args, vexpand);
+ }
+ if(hfill) {
+ ui.label_args_set_hfill.invoke(args, hfill);
+ }
+ if(vfill) {
+ ui.label_args_set_vfill.invoke(args, vfill);
+ }
+ if(overrideDefaults) {
+ ui.label_args_set_override_defaults.invoke(args, overrideDefaults);
+ }
+ if(colspan > 0) {
+ ui.label_args_set_colspan.invoke(args, colspan);
+ }
+ if(rowspan > 0) {
+ ui.label_args_set_rowspan.invoke(args, rowspan);
+ }
+ if(name != null) {
+ MemorySegment cstr = arena.allocateFrom(name);
+ ui.label_args_set_name.invoke(args, cstr);
+ }
+ if(styleClass != null) {
+ MemorySegment cstr = arena.allocateFrom(styleClass);
+ ui.label_args_set_style_class.invoke(args, cstr);
+ }
+ if(label != null) {
+ MemorySegment cstr = arena.allocateFrom(label);
+ ui.label_args_set_label.invoke(args, cstr);
+ }
+ if(align != null) {
+ int alignNum = 0;
+ switch(align) {
+ case LEFT: alignNum = 1; break;
+ case RIGHT: alignNum = 2; break;
+ case CENTER: alignNum = 3; break;
+ default: break;
+ }
+ ui.label_args_set_align.invoke(args, alignNum);
+ }
+ if(style != null) {
+ int styleNum = 0;
+ switch(style) {
+ case TITLE: styleNum = 1; break;
+ case SUBTITLE: styleNum = 2; break;
+ case DIM: styleNum = 3; break;
+ default: break;
+ }
+ ui.label_args_set_style.invoke(args, styleNum);
+ }
+
+ if(varname != null) {
+ MemorySegment cstr = arena.allocateFrom(varname);
+ ui.label_args_set_varname.invoke(args, cstr);
+ }
+ if(value != null) {
+ ui.label_args_set_value.invoke(args, value.valuePtr);
+ }
+
+ return args;
+ }
+}