Merge pull request #20117 from ordigdug/inspector-fix-inconsistencies-with-exported-enums

Fix -new inspector- Inconsistencies with exported enums - Fixes remai…
This commit is contained in:
Rémi Verschelde 2018-07-19 18:18:20 +02:00 committed by GitHub
commit 76bfe14e00
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -392,13 +392,37 @@ EditorPropertyCheck::EditorPropertyCheck() {
void EditorPropertyEnum::_option_selected(int p_which) {
emit_signal("property_changed", get_edited_property(), p_which);
String text = options->get_item_text(p_which);
Vector<String> text_split = text.split(":");
if (text_split.size() == 1) {
emit_signal("property_changed", get_edited_property(), p_which);
return;
}
String name = text_split[1];
emit_signal("property_changed", get_edited_property(), name.to_int());
}
void EditorPropertyEnum::update_property() {
int which = get_edited_object()->get(get_edited_property());
options->select(which);
if (which == 0) {
options->select(which);
return;
}
for (int i = 0; i < options->get_item_count(); i++) {
String text = options->get_item_text(i);
Vector<String> text_split = text.split(":");
if (text_split.size() == 1) {
options->select(which);
return;
}
String name = text_split[1];
if (itos(which) == name) {
options->select(i);
return;
}
}
}
void EditorPropertyEnum::setup(const Vector<String> &p_options) {