コード例 #1
0
bool ItemListPlugin::_set(const StringName& p_name, const Variant& p_value) {

	String name = p_name;
	int idx = name.get_slice("/",0).to_int();
	String what=name.get_slice("/",1);

	if (what=="text")
		set_item_text(idx,p_value);
	else if (what=="icon")
		set_item_icon(idx,p_value);
	else if (what=="checkable")
		set_item_checkable(idx,p_value);
	else if (what=="checked")
		set_item_checked(idx,p_value);
	else if (what=="id")
		set_item_id(idx,p_value);
	else if (what=="enabled")
		set_item_enabled(idx,p_value);
	else if (what=="separator")
		set_item_separator(idx,p_value);
	else
		return false;

	return true;
}
コード例 #2
0
bool ItemListPlugin::_set(const StringName &p_name, const Variant &p_value) {

	String name = p_name;
	int idx = name.get_slice("/", 0).to_int();
	String what = name.get_slice("/", 1);

	if (what == "text")
		set_item_text(idx, p_value);
	else if (what == "icon")
		set_item_icon(idx, p_value);
	else if (what == "checkable") {
		// This keeps compatibility to/from versions where this property was a boolean, before radio buttons
		switch ((int)p_value) {
			case 0:
			case 1:
				set_item_checkable(idx, p_value);
				break;
			case 2:
				set_item_radio_checkable(idx, true);
				break;
		}
	} else if (what == "checked")
		set_item_checked(idx, p_value);
	else if (what == "id")
		set_item_id(idx, p_value);
	else if (what == "enabled")
		set_item_enabled(idx, p_value);
	else if (what == "separator")
		set_item_separator(idx, p_value);
	else
		return false;

	return true;
}