ButtonFuncs ui = ButtonFuncs.getInstance();
return new ToggleBuilder(obj, ui.radiobutton_create);
}
+
+ public static LinkButtonBuilder linkButton(UiObject obj) {
+ ButtonFuncs ui = ButtonFuncs.getInstance();
+ return new LinkButtonBuilder(obj, ui.linkbutton_create);
+ }
}
public MethodHandle checkbox_create;
public MethodHandle switch_create;
public MethodHandle radiobutton_create;
+ public MethodHandle linkbutton_create;
private ButtonFuncs(Linker linker, SymbolLookup lib) {
// void* func(void*, void*)
MemorySegment ui_checkbox_create_addr = lib.find("ui_checkbox_create").orElseThrow();
MemorySegment ui_switch_create_addr = lib.find("ui_switch_create").orElseThrow();
MemorySegment ui_radiobutton_create_addr = lib.find("ui_radiobutton_create").orElseThrow();
+ MemorySegment ui_linkbutton_create_addr = lib.find("ui_linkbutton_create").orElseThrow();
button_create = linker.downcallHandle(ui_button_create_addr, sigm_mm);
togglebutton_create = linker.downcallHandle(ui_togglebutton_create_addr, sigm_mm);
checkbox_create = linker.downcallHandle(ui_checkbox_create_addr, sigm_mm);
switch_create = linker.downcallHandle(ui_switch_create_addr, sigm_mm);
radiobutton_create = linker.downcallHandle(ui_radiobutton_create_addr, sigm_mm);
+ linkbutton_create = linker.downcallHandle(ui_linkbutton_create_addr, sigm_mm);
}
static ButtonFuncs getInstance() {
private String varname;
private UiString value;
private boolean nofollow;
- private LinkButtonType type;
+ private c type;
private int[] states;
public LinkButtonBuilder(UiObject obj, MethodHandle widgetConstructor) {
import de.unixwork.ui.UiWidget
import de.unixwork.ui.WebView
import de.unixwork.ui.Label
+import de.unixwork.ui.LinkButtonType
import de.unixwork.ui.ListViewBuilder
import de.unixwork.ui.UiText
import java.awt.TextArea
)
}
+ fun linkbutton(
+ label: String? = null,
+ uri: String? = null,
+ varname: String? = null,
+ value: UiString? = null,
+ nofollow: Boolean = false,
+ type: LinkButtonType? = null,
+ fill: Boolean = false,
+ hexpand: Boolean = false,
+ vexpand: Boolean = false,
+ hfill: Boolean = false,
+ vfill: Boolean = false,
+ overrideDefaults: Boolean = false,
+ colspan: Int = -1,
+ rowspan: Int = -1,
+ name: String? = null,
+ styleClass: String? = null,
+ onClick: EventHandler? = null
+ ): UiWidget {
+ val button = Button.linkButton(ui)
+ label?.let {
+ button.label(it)
+ }
+ uri?.let {
+ button.uri(it)
+ }
+ varname?.let {
+ button.varname(it)
+ }
+ value?.let {
+ button.value(it)
+ }
+ if(nofollow) {
+ button.nofollow(nofollow)
+ }
+ if(type != null) {
+ button.type(type)
+ }
+ if(onClick != null) {
+ button.onClick(onClick)
+ }
+ if(fill) {
+ button.fill(fill);
+ }
+ if(hexpand) {
+ button.hexpand(true)
+ }
+ if(vexpand) {
+ button.vexpand(true)
+ }
+ if(hfill) {
+ button.hfill(true)
+ }
+ if(vfill) {
+ button.vfill(true)
+ }
+ if(colspan > 0) {
+ button.colspan(colspan)
+ }
+ if(rowspan > 0) {
+ button.rowspan(rowspan)
+ }
+ if(overrideDefaults) {
+ button.overrideDefaults(true)
+ }
+ name?.let {
+ button.name(name)
+ }
+ styleClass?.let {
+ button.styleClass(it)
+ }
+ return button.create()
+ }
+
fun <T>createListView(
list: ListViewBuilder<T>,
varname: String? = null,