--- a/application/main.c Fri Aug 22 10:22:55 2025 +0200 +++ b/application/main.c Fri Aug 22 18:56:37 2025 +0200 @@ -199,6 +199,9 @@ UiGeneric *web; UiString *list_input; UiList *list11; + UiString *link; + UiString *link_label; + UiString *link_uri; } MyDocument; MyDocument *doc1; @@ -342,6 +345,10 @@ ui_list_append(doc->list11, "Item 2"); ui_list_append(doc->list11, "Item 3"); + doc->link = ui_string_new(docctx, "link"); + doc->link_label = ui_string_new(docctx, "link_label"); + doc->link_uri = ui_string_new(docctx, "link_uri"); + //doc->text = ui_text_new(docctx, "text"); return doc; } @@ -525,6 +532,17 @@ action_list_selection(event, userdata); } +static void action_link(UiEvent *event, void *userdata) { + printf("action_link: %s\n", event->eventdata); +} + +static void action_change_link(UiEvent *event, void *userdata) { + MyDocument *doc = event->document; + char *label = ui_get(doc->link_label); + char *uri = ui_get(doc->link_uri); + ui_linkbutton_value_set(doc->link, label, uri); +} + void application_startup(UiEvent *event, void *data) { // global list UiContext *global = ui_global_context(); @@ -704,6 +722,16 @@ ui_tab(obj, "Tab 11") { ui_grid(obj, .margin = 10, .rowspacing = 10, .columnspacing = 10, .fill = TRUE) { ui_listview(obj, .varname = "list11", .multiselection = FALSE, .onselection = action_list_selection, .onactivate = action_list_activate, .hexpand = TRUE, .hfill = TRUE, .vexpand = TRUE, .vfill = TRUE); + ui_newline(obj); + + ui_linkbutton(obj, .varname = "link", .label = "Linkbutton", .onclick = action_link); + ui_newline(obj); + + ui_textfield(obj, .varname = "link_label"); + ui_newline(obj); + ui_textfield(obj, .varname = "link_uri"); + ui_newline(obj); + ui_button(obj, .label = "Update Link", .onclick = action_change_link); } } }