Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose "meta" to the Inspector. For real. #30765

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions core/object/object.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -641,12 +641,14 @@ void Object::get_property_list(List<PropertyInfo> *p_list, bool p_reversed) cons
}
}

p_list->push_back(PropertyInfo(Variant::NIL, "Metadata", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_GROUP));
p_list->push_back(PropertyInfo(Variant::DICTIONARY, "__meta__", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT));
p_list->push_back(PropertyInfo(Variant::NIL, "", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_GROUP));

if (!is_class("Script")) { // can still be set, but this is for user-friendliness
p_list->push_back(PropertyInfo(Variant::OBJECT, "script", PROPERTY_HINT_RESOURCE_TYPE, "Script", PROPERTY_USAGE_DEFAULT));
}
if (!metadata.is_empty()) {
p_list->push_back(PropertyInfo(Variant::DICTIONARY, "__meta__", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR | PROPERTY_USAGE_INTERNAL));
}

if (script_instance && !p_reversed) {
p_list->push_back(PropertyInfo(Variant::NIL, "Script Variables", PROPERTY_HINT_NONE, String(), PROPERTY_USAGE_CATEGORY));
script_instance->get_property_list(p_list);
Expand Down
8 changes: 4 additions & 4 deletions editor/animation_track_editor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class AnimationTrackKeyEdit : public Object {
public:
bool setting = false;

bool _hide_script_from_inspector() {
bool _hide_object_properties_from_inspector() {
return true;
}

Expand All @@ -58,7 +58,7 @@ class AnimationTrackKeyEdit : public Object {
static void _bind_methods() {
ClassDB::bind_method("_update_obj", &AnimationTrackKeyEdit::_update_obj);
ClassDB::bind_method("_key_ofs_changed", &AnimationTrackKeyEdit::_key_ofs_changed);
ClassDB::bind_method("_hide_script_from_inspector", &AnimationTrackKeyEdit::_hide_script_from_inspector);
ClassDB::bind_method("_hide_object_properties_from_inspector", &AnimationTrackKeyEdit::_hide_object_properties_from_inspector);
ClassDB::bind_method("get_root_path", &AnimationTrackKeyEdit::get_root_path);
ClassDB::bind_method("_dont_undo_redo", &AnimationTrackKeyEdit::_dont_undo_redo);
}
Expand Down Expand Up @@ -681,7 +681,7 @@ class AnimationMultiTrackKeyEdit : public Object {
public:
bool setting = false;

bool _hide_script_from_inspector() {
bool _hide_object_properties_from_inspector() {
return true;
}

Expand All @@ -692,7 +692,7 @@ class AnimationMultiTrackKeyEdit : public Object {
static void _bind_methods() {
ClassDB::bind_method("_update_obj", &AnimationMultiTrackKeyEdit::_update_obj);
ClassDB::bind_method("_key_ofs_changed", &AnimationMultiTrackKeyEdit::_key_ofs_changed);
ClassDB::bind_method("_hide_script_from_inspector", &AnimationMultiTrackKeyEdit::_hide_script_from_inspector);
ClassDB::bind_method("_hide_object_properties_from_inspector", &AnimationMultiTrackKeyEdit::_hide_object_properties_from_inspector);
ClassDB::bind_method("get_root_path", &AnimationMultiTrackKeyEdit::get_root_path);
ClassDB::bind_method("_dont_undo_redo", &AnimationMultiTrackKeyEdit::_dont_undo_redo);
}
Expand Down
9 changes: 4 additions & 5 deletions editor/editor_inspector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2483,8 +2483,7 @@ void EditorInspector::update_tree() {
continue;
}

if (p.name == "script" && (hide_script || bool(object->call("_hide_script_from_inspector")))) {
// Hide script variables from inspector if required.
if ((hide_object_properties || bool(object->call("_hide_object_properties_from_inspector"))) && (p.name == "script" || p.name == "__meta__")) {
continue;
}

Expand Down Expand Up @@ -2928,8 +2927,8 @@ void EditorInspector::set_use_doc_hints(bool p_enable) {
update_tree();
}

void EditorInspector::set_hide_script(bool p_hide) {
hide_script = p_hide;
void EditorInspector::set_hide_object_properties(bool p_hide) {
hide_object_properties = p_hide;
update_tree();
}

Expand Down Expand Up @@ -3529,7 +3528,7 @@ EditorInspector::EditorInspector() {

wide_editors = false;
show_categories = false;
hide_script = true;
hide_object_properties = true;
use_doc_hints = false;
capitalize_paths = true;
use_filter = false;
Expand Down
4 changes: 2 additions & 2 deletions editor/editor_inspector.h
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ class EditorInspector : public ScrollContainer {

LineEdit *search_box;
bool show_categories;
bool hide_script;
bool hide_object_properties;
bool use_doc_hints;
bool capitalize_paths;
bool use_filter;
Expand Down Expand Up @@ -520,7 +520,7 @@ class EditorInspector : public ScrollContainer {

void set_show_categories(bool p_show);
void set_use_doc_hints(bool p_enable);
void set_hide_script(bool p_hide);
void set_hide_object_properties(bool p_hide);

void set_use_filter(bool p_use);
void register_text_enter(Node *p_line_edit);
Expand Down
2 changes: 1 addition & 1 deletion editor/inspector_dock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -725,7 +725,7 @@ InspectorDock::InspectorDock(EditorNode *p_editor, EditorData &p_editor_data) {
inspector->set_show_categories(true);
inspector->set_v_size_flags(Control::SIZE_EXPAND_FILL);
inspector->set_use_doc_hints(true);
inspector->set_hide_script(false);
inspector->set_hide_object_properties(false);
inspector->set_enable_capitalize_paths(bool(EDITOR_GET("interface/inspector/capitalize_properties")));
inspector->set_use_folding(!bool(EDITOR_GET("interface/inspector/disable_folding")));
inspector->register_text_enter(search);
Expand Down