client/uiclient.c

changeset 1024
d218b70e1499
parent 986
6f7600c2b9e1
--- a/client/uiclient.c	Wed Dec 24 08:48:50 2025 +0100
+++ b/client/uiclient.c	Thu Dec 25 10:40:35 2025 +0100
@@ -45,7 +45,7 @@
 void client_init(UiMessageHandler *handler) {
     io = handler;
     
-    msg_types = cxHashMapCreateSimple(CX_STORE_POINTERS);
+    msg_types = cxHashMapCreate(NULL, CX_STORE_POINTERS, 32);
     cxMapPut(msg_types, "window", msg_window);
     cxMapPut(msg_types, "sidebar_window", msg_window);
     cxMapPut(msg_types, "splitview_window", msg_window);
@@ -59,13 +59,13 @@
     cxMapPut(msg_types, "button", msg_button);
     cxMapPut(msg_types, "toggle", msg_togglebutton);
     
-    objects = cxHashMapCreateSimple(CX_STORE_POINTERS);
+    objects = cxHashMapCreate(NULL, CX_STORE_POINTERS, 16);
 }
 
 static cxmutstr jsonobj_getstring(const CxJsonValue *obj, const char *name) {
     CxJsonValue *value = cxJsonObjGet(obj, name);
     if(value->type == CX_JSON_STRING) {
-        return value->value.string;
+        return value->string;
     } else {
         return (cxmutstr){ NULL, 0 };
     }
@@ -77,7 +77,7 @@
         if(*error) {
             *error = 0;
         }
-        return value->value.literal == CX_JSON_TRUE ? 1 : 0;
+        return value->literal == CX_JSON_TRUE ? 1 : 0;
     } else {
         if(error) {
             *error = 1;
@@ -127,19 +127,19 @@
         return 1;
     }
     
-    json_msg_handler handler = cxMapGet(msg_types, type->value.string);
+    json_msg_handler handler = cxMapGet(msg_types, type->string);
     if(!handler) {
         return 1;
     }
     
-    return handler(obj, value, type->value.string);
+    return handler(obj, value, type->string);
 }
 
 int client_handle_children(UiObject *parent, const CxJsonValue *value) {
     CxJsonValue *children = cxJsonObjGet(value, "children");
     if(children && children->type == CX_JSON_ARRAY) {
-        for(int i=0;i<children->value.array.array_size;i++) {
-            CxJsonValue *child = children->value.array.array[i];
+        for(int i=0;i<children->array.size;i++) {
+            CxJsonValue *child = children->array.data[i];
             if(client_handle_json(parent, child)) {
                 fprintf(stderr, "Error: invalid child\n");
                 return 1;
@@ -189,7 +189,7 @@
     if(!obj_id || obj_id->type != CX_JSON_STRING) {
         return NULL;
     }
-    return client_get_mapped_obj(obj_id->value.string);
+    return client_get_mapped_obj(obj_id->string);
 }
 
 int msg_window(UiObject *parent, const CxJsonValue *value, cxmutstr type) {
@@ -318,15 +318,15 @@
     CxJsonValue *val = cxJsonObjGet(value, "value");
     UiInteger *i = NULL;
     if(val && val->type == CX_JSON_STRING) {
-        i = ui_get_int_var(obj->ctx, val->value.string.ptr);
+        i = ui_get_int_var(obj->ctx, val->string.ptr);
         if(!i) {
-            i = ui_int_new(obj->ctx, val->value.string.ptr);
+            i = ui_int_new(obj->ctx, val->string.ptr);
         }
     }
     
     UiToggleArgs *args = json2toggle_args(args_value);
     UIWIDGET w;
-    switch(button_type->value.integer) {
+    switch(button_type->integer) {
         default: {
             w = ui_togglebutton_create(obj, args);
             break;

mercurial