application/main.c

changeset 704
6105e9d9b7e1
parent 701
6fdec085c385
child 722
6466b4f16e5e
--- 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);
             }
         }
     }

mercurial