8000 Layer controls widgets refactor by dalthviz · Pull Request #7355 · napari/napari · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Layer controls widgets refactor #7355

8000
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 63 commits into
base: main
Choose a base branch
from

Conversation

dalthviz
Copy link
Member
@dalthviz dalthviz commented Nov 8, 2024

References and relevant issues

Related with PR #6219

Description

This takes out some of the refactoring effort proposed over PR #6219 (creation of classes that encapsulate specific widget controls for logic reusage and provide base methods to add those widgets to layer controls classes).

Dependencies/imports diagram related with layer controls

graph LR
	accTitle: Dependencies between modules in the napari Layers controls UI section
	accDescr: Diagram showing the dependencies between the modules involved in the definition of the napari Layers controls UI section
	napari._qt.layer_controls(napari._qt.layer_controls)
	napari._qt.layer_controls --> napari._qt.layer_controls.qt_layer_controls_container
	click napari._qt.layer_controls "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/__init__.py" _blank
	napari._qt.layer_controls.qt_image_controls(napari._qt.layer_controls.qt_image_controls)
	napari._qt.layer_controls.qt_image_controls --> napari._qt.layer_controls.qt_image_controls_base
	napari._qt.layer_controls.qt_image_controls --> napari._qt.layer_controls.widgets
	napari._qt.layer_controls.qt_image_controls --> napari._qt.layer_controls.widgets._image
	click napari._qt.layer_controls.qt_image_controls "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/qt_image_controls.py" _blank
	napari._qt.layer_controls.qt_image_controls_base(napari._qt.layer_controls.qt_image_controls_base)
	napari._qt.layer_controls.qt_image_controls_base --> napari._qt.layer_controls.qt_layer_controls_base
	napari._qt.layer_controls.qt_image_controls_base --> napari._qt.layer_controls.widgets
	click napari._qt.layer_controls.qt_image_controls_base "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/qt_image_controls_base.py" _blank
	napari._qt.layer_controls.qt_labels_controls(napari._qt.layer_controls.qt_labels_controls)
	napari._qt.layer_controls.qt_labels_controls --> napari._qt.layer_controls.qt_layer_controls_base
	napari._qt.layer_controls.qt_labels_controls --> napari._qt.layer_controls.widgets
	napari._qt.layer_controls.qt_labels_controls --> napari._qt.layer_controls.widgets._labels
	click napari._qt.layer_controls.qt_labels_controls "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/qt_labels_controls.py" _blank
	napari._qt.layer_controls.qt_layer_controls_base(napari._qt.layer_controls.qt_layer_controls_base)
	napari._qt.layer_controls.qt_layer_controls_base --> napari._qt.layer_controls.widgets
	click napari._qt.layer_controls.qt_layer_controls_base "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/qt_layer_controls_base.py" _blank
	napari._qt.layer_controls.qt_layer_controls_container(napari._qt.layer_controls.qt_layer_controls_container)
	napari._qt.layer_controls.qt_layer_controls_container --> napari._qt.layer_controls.qt_image_controls
	napari._qt.layer_controls.qt_layer_controls_container --> napari._qt.layer_controls.qt_labels_controls
	napari._qt.layer_controls.qt_layer_controls_container --> napari._qt.layer_controls.qt_points_controls
	napari._qt.layer_controls.qt_layer_controls_container --> napari._qt.layer_controls.qt_shapes_controls
	napari._qt.layer_controls.qt_layer_controls_container --> napari._qt.layer_controls.qt_surface_controls
	napari._qt.layer_controls.qt_layer_controls_container --> napari._qt.layer_controls.qt_tracks_controls
	napari._qt.layer_controls.qt_layer_controls_container --> napari._qt.layer_controls.qt_vectors_controls
	click napari._qt.layer_controls.qt_layer_controls_container "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/qt_layer_controls_container.py" _blank
	napari._qt.layer_controls.qt_points_controls(napari._qt.layer_controls.qt_points_controls)
	napari._qt.layer_controls.qt_points_controls --> napari._qt.layer_controls.qt_layer_controls_base
	napari._qt.layer_controls.qt_points_controls --> napari._qt.layer_controls.widgets
	napari._qt.layer_controls.qt_points_controls --> napari._qt.layer_controls.widgets._points
	click napari._qt.layer_controls.qt_points_controls "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/qt_points_controls.py" _blank
	napari._qt.layer_controls.qt_shapes_controls(napari._qt.layer_controls.qt_shapes_controls)
	napari._qt.layer_controls.qt_shapes_controls --> napari._qt.layer_controls.qt_layer_controls_base
	napari._qt.layer_controls.qt_shapes_controls --> napari._qt.layer_controls.widgets
	napari._qt.layer_controls.qt_shapes_controls --> napari._qt.layer_controls.widgets._shapes
	click napari._qt.layer_controls.qt_shapes_controls "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/qt_shapes_controls.py" _blank
	napari._qt.layer_controls.qt_surface_controls(napari._qt.layer_controls.qt_surface_controls)
	napari._qt.layer_controls.qt_surface_controls --> napari._qt.layer_controls.qt_image_controls_base
	napari._qt.layer_controls.qt_surface_controls --> napari._qt.layer_controls.widgets
	napari._qt.layer_controls.qt_surface_controls --> napari._qt.layer_controls.widgets._surface
	click napari._qt.layer_controls.qt_surface_controls "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/qt_surface_controls.py" _blank
	napari._qt.layer_controls.qt_tracks_controls(napari._qt.layer_controls.qt_tracks_controls)
	napari._qt.layer_controls.qt_tracks_controls --> napari._qt.layer_controls.qt_layer_controls_base
	napari._qt.layer_controls.qt_tracks_controls --> napari._qt.layer_controls.widgets
	napari._qt.layer_controls.qt_tracks_controls --> napari._qt.layer_controls.widgets._tracks
	click napari._qt.layer_controls.qt_tracks_controls "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/qt_tracks_controls.py" _blank
	napari._qt.layer_controls.qt_vectors_controls(napari._qt.layer_controls.qt_vectors_controls)
	napari._qt.layer_controls.qt_vectors_controls --> napari._qt.layer_controls.qt_layer_controls_base
	napari._qt.layer_controls.qt_vectors_controls --> napari._qt.layer_controls.widgets
	napari._qt.layer_controls.qt_vectors_controls --> napari._qt.layer_controls.widgets._vectors
	click napari._qt.layer_controls.qt_vectors_controls "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/qt_vectors_controls.py" _blank
	napari._qt.layer_controls.widgets(napari._qt.layer_controls.widgets)
	napari._qt.layer_controls.widgets --> napari._qt.layer_controls.widgets.qt_autoscale_control
	napari._qt.layer_controls.widgets --> napari._qt.layer_controls.widgets.qt_colormap_control
	napari._qt.layer_controls.widgets --> napari._qt.layer_controls.widgets.qt_contrast_limits
	napari._qt.layer_controls.widgets --> napari._qt.layer_controls.widgets.qt_face_color
	napari._qt.layer_controls.widgets --> napari._qt.layer_controls.widgets.qt_gamma_slider
	napari._qt.layer_controls.widgets --> napari._qt.layer_controls.widgets.qt_opacity_blending_controls
	napari._qt.layer_controls.widgets --> napari._qt.layer_controls.widgets.qt_out_slice_checkbox
	napari._qt.layer_controls.widgets --> napari._qt.layer_controls.widgets.qt_text_visibility
	napari._qt.layer_controls.widgets --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/__init__.py" _blank
	napari._qt.layer_controls.widgets._image(napari._qt.layer_controls.widgets._image)
	napari._qt.layer_controls.widgets._image --> napari._qt.layer_controls.widgets._image.qt_depiction_control
	napari._qt.layer_controls.widgets._image --> napari._qt.layer_controls.widgets._image.qt_interpolation_combobox
	napari._qt.layer_controls.widgets._image --> napari._qt.layer_controls.widgets._image.qt_render_control
	click napari._qt.layer_controls.widgets._image "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_image/__init__.py" _blank
	napari._qt.layer_controls.widgets._image.qt_depiction_control(napari._qt.layer_controls.widgets._image.qt_depiction_control)
	napari._qt.layer_controls.widgets._image.qt_depiction_control --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._image.qt_depiction_control "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_image/qt_depiction_control.py" _blank
	napari._qt.layer_controls.widgets._image.qt_interpolation_combobox(napari._qt.layer_controls.widgets._image.qt_interpolation_combobox)
	napari._qt.layer_controls.widgets._image.qt_interpolation_combobox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._image.qt_interpolation_combobox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_image/qt_interpolation_combobox.py" _blank
	napari._qt.layer_controls.widgets._image.qt_render_control(napari._qt.layer_controls.widgets._image.qt_render_control)
	napari._qt.layer_controls.widgets._image.qt_render_control --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._image.qt_render_control "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_image/qt_render_control.py" _blank
	napari._qt.layer_controls.widgets._labels(napari._qt.layer_controls.widgets._labels)
	napari._qt.layer_controls.widgets._labels --> napari._qt.layer_controls.widgets._labels.qt_brush_size_slider
	napari._qt.layer_controls.widgets._labels --> napari._qt.layer_controls.widgets._labels.qt_color_mode_combobox
	napari._qt.layer_controls.widgets._labels --> napari._qt.layer_controls.widgets._labels.qt_contiguous_checkbox
	napari._qt.layer_controls.widgets._labels --> napari._qt.layer_controls.widgets._labels.qt_contour_spinbox
	napari._qt.layer_controls.widgets._labels --> napari._qt.layer_controls.widgets._labels.qt_display_selected_label_checkbox
	napari._qt.layer_controls.widgets._labels --> napari._qt.layer_controls.widgets._labels.qt_label_color
	napari._qt.layer_controls.widgets._labels --> napari._qt.layer_controls.widgets._labels.qt_ndim_spinbox
	napari._qt.layer_controls.widgets._labels --> napari._qt.layer_controls.widgets._labels.qt_preserve_labels_checkbox
	napari._qt.layer_controls.widgets._labels --> napari._qt.layer_controls.widgets._labels.qt_render_control
	click napari._qt.layer_controls.widgets._labels "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_labels/__init__.py" _blank
	napari._qt.layer_controls.widgets._labels.qt_brush_size_slider(napari._qt.layer_controls.widgets._labels.qt_brush_size_slider)
	napari._qt.layer_controls.widgets._labels.qt_brush_size_slider --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._labels.qt_brush_size_slider "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_labels/qt_brush_size_slider.py" _blank
	napari._qt.layer_controls.widgets._labels.qt_color_mode_combobox(napari._qt.layer_controls.widgets._labels.qt_color_mode_combobox)
	napari._qt.layer_controls.widgets._labels.qt_color_mode_combobox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._labels.qt_color_mode_combobox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_labels/qt_color_mode_combobox.py" _blank
	napari._qt.layer_controls.widgets._labels.qt_contiguous_checkbox(napari._qt.layer_controls.widgets._labels.qt_contiguous_checkbox)
	napari._qt.layer_controls.widgets._labels.qt_contiguous_checkbox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._labels.qt_contiguous_checkbox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_labels/qt_contiguous_checkbox.py" _blank
	napari._qt.layer_controls.widgets._labels.qt_contour_spinbox(napari._qt.layer_controls.widgets._labels.qt_contour_spinbox)
	napari._qt.layer_controls.widgets._labels.qt_contour_spinbox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._labels.qt_contour_spinbox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_labels/qt_contour_spinbox.py" _blank
	napari._qt.layer_controls.widgets._labels.qt_display_selected_label_checkbox(napari._qt.layer_controls.widgets._labels.qt_display_selected_label_checkbox)
	napari._qt.layer_controls.widgets._labels.qt_display_selected_label_checkbox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._labels.qt_display_selected_label_checkbox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_labels/qt_display_selected_label_checkbox.py" _blank
	napari._qt.layer_controls.widgets._labels.qt_label_color(napari._qt.layer_controls.widgets._labels.qt_label_color)
	napari._qt.layer_controls.widgets._labels.qt_label_color --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._labels.qt_label_color "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_labels/qt_label_color.py" _blank
	napari._qt.layer_controls.widgets._labels.qt_ndim_spinbox(napari._qt.layer_controls.widgets._labels.qt_ndim_spinbox)
	napari._qt.layer_controls.widgets._labels.qt_ndim_spinbox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._labels.qt_ndim_spinbox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_labels/qt_ndim_spinbox.py" _blank
	napari._qt.layer_controls.widgets._labels.qt_preserve_labels_checkbox(napari._qt.layer_controls.widgets._labels.qt_preserve_labels_checkbox)
	napari._qt.layer_controls.widgets._labels.qt_preserve_labels_checkbox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._labels.qt_preserve_labels_checkbox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_labels/qt_preserve_labels_checkbox.py" _blank
	napari._qt.layer_controls.widgets._labels.qt_render_control(napari._qt.layer_controls.widgets._labels.qt_render_control)
	napari._qt.layer_controls.widgets._labels.qt_render_control --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._labels.qt_render_control "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_labels/qt_render_control.py" _blank
	napari._qt.layer_controls.widgets._points(napari._qt.layer_controls.widgets._points)
	napari._qt.layer_controls.widgets._points --> napari._qt.layer_controls.widgets._points.qt_border_color
	napari._qt.layer_controls.widgets._points --> napari._qt.layer_controls.widgets._points.qt_current_size_slider
	napari._qt.layer_controls.widgets._points --> napari._qt.layer_controls.widgets._points.qt_symbol_combobox
	click napari._qt.layer_controls.widgets._points "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_points/__init__.py" _blank
	napari._qt.layer_controls.widgets._points.qt_border_color(napari._qt.layer_controls.widgets._points.qt_border_color)
	napari._qt.layer_controls.widgets._points.qt_border_color --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._points.qt_border_color "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_points/qt_border_color.py" _blank
	napari._qt.layer_controls.widgets._points.qt_current_size_slider(napari._qt.layer_controls.widgets._points.qt_current_size_slider)
	napari._qt.layer_controls.widgets._points.qt_current_size_slider --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._points.qt_current_size_slider "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_points/qt_current_size_slider.py" _blank
	napari._qt.layer_controls.widgets._points.qt_symbol_combobox(napari._qt.layer_controls.widgets._points.qt_symbol_combobox)
	napari._qt.layer_controls.widgets._points.qt_symbol_combobox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._points.qt_symbol_combobox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_points/qt_symbol_combobox.py" _blank
	napari._qt.layer_controls.widgets._shapes(napari._qt.layer_controls.widgets._shapes)
	napari._qt.layer_controls.widgets._shapes --> napari._qt.layer_controls.widgets._shapes.qt_edge_color
	napari._qt.layer_controls.widgets._shapes --> napari._qt.layer_controls.widgets._shapes.qt_edge_width_slider
	click napari._qt.layer_controls.widgets._shapes "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_shapes/__init__.py" _blank
	napari._qt.layer_controls.widgets._shapes.qt_edge_color(napari._qt.layer_controls.widgets._shapes.qt_edge_color)
	napari._qt.layer_controls.widgets._shapes.qt_edge_color --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._shapes.qt_edge_color "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_shapes/qt_edge_color.py" _blank
	napari._qt.layer_controls.widgets._shapes.qt_edge_width_slider(napari._qt.layer_controls.widgets._shapes.qt_edge_width_slider)
	napari._qt.layer_controls.widgets._shapes.qt_edge_width_slider --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._shapes.qt_edge_width_slider "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_shapes/qt_edge_width_slider.py" _blank
	napari._qt.layer_controls.widgets._surface(napari._qt.layer_controls.widgets._surface)
	napari._qt.layer_controls.widgets._surface --> napari._qt.layer_controls.widgets._surface.qt_shading_combobox
	click napari._qt.layer_controls.widgets._surface "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_surface/__init__.py" _blank
	napari._qt.layer_controls.widgets._surface.qt_shading_combobox(napari._qt.layer_controls.widgets._surface.qt_shading_combobox)
	napari._qt.layer_controls.widgets._surface.qt_shading_combobox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._surface.qt_shading_combobox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_surface/qt_shading_combobox.py" _blank
	napari._qt.layer_controls.widgets._tracks(napari._qt.layer_controls.widgets._tracks)
	napari._qt.layer_controls.widgets._tracks --> napari._qt.layer_controls.widgets._tracks.qt_color_properties_combobox
	napari._qt.layer_controls.widgets._tracks --> napari._qt.layer_controls.widgets._tracks.qt_colormap_control
	napari._qt.layer_controls.widgets._tracks --> napari._qt.layer_controls.widgets._tracks.qt_graph_checkbox
	napari._qt.layer_controls.widgets._tracks --> napari._qt.layer_controls.widgets._tracks.qt_head_slider
	napari._qt.layer_controls.widgets._tracks --> napari._qt.layer_controls.widgets._tracks.qt_id_checkbox
	napari._qt.layer_controls.widgets._tracks --> napari._qt.layer_controls.widgets._tracks.qt_tail_control
	click napari._qt.layer_controls.widgets._tracks "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_tracks/__init__.py" _blank
	napari._qt.layer_controls.widgets._tracks.qt_color_properties_combobox(napari._qt.layer_controls.widgets._tracks.qt_color_properties_combobox)
	napari._qt.layer_controls.widgets._tracks.qt_color_properties_combobox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._tracks.qt_color_properties_combobox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_tracks/qt_color_properties_combobox.py" _blank
	napari._qt.layer_controls.widgets._tracks.qt_colormap_control(napari._qt.layer_controls.widgets._tracks.qt_colormap_control)
	napari._qt.layer_controls.widgets._tracks.qt_colormap_control --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._tracks.qt_colormap_control "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_tracks/qt_colormap_control.py" _blank
	napari._qt.layer_controls.widgets._tracks.qt_graph_checkbox(napari._qt.layer_controls.widgets._tracks.qt_graph_checkbox)
	napari._qt.layer_controls.widgets._tracks.qt_graph_checkbox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._tracks.qt_graph_checkbox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_tracks/qt_graph_checkbox.py" _blank
	napari._qt.layer_controls.widgets._tracks.qt_head_slider(napari._qt.layer_controls.widgets._tracks.qt_head_slider)
	napari._qt.layer_controls.widgets._tracks.qt_head_slider --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._tracks.qt_head_slider "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_tracks/qt_head_slider.py" _blank
	napari._qt.layer_controls.widgets._tracks.qt_id_checkbox(napari._qt.layer_controls.widgets._tracks.qt_id_checkbox)
	napari._qt.layer_controls.widgets._tracks.qt_id_checkbox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._tracks.qt_id_checkbox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_tracks/qt_id_checkbox.py" _blank
	napari._qt.layer_controls.widgets._tracks.qt_tail_control(napari._qt.layer_controls.widgets._tracks.qt_tail_control)
	napari._qt.layer_controls.widgets._tracks.qt_tail_control --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._tracks.qt_tail_control "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_tracks/qt_tail_control.py" _blank
	napari._qt.layer_controls.widgets._vectors(napari._qt.layer_controls.widgets._vectors)
	napari._qt.layer_controls.widgets._vectors --> napari._qt.layer_controls.widgets._vectors.qt_edge_color
	napari._qt.layer_controls.widgets._vectors --> napari._qt.layer_controls.widgets._vectors.qt_line_dimension_spinbox
	napari._qt.layer_controls.widgets._vectors --> napari._qt.layer_controls.widgets._vectors.qt_vector_style_combobox
	click napari._qt.layer_controls.widgets._vectors "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_vectors/__init__.py" _blank
	napari._qt.layer_controls.widgets._vectors.qt_edge_color(napari._qt.layer_controls.widgets._vectors.qt_edge_color)
	napari._qt.layer_controls.widgets._vectors.qt_edge_color --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._vectors.qt_edge_color "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_vectors/qt_edge_color.py" _blank
	napari._qt.layer_controls.widgets._vectors.qt_line_dimension_spinbox(napari._qt.layer_controls.widgets._vectors.qt_line_dimension_spinbox)
	napari._qt.layer_controls.widgets._vectors.qt_line_dimension_spinbox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._vectors.qt_line_dimension_spinbox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_vectors/qt_line_dimension_spinbox.py" _blank
	napari._qt.layer_controls.widgets._vectors.qt_vector_style_combobox(napari._qt.layer_controls.widgets._vectors.qt_vector_style_combobox)
	napari._qt.layer_controls.widgets._vectors.qt_vector_style_combobox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets._vectors.qt_vector_style_combobox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/_vectors/qt_vector_style_combobox.py" _blank
	napari._qt.layer_controls.widgets.qt_autoscale_control(napari._qt.layer_controls.widgets.qt_autoscale_control)
	napari._qt.layer_controls.widgets.qt_autoscale_control --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets.qt_autoscale_control "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/qt_autoscale_control.py" _blank
	napari._qt.layer_controls.widgets.qt_colormap_control(napari._qt.layer_controls.widgets.qt_colormap_control)
	napari._qt.layer_controls.widgets.qt_colormap_control --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets.qt_colormap_control "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/qt_colormap_control.py" _blank
	napari._qt.layer_controls.widgets.qt_contrast_limits(napari._qt.layer_controls.widgets.qt_contrast_limits)
	napari._qt.layer_controls.widgets.qt_contrast_limits --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets.qt_contrast_limits "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/qt_contrast_limits.py" _blank
	napari._qt.layer_controls.widgets.qt_face_color(napari._qt.layer_controls.widgets.qt_face_color)
	napari._qt.layer_controls.widgets.qt_face_color --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets.qt_face_color "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/qt_face_color.py" _blank
	napari._qt.layer_controls.widgets.qt_gamma_slider(napari._qt.layer_controls.widgets.qt_gamma_slider)
	napari._qt.layer_controls.widgets.qt_gamma_slider --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets.qt_gamma_slider "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/qt_gamma_slider.py" _blank
	napari._qt.layer_controls.widgets.qt_opacity_blending_controls(napari._qt.layer_controls.widgets.qt_opacity_blending_controls)
	napari._qt.layer_controls.widgets.qt_opacity_blending_controls --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets.qt_opacity_blending_controls "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/qt_opacity_blending_controls.py" _blank
	napari._qt.layer_controls.widgets.qt_out_slice_checkbox(napari._qt.layer_controls.widgets.qt_out_slice_checkbox)
	napari._qt.layer_controls.widgets.qt_out_slice_checkbox --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets.qt_out_slice_checkbox "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/qt_out_slice_checkbox.py" _blank
	napari._qt.layer_controls.widgets.qt_text_visibility(napari._qt.layer_controls.widgets.qt_text_visibility)
	napari._qt.layer_controls.widgets.qt_text_visibility --> napari._qt.layer_controls.widgets.qt_widget_controls_base
	click napari._qt.layer_controls.widgets.qt_text_visibility "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/qt_text_visibility.py" _blank
	napari._qt.layer_controls.widgets.qt_widget_controls_base(napari._qt.layer_controls.widgets.qt_widget_controls_base)
	click napari._qt.layer_controls.widgets.qt_widget_controls_base "https://github.com/dalthviz/napari/tree/layer_controls_widgets/napari/_qt/layer_controls/widgets/qt_widget_controls_base.py" _blank
	subgraph module.napari._qt[napari._qt]
		 napari._qt.layer_controls
	end
	class module.napari._qt subgraphs
	subgraph module.napari._qt.layer_controls[napari._qt.layer_controls]
		 napari._qt.layer_controls.qt_image_controls
		 napari._qt.layer_controls.qt_image_controls_base
		 napari._qt.layer_controls.qt_labels_controls
		 napari._qt.layer_controls.qt_layer_controls_base
		 napari._qt.layer_controls.qt_layer_controls_container
		 napari._qt.layer_controls.qt_points_controls
		 napari._qt.layer_controls.qt_shapes_controls
		 napari._qt.layer_controls.qt_surface_controls
		 napari._qt.layer_controls.qt_tracks_controls
		 napari._qt.layer_controls.qt_vectors_controls
		 napari._qt.layer_controls.widgets
	end
	class module.napari._qt.layer_controls subgraphs
	subgraph module.napari._qt.layer_controls.widgets[napari._qt.layer_controls.widgets]
		 napari._qt.layer_controls.widgets._image
		 napari._qt.layer_controls.widgets._labels
		 napari._qt.layer_controls.widgets._points
		 napari._qt.layer_controls.widgets._shapes
		 napari._qt.layer_controls.widgets._surface
		 napari._qt.layer_controls.widgets._tracks
		 napari._qt.layer_controls.widgets._vectors
		 napari._qt.layer_controls.widgets.qt_autoscale_control
		 napari._qt.layer_controls.widgets.qt_colormap_control
		 napari._qt.layer_controls.widgets.qt_contrast_limits
		 napari._qt.layer_controls.widgets.qt_face_color
		 napari._qt.layer_controls.widgets.qt_gamma_slider
		 napari._qt.layer_controls.widgets.qt_opacity_blending_controls
		 napari._qt.layer_controls.widgets.qt_out_slice_checkbox
		 napari._qt.layer_controls.widgets.qt_text_visibility
		 napari._qt.layer_controls.widgets.qt_widget_controls_base
	end
	class module.napari._qt.layer_controls.widgets subgraphs
	subgraph module.napari._qt.layer_controls.widgets._image[napari._qt.layer_controls.widgets._image]
		 napari._qt.layer_controls.widgets._image.qt_depiction_control
		 napari._qt.layer_controls.widgets._image.qt_interpolation_combobox
		 napari._qt.layer_controls.widgets._image.qt_render_control
	end
	class module.napari._qt.layer_controls.widgets._image subgraphs
	subgraph module.napari._qt.layer_controls.widgets._labels[napari._qt.layer_controls.widgets._labels]
		 napari._qt.layer_controls.widgets._labels.qt_brush_size_slider
		 napari._qt.layer_controls.widgets._labels.qt_color_mode_combobox
		 napari._qt.layer_controls.widgets._labels.qt_contiguous_checkbox
		 napari._qt.layer_controls.widgets._labels.qt_contour_spinbox
		 napari._qt.layer_controls.widgets._labels.qt_display_selected_label_checkbox
		 napari._qt.layer_controls.widgets._labels.qt_label_color
		 napari._qt.layer_controls.widgets._labels.qt_ndim_spinbox
		 napari._qt.layer_controls.widgets._labels.qt_preserve_labels_checkbox
		 napari._qt.layer_controls.widgets._labels.qt_render_control
	end
	class module.napari._qt.layer_controls.widgets._labels subgraphs
	subgraph module.napari._qt.layer_controls.widgets._points[napari._qt.layer_controls.widgets._points]
		 napari._qt.layer_controls.widgets._points.qt_border_color
		 napari._qt.layer_controls.widgets._points.qt_current_size_slider
		 napari._qt.layer_controls.widgets._points.qt_symbol_combobox
	end
	class module.napari._qt.layer_controls.widgets._points subgraphs
	subgraph module.napari._qt.layer_controls.widgets._shapes[napari._qt.layer_controls.widgets._shapes]
		 napari._qt.layer_controls.widgets._shapes.qt_edge_color
		 napari._qt.layer_controls.widgets._shapes.qt_edge_width_slider
	end
	class module.napari._qt.layer_controls.widgets._shapes subgraphs
	subgraph module.napari._qt.layer_controls.widgets._surface[napari._qt.layer_controls.widgets._surface]
		 napari._qt.layer_controls.widgets._surface.qt_shading_combobox
	end
	class module.napari._qt.layer_controls.widgets._surface subgraphs
	subgraph module.napari._qt.layer_controls.widgets._tracks[napari._qt.layer_controls.widgets._tracks]
		 napari._qt.layer_controls.widgets._tracks.qt_color_properties_combobox
		 napari._qt.layer_controls.widgets._tracks.qt_colormap_control
		 napari._qt.layer_controls.widgets._tracks.qt_graph_checkbox
		 napari._qt.layer_controls.widgets._tracks.qt_head_slider
		 napari._qt.layer_controls.widgets._tracks.qt_id_checkbox
		 napari._qt.layer_controls.widgets._tracks.qt_tail_control
	end
	class module.napari._qt.layer_controls.widgets._tracks subgraphs
	subgraph module.napari._qt.layer_controls.widgets._vectors[napari._qt.layer_controls.widgets._vectors]
		 napari._qt.layer_controls.widgets._vectors.qt_edge_color
		 napari._qt.layer_controls.widgets._vectors.qt_line_dimension_spinbox
		 napari._qt.layer_controls.widgets._vectors.qt_vector_style_combobox
	end
	class module.napari._qt.layer_controls.widgets._vectors subgraphs
	classDef subgraphs fill:white,strock:black,color:black;	classDef default fill:#00c3ff,color:black;
	linkStyle default stroke:#00c3ff
	classDef external fill:#ffa600,color:black;
Loading

Source code directory layout related to layer controls

napari/
└─_qt/
  └─layer_controls/
    ├─qt_image_controls.py
    ├─qt_image_controls_base.py
    ├─qt_labels_controls.py
    ├─qt_layer_controls_base.py
    ├─qt_layer_controls_container.py
    ├─qt_points_controls.py
    ├─qt_shapes_controls.py
    ├─qt_surface_controls.py
    ├─qt_tracks_controls.py
    ├─qt_vectors_controls.py
    ├─widgets/
    │ ├─qt_autoscale_control.py
    │ ├─qt_colormap_control.py
    │ ├─qt_contrast_limits.py
    │ ├─qt_face_color.py
    │ ├─qt_gamma_slider.py
    │ ├─qt_opacity_blending_controls.py
    │ ├─qt_out_slice_checkbox.py
    │ ├─qt_text_visibility.py
    │ ├─qt_widget_controls_base.py
    │ ├─_image/
    │ │ ├─qt_depiction_control.py
    │ │ ├─qt_interpolation_combobox.py
    │ │ ├─qt_render_control.py
    │ │ └─__init__.py
    │ ├─_labels/
    │ │ ├─qt_brush_size_slider.py
    │ │ ├─qt_color_mode_combobox.py
    │ │ ├─qt_contiguous_checkbox.py
    │ │ ├─qt_contour_spinbox.py
    │ │ ├─qt_display_selected_label_checkbox.py
    │ │ ├─qt_label_color.py
    │ │ ├─qt_ndim_spinbox.py
    │ │ ├─qt_preserve_labels_checkbox.py
    │ │ ├─qt_render_control.py
    │ │ └─__init__.py
    │ ├─_points/
    │ │ ├─qt_border_color.py
    │ │ ├─qt_current_size_slider.py
    │ │ ├─qt_symbol_combobox.py
    │ │ └─__init__.py
    │ ├─_shapes/
    │ │ ├─qt_edge_color.py
    │ │ ├─qt_edge_width_slider.py
    │ │ └─__init__.py
    │ ├─_surface/
    │ │ ├─qt_shading_combobox.py
    │ │ └─__init__.py
    │ ├─_tracks/
    │ │ ├─qt_colormap_control.py
    │ │ ├─qt_color_properties_combobox.py
    │ │ ├─qt_graph_checkbox.py
    │ │ ├─qt_head_slider.py
    │ │ ├─qt_id_checkbox.py
    │ │ ├─qt_tail_control.py
    │ │ └─__init__.py
    │ ├─_vectors/
    │ │ ├─qt_edge_color.py
    │ │ ├─qt_line_dimension_spinbox.py
    │ │ ├─qt_vector_style_combobox.py
    │ │ └─__init__.py
    │ └─__init__.py
    └─__init__.py

Notes

@dalthviz dalthviz self-assigned this Nov 8, 2024
@github-actions github-actions bot added the qt Relates to qt label Nov 8, 2024
@willingc willingc added needs:discussion Needs further discussion needs:out-of-draft Needs transition from draft to ready for review and removed needs:discussion Needs further discussion labels Nov 10, 2024
@github-actions github-actions bot added the tests Something related to our tests label Nov 21, 2024
Copy link
codecov bot commented Nov 22, 2024

Codecov Report

Attention: Patch coverage is 97.18805% with 48 lines in your changes missing coverage. Please review.

Project coverage is 93.02%. Comparing base (a930049) to head (eae2741).

Files with missing lines Patch % Lines
.../_qt/layer_controls/widgets/qt_colormap_control.py 84.09% 14 Missing ⚠️
...t/layer_controls/widgets/_vectors/qt_edge_color.py 85.88% 12 Missing ⚠️
...t/layer_controls/widgets/_labels/qt_label_color.py 95.69% 4 Missing ⚠️
...controls/widgets/_labels/qt_color_mode_combobox.py 90.90% 3 Missing ⚠️
...r_controls/widgets/_shapes/qt_edge_width_slider.py 91.66% 3 Missing ⚠️
...yer_controls/widgets/_points/qt_symbol_combobox.py 93.75% 2 Missing ⚠️
...i/_qt/layer_controls/widgets/qt_text_visibility.py 93.33% 2 Missing ⚠️
.../layer_controls/widgets/qt_widget_controls_base.py 89.47% 2 Missing ⚠️
...ntrols/widgets/_image/qt_interpolation_combobox.py 97.14% 1 Missing ⚠️
...controls/widgets/_points/qt_current_size_slider.py 97.77% 1 Missing ⚠️
... and 4 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7355      +/-   ##
==========================================
+ Coverage   92.92%   93.02%   +0.09%     
==========================================
  Files         647      690      +43     
  Lines       60975    61482     +507     
==========================================
+ Hits        56664    57196     +532     
+ Misses       4311     4286      -25     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dalthviz dalthviz changed the title Layer controls widgets refactor [WIP] Layer controls widgets refactor Nov 27, 2024
@dalthviz
Copy link
Member Author

Note: Some code clean up and docstrings changes are still needed but marking this as ready for review in case someone wants to give feedback

@dalthviz dalthviz marked this pull request as ready for review November 27, 2024 15:53
@dalthviz dalthviz requested a review from Czaki as a code owner November 27, 2024 15:53
dalthviz and others added 2 commits February 16, 2025 12:18
@dalthviz dalthviz marked this pull request as draft February 17, 2025 03:48
@willingc willingc added the needs:out-of-draft Needs transition from draft to ready for review label Feb 17, 2025
@dalthviz dalthviz force-pushed the layer_controls_widgets branch from a09639c to 2a7735c Compare February 24, 2025 01:59
@dalthviz dalthviz force-pushed the layer_controls_widgets branch from bd482ea to e50515e Compare February 24, 2025 03:15
@jni
Copy link
Member
jni commented Mar 3, 2025

@dalthviz should we pull this out of draft? Thank you for the continuous updates, I know it's not easy!!! 🙏

@dalthviz
Copy link
Member Author
dalthviz commented Mar 3, 2025

Hi @jni! I think there are still a couple of comments to address before this is ready for another review so probably is still better to leave this as a draft. I would say that the three main things to do are:

Also, I think I will probably have some time over the weekend to work on those things but if someone has time and wants to tackle those right now go ahead :)

@willingc willingc mentioned this pull request Mar 14, 2025
6 tasks
@willingc
Copy link
Collaborator

Hi @dalthviz, You've put a bunch of work into this PR. No pressure but would you like this to go into 0.6.0. If so, Friday is the release date for 0.6.0a1. If you think it would be better to have in 0.7.0, we can adust the milestone.

@jni fyi

@dalthviz
Copy link
Member Author

Hi there @willingc ! I don't think I will have time to do further changes here before Friday so leaving this for 0.7.0 makes sense to me 👍

@willingc willingc modified the milestones: 0.6.0, 0.7.0, 0.6.1 Mar 19, 2025
@TimMonko TimMonko modified the milestones: 0.6.1, 0.6.2 May 13, 2025
@TimMonko TimMonko modified the milestones: 0.6.2, 0.7.0 Jun 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance PR with maintance changes, needs:out-of-draft Needs transition from draft to ready for review needs:review Needs initial review (contributors and core-devs) qt Relates to qt tests Something related to our tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants
0