ui/common/context.c

changeset 966
e411ed7c5f10
parent 960
e88ca7dfa943
child 967
ff4a8d10307b
--- a/ui/common/context.c	Sun Dec 07 14:39:03 2025 +0100
+++ b/ui/common/context.c	Sun Dec 07 15:23:03 2025 +0100
@@ -64,8 +64,8 @@
     ctx->vars = cxHashMapCreate(mp->allocator, CX_STORE_POINTERS, 16);
     
     ctx->documents = cxLinkedListCreate(mp->allocator, cx_cmp_ptr, CX_STORE_POINTERS);
-    ctx->group_widgets = cxLinkedListCreate(mp->allocator, cx_cmp_ptr, sizeof(UiGroupWidget));
-    ctx->groups = cxArrayListCreate(mp->allocator, cx_cmp_int, sizeof(int), 32);
+    ctx->state_widgets = cxLinkedListCreate(mp->allocator, cx_cmp_ptr, sizeof(UiStateWidget));
+    ctx->states = cxArrayListCreate(mp->allocator, cx_cmp_int, sizeof(int), 32);
     
     ctx->attach_document = uic_context_attach_document;
     ctx->detach_document2 = uic_context_detach_document;
@@ -92,8 +92,8 @@
 }
 
 void uic_context_prepare_close(UiContext *ctx) {
-    cxListClear(ctx->groups);
-    cxListClear(ctx->group_widgets);
+    cxListClear(ctx->states);
+    cxListClear(ctx->state_widgets);
 }
 
 void uic_context_attach_document(UiContext *ctx, void *document) {
@@ -526,47 +526,47 @@
 
 
 void ui_set_group(UiContext *ctx, int group) {
-    if(!cxListIndexValid(ctx->groups, cxListFind(ctx->groups, &group))) {
-        cxListAdd(ctx->groups, &group);
+    if(!cxListIndexValid(ctx->states, cxListFind(ctx->states, &group))) {
+        cxListAdd(ctx->states, &group);
     }
     
     // enable/disable group widgets
-    uic_check_group_widgets(ctx);
+    uic_check_state_widgets(ctx);
 }
 
 void ui_unset_group(UiContext *ctx, int group) {
-    int i = cxListFind(ctx->groups, &group);
+    int i = cxListFind(ctx->states, &group);
     if(i != -1) {
-        cxListRemove(ctx->groups, i);
+        cxListRemove(ctx->states, i);
     }
     
     // enable/disable group widgets
-    uic_check_group_widgets(ctx);
+    uic_check_state_widgets(ctx);
 }
 
 int* ui_active_groups(UiContext *ctx, int *ngroups) {
-    *ngroups = cxListSize(ctx->groups);
-    return cxListAt(ctx->groups, 0);
+    *ngroups = cxListSize(ctx->states);
+    return cxListAt(ctx->states, 0);
 }
 
-void uic_check_group_widgets(UiContext *ctx) {
+void uic_check_state_widgets(UiContext *ctx) {
     int ngroups = 0;
     int *groups = ui_active_groups(ctx, &ngroups);
     
-    CxIterator i = cxListIterator(ctx->group_widgets);
-    cx_foreach(UiGroupWidget *, gw, i) {
-        char *check = calloc(1, gw->numgroups);
+    CxIterator i = cxListIterator(ctx->state_widgets);
+    cx_foreach(UiStateWidget *, gw, i) {
+        char *check = calloc(1, gw->numstates);
         
         for(int i=0;i<ngroups;i++) {
-            for(int k=0;k<gw->numgroups;k++) {
-                if(groups[i] == gw->groups[k]) {
+            for(int k=0;k<gw->numstates;k++) {
+                if(groups[i] == gw->states[k]) {
                     check[k] = 1;
                 }
             }
         }
         
         int enable = 1;
-        for(int i=0;i<gw->numgroups;i++) {
+        for(int i=0;i<gw->numstates;i++) {
             if(check[i] == 0) {
                 enable = 0;
                 break;
@@ -577,70 +577,70 @@
     }
 }
 
-void ui_widget_set_groups(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable, ...) {
+void ui_widget_set_states(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable, ...) {
     if(enable == NULL) {
         enable = (ui_enablefunc)ui_set_enabled;
     }
-    // get groups
-    CxList *groups = cxArrayListCreate(cxDefaultAllocator, NULL, sizeof(int), 16);
+    // get states
+    CxList *states = cxArrayListCreate(cxDefaultAllocator, NULL, sizeof(int), 16);
     va_list ap;
     va_start(ap, enable);
-    int group;
-    while((group = va_arg(ap, int)) != -1) {
-        cxListAdd(groups, &group);
+    int state;
+    while((state = va_arg(ap, int)) != -1) {
+        cxListAdd(states, &state);
     }
     va_end(ap);
     
-    uic_add_group_widget(ctx, widget, enable, groups);
+    uic_add_state_widget(ctx, widget, enable, states);
     
-    cxListFree(groups);
+    cxListFree(states);
 }
 
-void ui_widget_set_groups2(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable, const int *groups, int ngroups) {
+void ui_widget_set_states2(UiContext *ctx, UIWIDGET widget, ui_enablefunc enable, const int *states, int nstates) {
     if(enable == NULL) {
         enable = (ui_enablefunc)ui_set_enabled;
     }
-    CxList *ls = cxArrayListCreate(cxDefaultAllocator, NULL, sizeof(int), ngroups);
-    for(int i=0;i<ngroups;i++) {
-        cxListAdd(ls, groups+i);
+    CxList *ls = cxArrayListCreate(cxDefaultAllocator, NULL, sizeof(int), nstates);
+    for(int i=0;i<nstates;i++) {
+        cxListAdd(ls, states+i);
     }
-    uic_add_group_widget(ctx, widget, enable, ls);
+    uic_add_state_widget(ctx, widget, enable, ls);
     cxListFree(ls);
 }
 
 void ui_widget_set_visibility_states(UiContext *ctx, UIWIDGET widget, const int *states, int nstates) {
-    ui_widget_set_groups2(ctx, widget, (ui_enablefunc)ui_set_visible, states, nstates);
+    ui_widget_set_states2(ctx, widget, (ui_enablefunc)ui_set_visible, states, nstates);
 }
 
-size_t uic_group_array_size(const int *groups) {
+size_t uic_state_array_size(const int *states) {
     int i;
-    for(i=0;groups[i] >= 0;i++) { }
+    for(i=0;states[i] >= 0;i++) { }
     return i;
 }
 
-void uic_add_group_widget(UiContext *ctx, void *widget, ui_enablefunc enable, CxList *groups) {
-    uic_add_group_widget_i(ctx, widget, enable, cxListAt(groups, 0), cxListSize(groups));
+void uic_add_state_widget(UiContext *ctx, void *widget, ui_enablefunc enable, CxList *states) {
+    uic_add_state_widget_i(ctx, widget, enable, cxListAt(states, 0), cxListSize(states));
 }
 
-void uic_add_group_widget_i(UiContext *ctx, void *widget, ui_enablefunc enable, const int *groups, size_t numgroups) {
+void uic_add_state_widget_i(UiContext *ctx, void *widget, ui_enablefunc enable, const int *states, size_t numstates) {
     const CxAllocator *a = ctx->allocator;
-    UiGroupWidget gw;
+    UiStateWidget gw;
     
     gw.widget = widget;
     gw.enable = enable;
-    gw.numgroups = numgroups;
-    gw.groups = cxCalloc(a, numgroups, sizeof(int));
+    gw.numstates = numstates;
+    gw.states = cxCalloc(a, numstates, sizeof(int));
     
-    // copy groups
-    if(groups) {
-        memcpy(gw.groups, groups, gw.numgroups * sizeof(int));
+    // copy states
+    if(states) {
+        memcpy(gw.states, states, gw.numstates * sizeof(int));
     }
     
-    cxListAdd(ctx->group_widgets, &gw);
+    cxListAdd(ctx->state_widgets, &gw);
 }
 
-void uic_remove_group_widget(UiContext *ctx, void *widget) {
-    (void)cxListFindRemove(ctx->group_widgets, widget);
+void uic_remove_state_widget(UiContext *ctx, void *widget) {
+    (void)cxListFindRemove(ctx->state_widgets, widget);
 }
 
 UIEXPORT void *ui_allocator(UiContext *ctx) {

mercurial