return new UiString(this, name);
}
+ public UiInteger integer() {
+ return integer(null);
+ }
+
+ public UiInteger integer(String name) {
+ return new UiInteger(this, name);
+ }
+
public void attach(Document doc) {
ToolkitFuncs ui = ToolkitFuncs.getInstance();
try {
private String icon;
private int labelType;
private String varname;
+ private UiInteger value;
private EventHandler onChange;
private int[] states;
return this;
}
+ public ToggleBuilder value(UiInteger value) {
+ this.value = value;
+ return this;
+ }
+
public ToggleBuilder onChange(EventHandler onChange) {
this.onChange = onChange;
return this;
MemorySegment cstr = arena.allocateFrom(varname);
ui.toggle_args_set_varname.invoke(args, cstr);
}
+ if(value != null) {
+ ui.toggle_args_set_value.invoke(args, value.valuePtr);
+ }
if(onChange != null) {
// TODO
--- /dev/null
+package de.unixwork.ui;
+
+import java.lang.foreign.Arena;
+import java.lang.foreign.MemorySegment;
+
+public class UiInteger {
+ protected MemorySegment valuePtr;
+
+ protected UiInteger(Context ctx, String name) {
+ ToolkitFuncs ui = ToolkitFuncs.getInstance();
+
+ MemorySegment nameCStr = MemorySegment.NULL;
+ try (Arena arena = Arena.ofConfined()) {
+ if(name != null) {
+ nameCStr = arena.allocateFrom(name);
+ }
+
+ valuePtr = (MemorySegment) ui.int_new.invoke(ctx.getCtx(), nameCStr);
+ } catch (Throwable e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public int intValue() {
+ ToolkitFuncs ui = ToolkitFuncs.getInstance();
+ try {
+ Integer value = (Integer) ui.int_get.invoke(valuePtr);
+ return intValue();
+ } catch (Throwable e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public void setIntValue(int value) {
+ ToolkitFuncs ui = ToolkitFuncs.getInstance();
+ try (Arena arena = Arena.ofConfined()) {
+ ui.int_set.invoke(valuePtr, value);
+ } catch (Throwable e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
import java.lang.foreign.MemorySegment;
public class UiString {
- private MemorySegment valuePtr;
+ protected MemorySegment valuePtr;
protected UiString(Context ctx, String name) {
ToolkitFuncs ui = ToolkitFuncs.getInstance();
import de.unixwork.ui.EventHandler
import de.unixwork.ui.EventWrapper.eventHandler
import de.unixwork.ui.ToggleBuilder
+import de.unixwork.ui.UiInteger
import de.unixwork.ui.UiObject
import de.unixwork.ui.UiWidget
import java.lang.foreign.MemorySegment
stockId: String? = null,
icon: String? = null,
varname: String? = null,
+ value: UiInteger? = null,
fill: Boolean = false,
hexpand: Boolean = false,
vexpand: Boolean = false,
varname?.let {
button.varname(it)
}
+ value?.let {
+ button.value(it)
+ }
// TODO: fill
if(hexpand) {
button.hexpand(true)
stockId: String? = null,
icon: String? = null,
varname: String? = null,
+ value: UiInteger? = null,
fill: Boolean = false,
hexpand: Boolean = false,
vexpand: Boolean = false,
stockId = stockId,
icon = icon,
varname = varname,
+ value = value,
fill = fill,
hexpand = hexpand,
vexpand = vexpand,
stockId: String? = null,
icon: String? = null,
varname: String? = null,
+ value: UiInteger? = null,
fill: Boolean = false,
hexpand: Boolean = false,
vexpand: Boolean = false,
stockId = stockId,
icon = icon,
varname = varname,
+ value = value,
fill = fill,
hexpand = hexpand,
vexpand = vexpand,
stockId: String? = null,
icon: String? = null,
varname: String? = null,
+ value: UiInteger? = null,
fill: Boolean = false,
hexpand: Boolean = false,
vexpand: Boolean = false,
stockId = stockId,
icon = icon,
varname = varname,
+ value = value,
fill = fill,
hexpand = hexpand,
vexpand = vexpand,
stockId: String? = null,
icon: String? = null,
varname: String? = null,
+ value: UiInteger? = null,
fill: Boolean = false,
hexpand: Boolean = false,
vexpand: Boolean = false,
stockId = stockId,
icon = icon,
varname = varname,
+ value = value,
fill = fill,
hexpand = hexpand,
vexpand = vexpand,