application/main.c

branch
newapi
changeset 420
28a5920bebe0
parent 419
7d15cad351fc
--- a/application/main.c	Sun Dec 15 22:53:51 2024 +0100
+++ b/application/main.c	Sun Dec 22 11:49:59 2024 +0100
@@ -486,67 +486,39 @@
 
 #if defined(UI_COCOA) || defined(UI_MOTIF)
 
+static UiList *menulist;
+int items = 4;
+
 void action_button(UiEvent *event, void *data) {
     printf("action_button\n");
+    
+    char *newitem = malloc(32);
+    snprintf(newitem, 32, "Item %d", ++items);
+    ui_list_append(menulist, newitem);
+    ui_list_notify(menulist);
 }
 
 typedef struct WData {
     UiString *path;
 } WData;
 
+
+
 void application_startup(UiEvent *event, void *data) {
+    
+    menulist = ui_list_new(ui_global_context(), "menulist");
+    ui_list_append(menulist, "Item 1");
+    ui_list_append(menulist, "Item 2");
+    ui_list_append(menulist, "Item 3");
+    ui_list_append(menulist, "Item 4");
+    
     UiObject *obj = ui_window("Test", NULL);
     
     WData *wdata = ui_malloc(obj->ctx, sizeof(WData));
     wdata->path = ui_string_new(obj->ctx, NULL);
     obj->window = wdata;
     
-    /*
-    ui_grid(obj, .margin = 10) {
-        ui_button(obj, .label = "Test Button", .onclick = action_button);
-        ui_newline(obj);
-        
-        ui_togglebutton(obj, .label = "Togglebutton");
-        ui_togglebutton(obj, .label = "XY", .hfill = TRUE);
-        ui_togglebutton(obj, .label = "AB", .hfill = TRUE);
-        ui_togglebutton(obj, .label = "ZZ", .hexpand = TRUE, .hfill = TRUE);
-        ui_newline(obj);
-        
-        ui_hbox(obj, .colspan = 4, .hfill = TRUE, .hexpand = TRUE) {
-            ui_checkbox(obj, .label = "Checkbox", .enable_group = 123);
-            ui_checkbox(obj, .label = "Checkbox Disabled", .groups = UI_GROUPS(123));
-            ui_button(obj, .label = "fill", .fill = UI_ON);
-        }
-        ui_newline(obj);
-        
-        
-        
-        ui_hbox(obj, .colspan = 4, .hfill = TRUE, .hexpand = TRUE) {
-            ui_radiobutton(obj, .label = "Radio 1", .varname = "radio");
-            ui_radiobutton(obj, .label = "Radio 2", .varname = "radio");
-            ui_button(obj, .label = "fill", .hexpand = TRUE, .hfill = TRUE);
-        }
-        ui_newline(obj);
-        
-        
-        ui_hbox(obj, .colspan = 4, .vexpand = TRUE, .vfill = TRUE) {
-            ui_button(obj, .label = "F1----------------------A");
-            ui_button(obj, .label = "F2 test test test test test test test");
-            ui_button(obj, .label = "F312343543");
-        }
-        
-        
-    }
-    */
-    
-    
-    
-    //ui_textfield(obj, .varname = "textfield");
-    //ui_textfield(obj, .varname = "textfield2");
-    ui_path_textfield(obj, .value = wdata->path, .hfill = TRUE, .hexpand = TRUE);
-    
-    ui_set(wdata->path, "/test/path/string");
-    
+    ui_button(obj, .label = "Add Item", .onclick = action_button);
     
     ui_show(obj);
 }
@@ -564,12 +536,18 @@
         ui_menuitem(.label = "Test 1", .onclick = action_test);
         ui_menuitem(.label = "Test 2", .onclick = action_test);
         ui_menuitem(.label = "Test 3", .onclick = action_test);
+        ui_menuseparator();
         ui_menu_toggleitem(.label = "Toggle 1");
         ui_menu_toggleitem(.label = "Toggle 2");
+        ui_menuseparator();
         ui_menu_radioitem(.label = "Radio 1", .varname = "menu_radio");
         ui_menu_radioitem(.label = "Radio 2", .varname = "menu_radio");
         ui_menu_radioitem(.label = "Radio 3", .varname = "menu_radio");
         ui_menu_radioitem(.label = "Radio 4", .varname = "menu_radio");
+        ui_menuseparator();
+        ui_menu_itemlist(.varname = "menulist");
+        ui_menuseparator();
+        ui_menuitem(.label = "Quit");
     }
     
     ui_main();

mercurial