summaryrefslogtreecommitdiff
path: root/editor/script_editor_debugger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/script_editor_debugger.cpp')
-rw-r--r--editor/script_editor_debugger.cpp51
1 files changed, 33 insertions, 18 deletions
diff --git a/editor/script_editor_debugger.cpp b/editor/script_editor_debugger.cpp
index 2a3e47b2a6..a1c1ec3351 100644
--- a/editor/script_editor_debugger.cpp
+++ b/editor/script_editor_debugger.cpp
@@ -45,6 +45,7 @@
#include "scene/gui/tab_container.h"
#include "scene/gui/texture_button.h"
#include "scene/gui/tree.h"
+#include "ustring.h"
class ScriptEditorDebuggerVariables : public Object {
@@ -642,7 +643,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da
v /= 1024.0;
}
tt += " bytes";
- vs = rtos(v) + " " + unit;
+ vs = String::num(v, 2) + " " + unit;
} break;
case Performance::MONITOR_TYPE_TIME: {
tt += " seconds";
@@ -955,31 +956,28 @@ void ScriptEditorDebugger::_notification(int p_what) {
case NOTIFICATION_PROCESS: {
if (connection.is_valid()) {
+
inspect_scene_tree_timeout -= get_process_delta_time();
if (inspect_scene_tree_timeout < 0) {
- inspect_scene_tree_timeout = EditorSettings::get_singleton()->get("debugger/scene_tree_refresh_interval");
+ inspect_scene_tree_timeout = EditorSettings::get_singleton()->get("debugger/remote_scene_tree_refresh_interval");
if (inspect_scene_tree->is_visible_in_tree()) {
_scene_tree_request();
-
- if (inspected_object_id != 0) {
- //take the chance and re-inspect selected object
- Array msg;
- msg.push_back("inspect_object");
- msg.push_back(inspected_object_id);
- ppeer->put_var(msg);
- }
}
}
inspect_edited_object_timeout -= get_process_delta_time();
if (inspect_edited_object_timeout < 0) {
inspect_edited_object_timeout = EditorSettings::get_singleton()->get("debugger/remote_inspect_refresh_interval");
- if (inspect_scene_tree->is_visible_in_tree() && inspected_object_id) {
- //take the chance and re-inspect selected object
- Array msg;
- msg.push_back("inspect_object");
- msg.push_back(inspected_object_id);
- ppeer->put_var(msg);
+ if (inspected_object_id) {
+ if (ScriptEditorDebuggerInspectedObject *obj = Object::cast_to<ScriptEditorDebuggerInspectedObject>(ObjectDB::get_instance(editor->get_editor_history()->get_current()))) {
+ if (obj->remote_object_id == inspected_object_id) {
+ //take the chance and re-inspect selected object
+ Array msg;
+ msg.push_back("inspect_object");
+ msg.push_back(inspected_object_id);
+ ppeer->put_var(msg);
+ }
+ }
}
}
}
@@ -1127,6 +1125,15 @@ void ScriptEditorDebugger::_notification(int p_what) {
tabs->add_style_override("tab_bg", editor->get_gui_base()->get_stylebox("DebuggerTabBG", "EditorStyles"));
tabs->set_margin(MARGIN_LEFT, -EditorNode::get_singleton()->get_gui_base()->get_stylebox("BottomPanelDebuggerOverride", "EditorStyles")->get_margin(MARGIN_LEFT));
tabs->set_margin(MARGIN_RIGHT, EditorNode::get_singleton()->get_gui_base()->get_stylebox("BottomPanelDebuggerOverride", "EditorStyles")->get_margin(MARGIN_RIGHT));
+
+ bool enable_rl = EditorSettings::get_singleton()->get("docks/scene_tree/draw_relationship_lines");
+ Color rl_color = EditorSettings::get_singleton()->get("docks/scene_tree/relationship_line_color");
+
+ if (enable_rl) {
+ inspect_scene_tree->add_constant_override("draw_relationship_lines", 1);
+ inspect_scene_tree->add_color_override("relationship_line_color", rl_color);
+ } else
+ inspect_scene_tree->add_constant_override("draw_relationship_lines", 0);
} break;
}
}
@@ -1151,7 +1158,12 @@ void ScriptEditorDebugger::start() {
return;
}
- EditorNode::get_singleton()->get_scene_tree_dock()->show_remote_tree();
+ EditorNode::get_singleton()->get_scene_tree_dock()->show_tab_buttons();
+ auto_switch_remote_scene_tree = (bool)EditorSettings::get_singleton()->get("debugger/auto_switch_to_remote_scene_tree");
+ if (auto_switch_remote_scene_tree) {
+ EditorNode::get_singleton()->get_scene_tree_dock()->show_remote_tree();
+ }
+
set_process(true);
}
@@ -1189,6 +1201,7 @@ void ScriptEditorDebugger::stop() {
EditorNode::get_singleton()->get_pause_button()->set_pressed(false);
EditorNode::get_singleton()->get_pause_button()->set_disabled(true);
EditorNode::get_singleton()->get_scene_tree_dock()->hide_remote_tree();
+ EditorNode::get_singleton()->get_scene_tree_dock()->hide_tab_buttons();
if (hide_on_stop) {
if (is_visible_in_tree())
@@ -1835,11 +1848,13 @@ ScriptEditorDebugger::ScriptEditorDebugger(EditorNode *p_editor) {
inspect_scene_tree = memnew(Tree);
EditorNode::get_singleton()->get_scene_tree_dock()->add_remote_tree_editor(inspect_scene_tree);
+ EditorNode::get_singleton()->get_scene_tree_dock()->connect("remote_tree_selected", this, "_scene_tree_selected");
inspect_scene_tree->set_v_size_flags(SIZE_EXPAND_FILL);
inspect_scene_tree->connect("cell_selected", this, "_scene_tree_selected");
inspect_scene_tree->connect("item_collapsed", this, "_scene_tree_folded");
- inspect_scene_tree_timeout = EDITOR_DEF("debugger/scene_tree_refresh_interval", 1.0);
+ auto_switch_remote_scene_tree = EDITOR_DEF("debugger/auto_switch_to_remote_scene_tree", false);
+ inspect_scene_tree_timeout = EDITOR_DEF("debugger/remote_scene_tree_refresh_interval", 1.0);
inspect_edited_object_timeout = EDITOR_DEF("debugger/remote_inspect_refresh_interval", 0.2);
inspected_object_id = 0;
updating_scene_tree = false;