MCPcopy Create free account
hub / github.com/Redot-Engine/redot-engine / _cell_multi_selected

Method _cell_multi_selected

editor/scene/scene_tree_editor.cpp:1295–1326  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1293}
1294
1295void SceneTreeEditor::_cell_multi_selected(Object *p_object, int p_cell, bool p_selected) {
1296 TreeItem *item = Object::cast_to<TreeItem>(p_object);
1297 ERR_FAIL_NULL(item);
1298
1299 if (!item->is_visible()) {
1300 return;
1301 }
1302
1303 NodePath np = item->get_metadata(0);
1304
1305 Node *n = get_node(np);
1306
1307 if (!n) {
1308 return;
1309 }
1310
1311 if (!editor_selection) {
1312 return;
1313 }
1314
1315 if (p_selected) {
1316 editor_selection->add_node(n);
1317
1318 } else {
1319 editor_selection->remove_node(n);
1320 }
1321
1322 // Emitted "selected" in _selected_changed() when select single node, so select multiple node emit "changed".
1323 if (editor_selection->get_selected_nodes().size() > 1) {
1324 emit_signal(SNAME("node_changed"));
1325 }
1326}
1327
1328void SceneTreeEditor::_tree_scroll_to_item(ObjectID p_item_id) {
1329 ERR_FAIL_NULL(tree);

Callers

nothing calls this directly

Calls 6

get_metadataMethod · 0.80
get_selected_nodesMethod · 0.80
sizeMethod · 0.65
is_visibleMethod · 0.45
add_nodeMethod · 0.45
remove_nodeMethod · 0.45

Tested by

no test coverage detected