|
@@ -66,6 +66,7 @@ void EditorDebuggerTree::_notification(int p_what) {
|
|
|
case NOTIFICATION_POSTINITIALIZE: {
|
|
case NOTIFICATION_POSTINITIALIZE: {
|
|
|
set_auto_translate_mode(AUTO_TRANSLATE_MODE_DISABLED);
|
|
set_auto_translate_mode(AUTO_TRANSLATE_MODE_DISABLED);
|
|
|
|
|
|
|
|
|
|
+ connect("cell_selected", callable_mp(this, &EditorDebuggerTree::_scene_tree_selected));
|
|
|
connect("multi_selected", callable_mp(this, &EditorDebuggerTree::_scene_tree_selection_changed));
|
|
connect("multi_selected", callable_mp(this, &EditorDebuggerTree::_scene_tree_selection_changed));
|
|
|
connect("nothing_selected", callable_mp(this, &EditorDebuggerTree::_scene_tree_nothing_selected));
|
|
connect("nothing_selected", callable_mp(this, &EditorDebuggerTree::_scene_tree_nothing_selected));
|
|
|
connect("item_collapsed", callable_mp(this, &EditorDebuggerTree::_scene_tree_folded));
|
|
connect("item_collapsed", callable_mp(this, &EditorDebuggerTree::_scene_tree_folded));
|
|
@@ -85,6 +86,27 @@ void EditorDebuggerTree::_bind_methods() {
|
|
|
ADD_SIGNAL(MethodInfo("open"));
|
|
ADD_SIGNAL(MethodInfo("open"));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+void EditorDebuggerTree::_scene_tree_selected() {
|
|
|
|
|
+ TreeItem *item = get_selected();
|
|
|
|
|
+ if (!item) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (!inspected_object_ids.is_empty()) {
|
|
|
|
|
+ inspected_object_ids.clear();
|
|
|
|
|
+ deselect_all();
|
|
|
|
|
+ item->select(0);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ uint64_t id = uint64_t(item->get_metadata(0));
|
|
|
|
|
+ inspected_object_ids.append(id);
|
|
|
|
|
+
|
|
|
|
|
+ if (!notify_selection_queued) {
|
|
|
|
|
+ callable_mp(this, &EditorDebuggerTree::_notify_selection_changed).call_deferred();
|
|
|
|
|
+ notify_selection_queued = true;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
void EditorDebuggerTree::_scene_tree_selection_changed(TreeItem *p_item, int p_column, bool p_selected) {
|
|
void EditorDebuggerTree::_scene_tree_selection_changed(TreeItem *p_item, int p_column, bool p_selected) {
|
|
|
if (updating_scene_tree || !p_item) {
|
|
if (updating_scene_tree || !p_item) {
|
|
|
return;
|
|
return;
|