diff --git a/editor/src/dispatcher.rs b/editor/src/dispatcher.rs index f2c665648d..d986fa4f8b 100644 --- a/editor/src/dispatcher.rs +++ b/editor/src/dispatcher.rs @@ -492,15 +492,11 @@ mod test { if let FrontendMessage::UpdateLayout { layout_target: LayoutTarget::DialogColumn1, diff, - } = response + } = response && let DiffUpdate::Layout(sub_layout) = &diff[0].new_value + && let LayoutGroup::Row(WidgetRow { widgets }) = &sub_layout.0[0] + && let Widget::TextLabel(TextLabel { value, .. }) = &*widgets[0].widget { - if let DiffUpdate::Layout(sub_layout) = &diff[0].new_value { - if let LayoutGroup::Row(WidgetRow { widgets }) = &sub_layout.0[0] { - if let Widget::TextLabel(TextLabel { value, .. }) = &*widgets[0].widget { - print_problem_to_terminal_on_failure(value); - } - } - } + print_problem_to_terminal_on_failure(value); } } } diff --git a/editor/src/messages/portfolio/document/document_message_handler.rs b/editor/src/messages/portfolio/document/document_message_handler.rs index cb4dacbc06..266c1afffa 100644 --- a/editor/src/messages/portfolio/document/document_message_handler.rs +++ b/editor/src/messages/portfolio/document/document_message_handler.rs @@ -4105,10 +4105,11 @@ mod document_message_handler_tests { async fn get_layer_by_bounds(editor: &mut EditorTestUtils, min_x: f64, min_y: f64) -> Option { let document = editor.active_document(); for layer in document.metadata().all_layers() { - if let Some(bbox) = document.metadata().bounding_box_viewport(layer) { - if (bbox[0].x - min_x).abs() < 1. && (bbox[0].y - min_y).abs() < 1. { - return Some(layer); - } + if let Some(bbox) = document.metadata().bounding_box_viewport(layer) + && (bbox[0].x - min_x).abs() < 1. + && (bbox[0].y - min_y).abs() < 1. + { + return Some(layer); } } None diff --git a/editor/src/messages/portfolio/document/overlays/utility_functions.rs b/editor/src/messages/portfolio/document/overlays/utility_functions.rs index 57315f58d3..80c0eabb70 100644 --- a/editor/src/messages/portfolio/document/overlays/utility_functions.rs +++ b/editor/src/messages/portfolio/document/overlays/utility_functions.rs @@ -106,12 +106,10 @@ fn overlay_bezier_handle_specific_point( let not_under_anchor = |position: DVec2, anchor: DVec2| position.distance_squared(anchor) >= HIDE_HANDLE_DISTANCE * HIDE_HANDLE_DISTANCE; match bezier.handles { - BezierHandles::Quadratic { handle } => { - if not_under_anchor(handle, bezier.start) && not_under_anchor(handle, bezier.end) { - let end = if start == point_to_render { bezier.start } else { bezier.end }; - overlay_context.line(handle, end, None, None); - overlay_context.manipulator_handle(handle, is_selected(ManipulatorPointId::PrimaryHandle(segment_id)), None); - } + BezierHandles::Quadratic { handle } if not_under_anchor(handle, bezier.start) && not_under_anchor(handle, bezier.end) => { + let end = if start == point_to_render { bezier.start } else { bezier.end }; + overlay_context.line(handle, end, None, None); + overlay_context.manipulator_handle(handle, is_selected(ManipulatorPointId::PrimaryHandle(segment_id)), None); } BezierHandles::Cubic { handle_start, handle_end } => { if not_under_anchor(handle_start, bezier.start) && (point_to_render == start) { diff --git a/proc-macros/src/message_handler_data_attr.rs b/proc-macros/src/message_handler_data_attr.rs index 7e38bbfef7..cbf45f79ec 100644 --- a/proc-macros/src/message_handler_data_attr.rs +++ b/proc-macros/src/message_handler_data_attr.rs @@ -29,76 +29,76 @@ pub fn message_handler_data_attr_impl(attr: TokenStream, input_item: TokenStream if segment.ident != "MessageHandler" { return Err(syn::Error::new(segment.ident.span(), "Expected MessageHandler trait")); } - if let syn::PathArguments::AngleBracketed(args) = &segment.arguments { - if args.args.len() >= 2 { - // Extract the message type (M) and context struct type (C) from the trait params - let message_type = &args.args[0]; - let data_type = &args.args[1]; + if let syn::PathArguments::AngleBracketed(args) = &segment.arguments + && args.args.len() >= 2 + { + // Extract the message type (M) and context struct type (C) from the trait params + let message_type = &args.args[0]; + let data_type = &args.args[1]; - let impl_item = match data_type { - syn::GenericArgument::Type(t) => { - match t { - syn::Type::Path(type_path) if !type_path.path.segments.is_empty() => { - // Get just the base identifier (ToolMessageData) without generics - let type_name = &type_path.path.segments.first().unwrap().ident; + let impl_item = match data_type { + syn::GenericArgument::Type(t) => { + match t { + syn::Type::Path(type_path) if !type_path.path.segments.is_empty() => { + // Get just the base identifier (ToolMessageData) without generics + let type_name = &type_path.path.segments.first().unwrap().ident; - let handler_data_line_number = type_name.span().start().line; + let handler_data_line_number = type_name.span().start().line; - quote! { - #input_item - impl #message_type { - pub fn message_handler_data_str() -> MessageData { - MessageData::new(format!("{}", stringify!(#type_name)), #type_name::field_types(), #type_name::path(), #type_name::line_number()) - } - pub fn message_handler_str() -> MessageData { - MessageData::new(format!("{}", stringify!(#input_type)), #input_type::field_types(), #input_type::path(), #input_type::line_number()) - - } - } - } - } - syn::Type::Tuple(_) => quote! { + quote! { #input_item impl #message_type { - pub fn message_handler_str() -> MessageData { - MessageData::new(format!("{}", stringify!(#input_type)), #input_type::field_types(), #input_type::path(), #input_type::line_number()) - } + pub fn message_handler_data_str() -> MessageData { + MessageData::new(format!("{}", stringify!(#type_name)), #type_name::field_types(), #type_name::path(), #type_name::line_number()) } - }, - syn::Type::Reference(type_reference) => { - let message_type = call_site_ident(format!("{input_type}Message")); - let type_ident = match &*type_reference.elem { - syn::Type::Path(type_path) => &type_path.path.segments.first().unwrap().ident, - _ => return Err(syn::Error::new(type_reference.elem.span(), "Expected type path")), - }; + pub fn message_handler_str() -> MessageData { + MessageData::new(format!("{}", stringify!(#input_type)), #input_type::field_types(), #input_type::path(), #input_type::line_number()) - let type_line_number = type_ident.span().start().line; - - let tr = clean_rust_type_syntax(type_reference.to_token_stream().to_string()); - quote! { - #input_item - impl #message_type { - pub fn message_handler_data_str() -> MessageData { - MessageData::new(format!("{}", #tr), #type_ident::field_types(), #type_ident::path(), #type_ident::line_number()) - } - - pub fn message_handler_str() -> MessageData { - MessageData::new(format!("{}", stringify!(#input_type)), #input_type::field_types(), #input_type::path(), #input_type::line_number()) - - } } } } - _ => return Err(syn::Error::new(t.span(), "Unsupported type format")), } - } + syn::Type::Tuple(_) => quote! { + #input_item + impl #message_type { + pub fn message_handler_str() -> MessageData { + MessageData::new(format!("{}", stringify!(#input_type)), #input_type::field_types(), #input_type::path(), #input_type::line_number()) + } + } + }, + syn::Type::Reference(type_reference) => { + let message_type = call_site_ident(format!("{input_type}Message")); + let type_ident = match &*type_reference.elem { + syn::Type::Path(type_path) => &type_path.path.segments.first().unwrap().ident, + _ => return Err(syn::Error::new(type_reference.elem.span(), "Expected type path")), + }; - _ => quote! { - #input_item - }, - }; - return Ok(impl_item); - } + let type_line_number = type_ident.span().start().line; + + let tr = clean_rust_type_syntax(type_reference.to_token_stream().to_string()); + quote! { + #input_item + impl #message_type { + pub fn message_handler_data_str() -> MessageData { + MessageData::new(format!("{}", #tr), #type_ident::field_types(), #type_ident::path(), #type_ident::line_number()) + } + + pub fn message_handler_str() -> MessageData { + MessageData::new(format!("{}", stringify!(#input_type)), #input_type::field_types(), #input_type::path(), #input_type::line_number()) + + } + } + } + } + _ => return Err(syn::Error::new(t.span(), "Unsupported type format")), + } + } + + _ => quote! { + #input_item + }, + }; + return Ok(impl_item); } } Ok(input_item)