void PopupMenu::_set_items(const Array& p_items){ ERR_FAIL_COND(p_items.size() % 10); clear(); for(int i=0;i<p_items.size();i+=10) { String text=p_items[i+0]; Ref<Texture> icon=p_items[i+1]; bool checkable=p_items[i+2]; bool checked=p_items[i+3]; bool disabled=p_items[i+4]; int id=p_items[i+5]; int accel=p_items[i+6]; Variant meta=p_items[i+7]; String subm=p_items[i+8]; bool sep=p_items[i+9]; int idx=get_item_count(); add_item(text,id); set_item_icon(idx,icon); set_item_as_checkable(idx,checkable); set_item_checked(idx,checked); set_item_disabled(idx,disabled); set_item_ID(idx,id); set_item_metadata(idx,meta); set_item_as_separator(idx,sep); set_item_accelerator(idx,accel); set_item_submenu(idx,subm); } }
int set_spot(t_elem **spot, char *str, int fd) { const char *carac[4]; t_elem *tmp; carac[0] = INTENSITY; carac[1] = COLOR; carac[2] = ORIGIN; carac[3] = NULL; if (!(tmp = append_list(spot))) return (my_putstr(MALLOC_E, 2)); set_item_ID(tmp, str); if (!get_item_carac(tmp, carac, fd)) { my_putstr("\e[1;31mCaracteristic missing or invalid, ", 2); fprintf(stderr, "item [%s] is gonna be ignored.\n", str); my_putstr("-------------------------------\n\e[0;m", 2); free(str); while ((str = get_next_line(fd)) && my_strcmp(NEXT, str)) free(str); free_node(spot); }