//! This crate implements various component editors. //! //! The only entry point is [`register_editors`], which registers all editors in the component UI registry. //! This should be called by `re_viewer` on startup. mod color; mod datatype_editors; mod marker_shape; mod radius; mod range1d; mod response_utils; mod timeline; mod transforms; mod visual_bounds2d; use datatype_editors::{ display_name_ui, display_text_ui, edit_bool, edit_f32_min_to_max_float, edit_f32_zero_to_max, edit_f32_zero_to_one, edit_multiline_string, edit_or_view_vec3d, edit_singleline_string, edit_view_enum, }; use re_types::{ blueprint::components::{ BackgroundKind, Corner2D, LockRangeDuringZoom, SortKey, SortOrder, TimelineName, ViewFit, Visible, }, components::{ AggregationPolicy, AlbedoFactor, AxisLength, Color, Colormap, DepthMeter, DrawOrder, FillMode, FillRatio, GammaCorrection, ImagePlaneDistance, MagnificationFilter, MarkerSize, Name, Opacity, Scale3D, StrokeWidth, Text, TransformRelation, Translation3D, }, Loggable as _, }; use re_viewer_context::gpu_bridge::colormap_edit_or_view_ui; // ---- /// Registers all editors of this crate in the component UI registry. /// /// ⚠️ This is supposed to be the only export of this crate. /// This crate is meant to be a leaf crate in the viewer ecosystem and should only be used by the `re_viewer` crate itself. pub fn register_editors(registry: &mut re_viewer_context::ComponentUiRegistry) { registry.add_singleline_edit_or_view::(color::edit_rgba32); registry.add_singleline_edit_or_view(radius::edit_radius_ui); registry.add_singleline_edit_or_view(marker_shape::edit_marker_shape_ui); registry.add_singleline_edit_or_view::(color::edit_rgba32); registry.add_singleline_edit_or_view(range1d::edit_range1d); registry.add_singleline_edit_or_view::(edit_f32_zero_to_max); registry.add_singleline_edit_or_view::(edit_f32_zero_to_max); registry.add_singleline_edit_or_view::(edit_f32_zero_to_max); registry.add_singleline_edit_or_view::(edit_f32_zero_to_max); registry.add_singleline_edit_or_view::(edit_f32_zero_to_max); registry.add_singleline_edit_or_view::(edit_f32_zero_to_max); registry.add_singleline_edit_or_view::(edit_f32_zero_to_max); registry.add_singleline_edit_or_view::(edit_f32_min_to_max_float); registry.add_singleline_edit_or_view::(edit_f32_zero_to_one); registry.add_singleline_edit_or_view::(edit_bool); registry.add_singleline_edit_or_view::(edit_bool); registry.add_singleline_edit_or_view::(timeline::edit_timeline_name); registry.add_display_ui(Text::name(), Box::new(display_text_ui)); registry.add_singleline_edit_or_view::(edit_singleline_string); registry.add_multiline_edit_or_view::(edit_multiline_string); registry.add_display_ui(Name::name(), Box::new(display_name_ui)); registry.add_singleline_edit_or_view::(edit_singleline_string); registry.add_multiline_edit_or_view::(edit_multiline_string); // `Colormap` _is_ an enum, but its custom editor is far better. registry.add_singleline_edit_or_view::(colormap_edit_or_view_ui); // TODO(#6974): Enums editors trivial and always the same, provide them automatically! registry.add_singleline_edit_or_view::(edit_view_enum); registry.add_singleline_edit_or_view::(edit_view_enum); registry.add_singleline_edit_or_view::(edit_view_enum); registry.add_singleline_edit_or_view::(edit_view_enum); registry.add_singleline_edit_or_view::(edit_view_enum); registry.add_singleline_edit_or_view::(edit_view_enum); registry.add_singleline_edit_or_view::(edit_view_enum); registry.add_singleline_edit_or_view::(edit_view_enum); registry.add_singleline_edit_or_view::(edit_view_enum); // TODO(#7100): Editor for ImageFormat registry.add_multiline_edit_or_view(visual_bounds2d::multiline_edit_visual_bounds2d); registry.add_singleline_edit_or_view(visual_bounds2d::singleline_edit_visual_bounds2d); registry.add_multiline_edit_or_view(transforms::multiline_view_transform_mat3x3); registry.add_singleline_edit_or_view(transforms::singleline_view_transform_mat3x3); registry.add_singleline_edit_or_view::(edit_or_view_vec3d); registry.add_singleline_edit_or_view::(edit_or_view_vec3d); }