Skip to content

Commit

Permalink
First review pass (will rebase later)
Browse files Browse the repository at this point in the history
  • Loading branch information
RedMser committed Sep 21, 2024
1 parent a9ceb26 commit 657edfa
Show file tree
Hide file tree
Showing 18 changed files with 22 additions and 71 deletions.
7 changes: 1 addition & 6 deletions core/io/resource.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -518,12 +518,7 @@ String Resource::get_id_for_path(const String &p_path) const {
#ifdef TOOLS_ENABLED
Array Resource::get_configuration_info() const {
Array ret;

Array info;
if (GDVIRTUAL_CALL(_get_configuration_info, info)) {
ret.append_array(info);
}

GDVIRTUAL_CALL(_get_configuration_info, ret);
return ret;
}
#endif
Expand Down
4 changes: 0 additions & 4 deletions core/object/configuration_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,8 @@
#include "core/string/ustring.h"
#include "core/variant/dictionary.h"

#define CONFIG_INFO(message) warnings.push_back(ConfigurationInfo::_make_configuration_info(message, "", "info"));
#define CONFIG_INFO_P(message, property_name) warnings.push_back(ConfigurationInfo::_make_configuration_info(message, property_name, "info"));
#define CONFIG_WARNING(message) warnings.push_back(ConfigurationInfo::_make_configuration_info(message, "", "warning"));
#define CONFIG_WARNING_P(message, property_name) warnings.push_back(ConfigurationInfo::_make_configuration_info(message, property_name, "warning"));
#define CONFIG_ERROR(message) warnings.push_back(ConfigurationInfo::_make_configuration_info(message, "", "error"));
#define CONFIG_ERROR_P(message, property_name) warnings.push_back(ConfigurationInfo::_make_configuration_info(message, property_name, "error"));

class ConfigurationInfo {
public:
Expand Down
16 changes: 7 additions & 9 deletions editor/editor_configuration_info.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ String EditorConfigurationInfo::get_max_severity(const Array &p_config_info_dict

for (int i = 0; i < p_config_info_dicts.size(); i++) {
Dictionary config_info = p_config_info_dicts[i];
String severity = config_info.get("severity", "warning");
const String severity = config_info.get("severity", "warning");
// "info" is the lowest, "error" is the highest, "warning" can only override "info".
if (max_severity.is_empty() || severity == "error" || (severity == "warning" && max_severity != "error")) {
max_severity = severity;
Expand All @@ -88,12 +88,6 @@ String EditorConfigurationInfo::get_severity_icon(const String &p_severity) {
}
}

Dictionary EditorConfigurationInfo::convert_string_to_dict(const String &p_config_info_string) {
Dictionary config_info;
config_info["message"] = p_config_info_string;
return config_info;
}

Array EditorConfigurationInfo::filter_dict_list_for_property(const Array &p_config_info_dicts, const String &p_property_name) {
Array result;
for (int i = 0; i < p_config_info_dicts.size(); i++) {
Expand Down Expand Up @@ -154,8 +148,12 @@ Array EditorConfigurationInfo::convert_mixed_array_to_dict(const Array &p_mixed_
for (int i = 0; i < p_mixed_config_infos.size(); i++) {
Variant item = p_mixed_config_infos[i];
if (item.get_type() == Variant::STRING) {
String str = item;
result.push_back(convert_string_to_dict(str));
String message = item;

Dictionary config_info;
config_info["message"] = message;

result.push_back(config_info);
} else if (item.get_type() == Variant::DICTIONARY) {
Dictionary dict = item;
result.push_back(dict);
Expand Down
2 changes: 0 additions & 2 deletions editor/editor_configuration_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,7 @@ class EditorConfigurationInfo {
static String get_max_severity(const Array &p_config_info_dicts);
static String get_severity_icon(const String &p_severity);

static Dictionary convert_string_to_dict(const String &p_config_info_string);
static Array filter_dict_list_for_property(const Array &p_config_info_dicts, const String &p_property_name);

static String format_dict_as_string(const Dictionary &p_config_info, bool p_wrap_lines, bool p_prefix_property_name);
static String format_dict_list_as_string(const Array &p_config_info_dicts, bool p_wrap_lines, bool p_prefix_property_name);

Expand Down
8 changes: 4 additions & 4 deletions editor/editor_inspector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -212,8 +212,8 @@ void EditorProperty::_notification(int p_what) {
if (show_config_info_icon) {
Ref<Texture2D> config_info_icon;

String severity = EditorConfigurationInfo::get_max_severity(config_info);
config_info_icon = get_theme_icon(EditorConfigurationInfo::get_severity_icon(severity), SNAME("EditorIcons"));
const String severity = EditorConfigurationInfo::get_max_severity(config_info);
config_info_icon = get_editor_theme_icon(EditorConfigurationInfo::get_severity_icon(severity));

rect.size.x -= config_info_icon->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree"));

Expand Down Expand Up @@ -427,8 +427,8 @@ void EditorProperty::_notification(int p_what) {
if (!config_info.is_empty() && !read_only) {
Ref<Texture2D> config_info_icon;

String severity = EditorConfigurationInfo::get_max_severity(config_info);
config_info_icon = get_theme_icon(EditorConfigurationInfo::get_severity_icon(severity), SNAME("EditorIcons"));
const String severity = EditorConfigurationInfo::get_max_severity(config_info);
config_info_icon = get_editor_theme_icon(EditorConfigurationInfo::get_severity_icon(severity));

ofs -= config_info_icon->get_width() + get_theme_constant(SNAME("hseparator"), SNAME("Tree"));

Expand Down
7 changes: 3 additions & 4 deletions editor/plugins/configuration_info_editor_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ void ConfigurationInfoList::_update_content() {
config_info_list->clear();
for (int i = 0; i < config_info_dicts.size(); i++) {
Dictionary config_info = config_info_dicts[i];
String text = EditorConfigurationInfo::format_dict_as_string(config_info, false, true);
String severity = config_info.get("severity", "warning");
StringName icon = EditorConfigurationInfo::get_severity_icon(severity);
const String text = EditorConfigurationInfo::format_dict_as_string(config_info, false, true);
const String severity = config_info.get("severity", "warning");
const StringName icon = EditorConfigurationInfo::get_severity_icon(severity);
config_info_list->add_item(text, get_editor_theme_icon(icon));

if (severity == "warning") {
Expand Down Expand Up @@ -108,7 +108,6 @@ void ConfigurationInfoList::gui_input(const Ref<InputEvent> &p_event) {

void ConfigurationInfoList::_notification(int p_notification) {
switch (p_notification) {
case NOTIFICATION_ENTER_TREE:
case NOTIFICATION_THEME_CHANGED:
_update_content();
_update_toggler();
Expand Down
2 changes: 1 addition & 1 deletion scene/2d/animated_sprite_2d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -577,7 +577,7 @@ Array AnimatedSprite2D::get_configuration_info() const {
if (frames.is_null()) {
CONFIG_WARNING_P(
RTR("A SpriteFrames resource must be created or set in order for AnimatedSprite2D to display frames."),
"frames");
"sprite_frames");
}
return warnings;
}
Expand Down
2 changes: 1 addition & 1 deletion scene/2d/remote_transform_2d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ Array RemoteTransform2D::get_configuration_info() const {
if (!has_node(remote_node) || !Object::cast_to<Node2D>(get_node(remote_node))) {
CONFIG_WARNING_P(
RTR("Path must point to a valid Node2D node to work."),
"path");
"remote_path");
}

return warnings;
Expand Down
2 changes: 1 addition & 1 deletion scene/3d/remote_transform_3d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ Array RemoteTransform3D::get_configuration_info() const {
if (!has_node(remote_node) || !Object::cast_to<Node3D>(get_node(remote_node))) {
CONFIG_WARNING_P(
RTR("Path must point to a valid Node3D or Node3D-derived node to work."),
"path");
"remote_path");
}

return warnings;
Expand Down
2 changes: 1 addition & 1 deletion scene/3d/sprite_3d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1438,7 +1438,7 @@ Array AnimatedSprite3D::get_configuration_info() const {
if (frames.is_null()) {
CONFIG_WARNING_P(
RTR("A SpriteFrames resource must be created or set in order for AnimatedSprite3D to display frames."),
"frames");
"sprite_frames");
}
return warnings;
}
Expand Down
12 changes: 0 additions & 12 deletions scene/gui/line_edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2521,18 +2521,6 @@ void LineEdit::_emit_text_change() {
text_changed_dirty = false;
}

#ifdef TOOLS_ENABLED
Array LineEdit::get_configuration_info() const {
Array warnings = Control::get_configuration_info();
if (secret_character.length() > 1) {
CONFIG_WARNING_P(
RTR("Secret Character supports only one character. Extra characters will be ignored."),
"secret_character");
}
return warnings;
}
#endif

void LineEdit::_shape() {
const Ref<Font> &font = theme_cache.font;
int font_size = theme_cache.font_size;
Expand Down
4 changes: 0 additions & 4 deletions scene/gui/line_edit.h
Original file line number Diff line number Diff line change
Expand Up @@ -399,10 +399,6 @@ class LineEdit : public Control {

virtual bool is_text_field() const override;

#ifdef TOOLS_ENABLED
Array get_configuration_info() const override;
#endif

void show_virtual_keyboard();

LineEdit(const String &p_placeholder = String());
Expand Down
1 change: 0 additions & 1 deletion scene/main/canvas_item.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -564,7 +564,6 @@ void CanvasItem::set_z_index(int p_z) {
ERR_FAIL_COND(p_z > RS::CANVAS_ITEM_Z_MAX);
z_index = p_z;
RS::get_singleton()->canvas_item_set_z_index(canvas_item, z_index);
update_configuration_info();
}

void CanvasItem::set_z_as_relative(bool p_enabled) {
Expand Down
2 changes: 0 additions & 2 deletions scene/main/node.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3759,9 +3759,7 @@ void Node::_bind_methods() {
#ifndef DISABLE_DEPRECATED
ClassDB::bind_method(D_METHOD("update_configuration_warnings"), &Node::update_configuration_warnings);
#endif
#ifdef TOOLS_ENABLED
ClassDB::bind_method(D_METHOD("update_configuration_info"), &Node::update_configuration_info);
#endif

{
MethodInfo mi;
Expand Down
2 changes: 0 additions & 2 deletions scene/main/node.h
Original file line number Diff line number Diff line change
Expand Up @@ -386,9 +386,7 @@ class Node : public Object {
#ifndef DISABLE_DEPRECATED
GDVIRTUAL0RC(Vector<String>, _get_configuration_warnings)
#endif
#ifdef TOOLS_ENABLED
GDVIRTUAL0RC(Array, _get_configuration_info)
#endif

GDVIRTUAL1(_input, Ref<InputEvent>)
GDVIRTUAL1(_shortcut_input, Ref<InputEvent>)
Expand Down
4 changes: 3 additions & 1 deletion scene/main/timer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,9 @@ Array Timer::get_configuration_info() const {
Array warnings = Node::get_configuration_info();

if (wait_time < 0.05 - CMP_EPSILON) {
CONFIG_WARNING(RTR("Very low timer wait times (< 0.05 seconds) may behave in significantly different ways depending on the rendered or physics frame rate.\nConsider using a script's process loop instead of relying on a Timer for very low wait times."));
CONFIG_WARNING_P(
RTR("Very low timer wait times (< 0.05 seconds) may behave in significantly different ways depending on the rendered or physics frame rate.\nConsider using a script's process loop instead of relying on a Timer for very low wait times."),
"wait_time");
}

return warnings;
Expand Down
12 changes: 0 additions & 12 deletions scene/main/viewport.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3315,18 +3315,6 @@ Variant Viewport::gui_get_drag_data() const {
return get_section_root_viewport()->gui.drag_data;
}

#ifdef TOOLS_ENABLED
Array Viewport::get_configuration_info() const {
ERR_MAIN_THREAD_GUARD_V(Array());
Array warnings = Node::get_configuration_info();

if (size.x <= 1 || size.y <= 1) {
CONFIG_WARNING(RTR("The Viewport size must be greater than or equal to 2 pixels on both dimensions to render anything."));
}
return warnings;
}
#endif

void Viewport::gui_reset_canvas_sort_index() {
ERR_MAIN_THREAD_GUARD;
gui.canvas_sort_index = 0;
Expand Down
4 changes: 0 additions & 4 deletions scene/main/viewport.h
Original file line number Diff line number Diff line change
Expand Up @@ -600,10 +600,6 @@ class Viewport : public Node {
Control *gui_get_focus_owner() const;
Control *gui_get_hovered_control() const;

#ifdef TOOLS_ENABLED
Array get_configuration_info() const override;
#endif

void set_debug_draw(DebugDraw p_debug_draw);
DebugDraw get_debug_draw() const;

Expand Down

0 comments on commit 657edfa

Please sign in to comment.