| 123 } |
123 } |
| 124 } |
124 } |
| 125 |
125 |
| 126 |
126 |
| 127 |
127 |
| 128 void ui_menuitem_create(UiMenuItemArgs args) { |
128 void ui_menuitem_create(UiMenuItemArgs *args) { |
| 129 UiMenuItem* item = malloc(sizeof(UiMenuItem)); |
129 UiMenuItem* item = malloc(sizeof(UiMenuItem)); |
| 130 mitem_set_id(&item->item); |
130 mitem_set_id(&item->item); |
| 131 item->item.prev = NULL; |
131 item->item.prev = NULL; |
| 132 item->item.next = NULL; |
132 item->item.next = NULL; |
| 133 item->item.type = UI_MENU_ITEM; |
133 item->item.type = UI_MENU_ITEM; |
| 134 |
134 |
| 135 item->label = nl_strdup(args.label); |
135 item->label = nl_strdup(args->label); |
| 136 item->stockid = nl_strdup(args.stockid); |
136 item->stockid = nl_strdup(args->stockid); |
| 137 item->icon = nl_strdup(args.icon); |
137 item->icon = nl_strdup(args->icon); |
| 138 item->userdata = args.onclickdata; |
138 item->userdata = args->onclickdata; |
| 139 item->callback = args.onclick; |
139 item->callback = args->onclick; |
| 140 item->groups = uic_copy_groups(args.groups, &item->ngroups); |
140 item->groups = uic_copy_groups(args->groups, &item->ngroups); |
| 141 |
141 |
| 142 add_item((UiMenuItemI*)item); |
142 add_item((UiMenuItemI*)item); |
| 143 } |
143 } |
| 144 |
144 |
| 145 void ui_menuseparator() { |
145 void ui_menuseparator() { |
| 150 item->type = UI_MENU_SEPARATOR; |
150 item->type = UI_MENU_SEPARATOR; |
| 151 |
151 |
| 152 add_item((UiMenuItemI*)item); |
152 add_item((UiMenuItemI*)item); |
| 153 } |
153 } |
| 154 |
154 |
| 155 void ui_menu_toggleitem_create(UiMenuToggleItemArgs args) { |
155 void ui_menu_toggleitem_create(UiMenuToggleItemArgs *args) { |
| 156 UiMenuCheckItem *item = malloc(sizeof(UiMenuCheckItem)); |
156 UiMenuCheckItem *item = malloc(sizeof(UiMenuCheckItem)); |
| 157 mitem_set_id(&item->item); |
157 mitem_set_id(&item->item); |
| 158 item->item.prev = NULL; |
158 item->item.prev = NULL; |
| 159 item->item.next = NULL; |
159 item->item.next = NULL; |
| 160 item->item.type = UI_MENU_CHECK_ITEM; |
160 item->item.type = UI_MENU_CHECK_ITEM; |
| 161 |
161 |
| 162 item->label = nl_strdup(args.label); |
162 item->label = nl_strdup(args->label); |
| 163 item->stockid = nl_strdup(args.stockid); |
163 item->stockid = nl_strdup(args->stockid); |
| 164 item->icon = nl_strdup(args.icon); |
164 item->icon = nl_strdup(args->icon); |
| 165 item->varname = nl_strdup(args.varname); |
165 item->varname = nl_strdup(args->varname); |
| 166 item->userdata = args.onchangedata; |
166 item->userdata = args->onchangedata; |
| 167 item->callback = args.onchange; |
167 item->callback = args->onchange; |
| 168 item->groups = uic_copy_groups(args.groups, &item->ngroups); |
168 item->groups = uic_copy_groups(args->groups, &item->ngroups); |
| 169 |
169 |
| 170 add_item((UiMenuItemI*)item); |
170 add_item((UiMenuItemI*)item); |
| 171 } |
171 } |
| 172 |
172 |
| 173 void ui_menu_radioitem_create(UiMenuToggleItemArgs args) { |
173 void ui_menu_radioitem_create(UiMenuToggleItemArgs *args) { |
| 174 UiMenuCheckItem* item = malloc(sizeof(UiMenuCheckItem)); |
174 UiMenuCheckItem* item = malloc(sizeof(UiMenuCheckItem)); |
| 175 mitem_set_id(&item->item); |
175 mitem_set_id(&item->item); |
| 176 item->item.prev = NULL; |
176 item->item.prev = NULL; |
| 177 item->item.next = NULL; |
177 item->item.next = NULL; |
| 178 item->item.type = UI_MENU_RADIO_ITEM; |
178 item->item.type = UI_MENU_RADIO_ITEM; |
| 179 |
179 |
| 180 item->label = nl_strdup(args.label); |
180 item->label = nl_strdup(args->label); |
| 181 item->stockid = nl_strdup(args.stockid); |
181 item->stockid = nl_strdup(args->stockid); |
| 182 item->icon = nl_strdup(args.icon); |
182 item->icon = nl_strdup(args->icon); |
| 183 item->varname = nl_strdup(args.varname); |
183 item->varname = nl_strdup(args->varname); |
| 184 item->userdata = args.onchangedata; |
184 item->userdata = args->onchangedata; |
| 185 item->callback = args.onchange; |
185 item->callback = args->onchange; |
| 186 item->groups = uic_copy_groups(args.groups, &item->ngroups); |
186 item->groups = uic_copy_groups(args->groups, &item->ngroups); |
| 187 |
187 |
| 188 add_item((UiMenuItemI*)item); |
188 add_item((UiMenuItemI*)item); |
| 189 } |
189 } |
| 190 |
190 |
| 191 void ui_menu_itemlist_create(UiMenuItemListArgs args) { |
191 void ui_menu_itemlist_create(UiMenuItemListArgs *args) { |
| 192 UiMenuItemList*item = malloc(sizeof(UiMenuItemList)); |
192 UiMenuItemList*item = malloc(sizeof(UiMenuItemList)); |
| 193 mitem_set_id(&item->item); |
193 mitem_set_id(&item->item); |
| 194 item->item.prev = NULL; |
194 item->item.prev = NULL; |
| 195 item->item.next = NULL; |
195 item->item.next = NULL; |
| 196 item->item.type = UI_MENU_ITEM_LIST; |
196 item->item.type = UI_MENU_ITEM_LIST; |
| 197 item->getvalue = args.getvalue; |
197 item->getvalue = args->getvalue; |
| 198 item->callback = args.onselect; |
198 item->callback = args->onselect; |
| 199 item->userdata = args.onselectdata; |
199 item->userdata = args->onselectdata; |
| 200 item->varname = nl_strdup(args.varname); |
200 item->varname = nl_strdup(args->varname); |
| 201 item->addseparator = args.addseparator; |
201 item->addseparator = args->addseparator; |
| 202 |
202 |
| 203 add_item((UiMenuItemI*)item); |
203 add_item((UiMenuItemI*)item); |
| 204 } |
204 } |
| 205 |
205 |
| 206 void ui_menu_checkitemlist_create(UiMenuItemListArgs args) { |
206 void ui_menu_checkitemlist_create(UiMenuItemListArgs *args) { |
| 207 UiMenuItemList* item = malloc(sizeof(UiMenuItemList)); |
207 UiMenuItemList* item = malloc(sizeof(UiMenuItemList)); |
| 208 mitem_set_id(&item->item); |
208 mitem_set_id(&item->item); |
| 209 item->item.prev = NULL; |
209 item->item.prev = NULL; |
| 210 item->item.next = NULL; |
210 item->item.next = NULL; |
| 211 item->item.type = UI_MENU_CHECKITEM_LIST; |
211 item->item.type = UI_MENU_CHECKITEM_LIST; |
| 212 item->callback = args.onselect; |
212 item->callback = args->onselect; |
| 213 item->userdata = args.onselectdata; |
213 item->userdata = args->onselectdata; |
| 214 item->varname = nl_strdup(args.varname); |
214 item->varname = nl_strdup(args->varname); |
| 215 |
215 |
| 216 add_item((UiMenuItemI*)item); |
216 add_item((UiMenuItemI*)item); |
| 217 } |
217 } |
| 218 |
218 |
| 219 void ui_menu_radioitemlist_create(UiMenuItemListArgs args) { |
219 void ui_menu_radioitemlist_create(UiMenuItemListArgs *args) { |
| 220 UiMenuItemList* item = malloc(sizeof(UiMenuItemList)); |
220 UiMenuItemList* item = malloc(sizeof(UiMenuItemList)); |
| 221 mitem_set_id(&item->item); |
221 mitem_set_id(&item->item); |
| 222 item->item.prev = NULL; |
222 item->item.prev = NULL; |
| 223 item->item.next = NULL; |
223 item->item.next = NULL; |
| 224 item->item.type = UI_MENU_RADIOITEM_LIST; |
224 item->item.type = UI_MENU_RADIOITEM_LIST; |
| 225 item->callback = args.onselect; |
225 item->callback = args->onselect; |
| 226 item->userdata = args.onselectdata; |
226 item->userdata = args->onselectdata; |
| 227 item->varname = nl_strdup(args.varname); |
227 item->varname = nl_strdup(args->varname); |
| 228 |
228 |
| 229 add_item((UiMenuItemI*)item); |
229 add_item((UiMenuItemI*)item); |
| 230 } |
230 } |
| 231 |
231 |
| 232 |
232 |