MCPcopy Create free account
hub / github.com/PerroEngine/Perro / picker_parent_text

Function picker_parent_text

perro_editor/res/scripts/ui/editor_ui.rs:3274–3305  ·  view source on GitHub ↗
(state: &EditorState)

Source from the content-addressed store, hash-verified

3272
3273 pub fn path(&self, doc: &SceneDoc, key: SceneKey) -> String {
3274 let mut parts = Vec::new();
3275 let mut cursor = Some(key);
3276 let mut guard = 0;
3277 while let Some(key) = cursor {
3278 parts.push(doc.scene.key_name_or_id(key).to_string());
3279 cursor = self.node(doc, key.as_u32()).and_then(|node| node.parent);
3280 guard += 1;
3281 if guard > doc.scene.nodes.len() {
3282 break;
3283 }
3284 }
3285 parts.reverse();
3286 parts.join("/")
3287 }
3288}
3289
3290pub fn scene_tree_view(
3291 doc: &SceneDoc,
3292 selected_key: Option<u32>,
3293 filter: &str,
3294 collapsed_keys: &[u32],
3295) -> SceneTreeRows {
3296 let filter = NodePickerFilter::parse(filter);
3297 let index = SceneDocIndex::new(doc);
3298 if !filter.is_empty() {
3299 return filtered_scene_tree_view_indexed(doc, &index, selected_key, &filter);
3300 }
3301 let mut out = SceneTreeRows::default();
3302 let mut visited = Vec::new();
3303 for key in index.roots().iter().copied() {
3304 push_scene_tree_row(
3305 doc,
3306 &index,
3307 key,
3308 0,

Callers 1

from_stateMethod · 0.85

Calls 6

cached_scene_doc_sharedFunction · 0.85
cached_scene_nodeFunction · 0.85
picker_parent_node_kindFunction · 0.85
key_name_or_idMethod · 0.80
is_emptyMethod · 0.45
as_u32Method · 0.45

Tested by

no test coverage detected