diff -r 1ecc1183f046 -r 3fc287f06305 ui/common/toolbar.c --- a/ui/common/toolbar.c Sun Feb 11 15:59:56 2024 +0100 +++ b/ui/common/toolbar.c Mon Feb 12 17:32:02 2024 +0100 @@ -37,108 +37,108 @@ static UiToolbarMenuItem* ui_appmenu; void uic_toolbar_init(void) { - toolbar_items = cxHashMapCreate(cxDefaultAllocator, CX_STORE_POINTERS, 16); - toolbar_defaults[0] = cxLinkedListCreateSimple(CX_STORE_POINTERS); - toolbar_defaults[1] = cxLinkedListCreateSimple(CX_STORE_POINTERS); - toolbar_defaults[2] = cxLinkedListCreateSimple(CX_STORE_POINTERS); + toolbar_items = cxHashMapCreate(cxDefaultAllocator, CX_STORE_POINTERS, 16); + toolbar_defaults[0] = cxLinkedListCreateSimple(CX_STORE_POINTERS); + toolbar_defaults[1] = cxLinkedListCreateSimple(CX_STORE_POINTERS); + toolbar_defaults[2] = cxLinkedListCreateSimple(CX_STORE_POINTERS); } -static char* nl_strdup(char* str) { - return str ? strdup(str) : NULL; +static char* nl_strdup(const char* str) { + return str ? strdup(str) : NULL; } static UiToolbarItemArgs itemargs_copy(UiToolbarItemArgs args) { - UiToolbarItemArgs newargs; - newargs.label = nl_strdup(args.label); - newargs.stockid = nl_strdup(args.stockid); - newargs.icon = nl_strdup(args.icon); - newargs.onclick = args.onclick; - newargs.onclickdata = args.onclickdata; - return newargs; + UiToolbarItemArgs newargs; + newargs.label = nl_strdup(args.label); + newargs.stockid = nl_strdup(args.stockid); + newargs.icon = nl_strdup(args.icon); + newargs.onclick = args.onclick; + newargs.onclickdata = args.onclickdata; + return newargs; } void ui_toolbar_item_create(const char* name, UiToolbarItemArgs args) { - UiToolbarItem* item = malloc(sizeof(UiToolbarItem)); - item->item.type = UI_TOOLBAR_ITEM; - item->args = itemargs_copy(args); - cxMapPut(toolbar_items, name, item); + UiToolbarItem* item = malloc(sizeof(UiToolbarItem)); + item->item.type = UI_TOOLBAR_ITEM; + item->args = itemargs_copy(args); + cxMapPut(toolbar_items, name, item); } static UiToolbarToggleItemArgs toggleitemargs_copy(UiToolbarToggleItemArgs args) { - UiToolbarToggleItemArgs newargs; - newargs.label = nl_strdup(args.label); - newargs.stockid = nl_strdup(args.stockid); - newargs.icon = nl_strdup(args.icon); - newargs.varname = nl_strdup(args.varname); - newargs.onchange = args.onchange; - newargs.onchangedata = args.onchangedata; - return newargs; + UiToolbarToggleItemArgs newargs; + newargs.label = nl_strdup(args.label); + newargs.stockid = nl_strdup(args.stockid); + newargs.icon = nl_strdup(args.icon); + newargs.varname = nl_strdup(args.varname); + newargs.onchange = args.onchange; + newargs.onchangedata = args.onchangedata; + return newargs; } void ui_toolbar_toggleitem_create(const char* name, UiToolbarToggleItemArgs args) { - UiToolbarToggleItem* item = malloc(sizeof(UiToolbarToggleItem)); - item->item.type = UI_TOOLBAR_TOGGLEITEM; - item->args = toggleitemargs_copy(args); - cxMapPut(toolbar_items, name, item); + UiToolbarToggleItem* item = malloc(sizeof(UiToolbarToggleItem)); + item->item.type = UI_TOOLBAR_TOGGLEITEM; + item->args = toggleitemargs_copy(args); + cxMapPut(toolbar_items, name, item); } static UiToolbarMenuArgs menuargs_copy(UiToolbarMenuArgs args) { - UiToolbarMenuArgs newargs; - newargs.label = nl_strdup(args.label); - newargs.stockid = nl_strdup(args.stockid); - newargs.icon = nl_strdup(args.icon); - return newargs; + UiToolbarMenuArgs newargs; + newargs.label = nl_strdup(args.label); + newargs.stockid = nl_strdup(args.stockid); + newargs.icon = nl_strdup(args.icon); + return newargs; } UIEXPORT void ui_toolbar_menu_create(const char* name, UiToolbarMenuArgs args) { - UiToolbarMenuItem* item = malloc(sizeof(UiToolbarMenuItem)); - item->item.type = UI_TOOLBAR_MENU; - memset(&item->menu, 0, sizeof(UiMenu)); - item->args = menuargs_copy(args); - - item->end = 0; + UiToolbarMenuItem* item = malloc(sizeof(UiToolbarMenuItem)); + item->item.type = UI_TOOLBAR_MENU; + memset(&item->menu, 0, sizeof(UiMenu)); + item->args = menuargs_copy(args); + + item->end = 0; - if (!name) { - // special appmenu - ui_appmenu = item; - } else { - // toplevel menu - cxMapPut(toolbar_items, name, item); - } + if (!name) { + // special appmenu + ui_appmenu = item; + } else { + // toplevel menu + cxMapPut(toolbar_items, name, item); + } - uic_add_menu_to_stack(&item->menu); + uic_add_menu_to_stack(&item->menu); } CxMap* uic_get_toolbar_items(void) { - return toolbar_items; + return toolbar_items; } CxList* uic_get_toolbar_defaults(enum UiToolbarPos pos) { - if (pos >= 0 && pos < 3) { - return toolbar_defaults[pos]; - } + if (pos >= 0 && pos < 3) { + return toolbar_defaults[pos]; + } + return NULL; } void ui_toolbar_add_default(const char* name, enum UiToolbarPos pos) { - char* cp = strdup(name); - if (pos >= 0 && pos < 3) { - cxListAdd(toolbar_defaults[pos], cp); - } - else { - // TODO: error - } + char* cp = strdup(name); + if (pos >= 0 && pos < 3) { + cxListAdd(toolbar_defaults[pos], cp); + } else { + // TODO: error + } } UiBool uic_toolbar_isenabled(void) { - return toolbar_defaults[0]->size + toolbar_defaults[1]->size + toolbar_defaults[2]->size > 0; + return toolbar_defaults[0]->size + toolbar_defaults[1]->size + toolbar_defaults[2]->size > 0; } UiToolbarItemI* uic_toolbar_get_item(const char* name) { - return cxMapGet(toolbar_items, name); + return cxMapGet(toolbar_items, name); } UiToolbarMenuItem* uic_get_appmenu(void) { - return ui_appmenu; + return ui_appmenu; }