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); } }
void OptionButton::_set_items(const Array &p_items) { ERR_FAIL_COND(p_items.size() % 5); clear(); for (int i = 0; i < p_items.size(); i += 5) { String text = p_items[i + 0]; Ref<Texture> icon = p_items[i + 1]; bool disabled = p_items[i + 2]; int id = p_items[i + 3]; Variant meta = p_items[i + 4]; int idx = get_item_count(); add_item(text, id); set_item_icon(idx, icon); set_item_disabled(idx, disabled); set_item_metadata(idx, meta); } }
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]; // For compatibility, use false/true for no/checkbox and integers for other values bool checkable = p_items[i + 2]; bool radio_checkable = (int)p_items[i + 2] == Item::CHECKABLE_TYPE_RADIO_BUTTON; 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); if (checkable) { if (radio_checkable) { set_item_as_radio_checkable(idx, true); } else { set_item_as_checkable(idx, true); } } 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); } }