| 63 } |
63 } |
| 64 |
64 |
| 65 void ui_toolbar_item_create(const char* name, UiToolbarItemArgs *args) { |
65 void ui_toolbar_item_create(const char* name, UiToolbarItemArgs *args) { |
| 66 UiToolbarItem* item = malloc(sizeof(UiToolbarItem)); |
66 UiToolbarItem* item = malloc(sizeof(UiToolbarItem)); |
| 67 item->item.type = UI_TOOLBAR_ITEM; |
67 item->item.type = UI_TOOLBAR_ITEM; |
| 68 item->args = itemargs_copy(args, &item->ngroups, &item->nvstates); |
68 item->args = itemargs_copy(args, &item->nstates, &item->nvstates); |
| 69 cxMapPut(toolbar_items, name, item); |
69 cxMapPut(toolbar_items, name, item); |
| 70 } |
70 } |
| 71 |
71 |
| 72 |
72 |
| 73 static UiToolbarToggleItemArgs toggleitemargs_copy(UiToolbarToggleItemArgs *args, size_t *ngroups, size_t *nvstates) { |
73 static UiToolbarToggleItemArgs toggleitemargs_copy(UiToolbarToggleItemArgs *args, size_t *ngroups, size_t *nvstates) { |
| 84 } |
84 } |
| 85 |
85 |
| 86 void ui_toolbar_toggleitem_create(const char* name, UiToolbarToggleItemArgs *args) { |
86 void ui_toolbar_toggleitem_create(const char* name, UiToolbarToggleItemArgs *args) { |
| 87 UiToolbarToggleItem* item = malloc(sizeof(UiToolbarToggleItem)); |
87 UiToolbarToggleItem* item = malloc(sizeof(UiToolbarToggleItem)); |
| 88 item->item.type = UI_TOOLBAR_TOGGLEITEM; |
88 item->item.type = UI_TOOLBAR_TOGGLEITEM; |
| 89 item->args = toggleitemargs_copy(args, &item->ngroups, &item->nvstates); |
89 item->args = toggleitemargs_copy(args, &item->nstates, &item->nvstates); |
| 90 cxMapPut(toolbar_items, name, item); |
90 cxMapPut(toolbar_items, name, item); |
| 91 } |
91 } |
| 92 |
92 |
| 93 static UiToolbarMenuArgs menuargs_copy(UiToolbarMenuArgs *args, size_t *nvstates) { |
93 static UiToolbarMenuArgs menuargs_copy(UiToolbarMenuArgs *args, size_t *nvstates) { |
| 94 UiToolbarMenuArgs newargs; |
94 UiToolbarMenuArgs newargs; |