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

Function ensure_inspector_node_chain

perro_editor/res/scripts/ui/editor_ui.rs:889–943  ·  view source on GitHub ↗
(
    ctx: &mut ScriptContext<'_, API>,
    parts: &[String],
)

Source from the content-addressed store, hash-verified

887 let name = format!("inspector_var_{idx}_matrix_{r}_{c}_box");
888 set_text_box(
889 ctx,
890 &name,
891 row.components
892 .get(cell_idx)
893 .map(String::as_str)
894 .unwrap_or(""),
895 );
896 set_text_box_input_type(ctx, &name, inspector_row_component_input_type(row));
897 set_text_box_interactive(
898 ctx,
899 &name,
900 view.inspector.node_actions && row.editable && !vars_closed,
901 );
902 }
903 }
904 set_ui_display(
905 ctx,
906 &format!("inspector_var_{idx}_matrix_grid"),
907 view.inspector.node_actions && !vars_closed,
908 );
909 } else {
910 set_ui_display(ctx, &format!("inspector_var_{idx}_matrix_grid"), false);
911 }
912 let swatch_name = format!("inspector_var_{idx}_color_swatch");
913 let color_preview = row.and_then(|item| item.color_preview.as_deref());
914 set_ui_display(
915 ctx,
916 &swatch_name,
917 view.inspector.node_actions && color_preview.is_some() && !vars_closed,
918 );
919 if let Some(color) = color_preview {
920 set_color_picker_value(ctx, &swatch_name, color);
921 }
922 let bool_row = row.is_some_and(|item| item.kind == "Bool");
923 let enum_row = row.is_some_and(|item| !item.enum_options.is_empty());
924 let dropdown_name = format!("inspector_var_{idx}_dropdown");
925 let picker_button_name = format!("inspector_var_{idx}_pick_button");
926 let picker_row = row.is_some_and(|item| {
927 item.expandable
928 || (item.source != "section"
929 && (item.kind.starts_with("Node") || item.kind.starts_with("Asset(")))
930 }) && find_named(ctx, &picker_button_name).is_some();
931 let quat_row = row.is_some_and(|item| item.kind == "Quat");
932 for name in [
933 format!("inspector_var_{idx}_quat_button"),
934 format!("inspector_var_{idx}_euler_button"),
935 ] {
936 set_ui_display(ctx, &name, false);
937 }
938 let quat_mode_name = format!("inspector_var_{idx}_quat_mode");
939 set_ui_display(
940 ctx,
941 &quat_mode_name,
942 view.inspector.node_actions && quat_row && !vars_closed,
943 );
944 if quat_row {
945 let options = vec!["Quat".to_string(), "Euler".to_string()];
946 let selected = if view.inspector.rotation_mode == "euler" {

Callers 1

refresh_inspector_viewFunction · 0.85

Calls 15

find_namedFunction · 0.85
set_ui_displayFunction · 0.85
set_ui_node_sizeFunction · 0.85
set_hlayout_h_alignFunction · 0.85
set_labelFunction · 0.85
set_panel_styleFunction · 0.85
set_label_colorFunction · 0.85
set_label_size_ratioFunction · 0.85
set_label_text_ratioFunction · 0.85
SceneMethod · 0.80
NodesMethod · 0.80

Tested by

no test coverage detected