egui/crates
Emil Ernerfeldt 41aad74552
Cross-widget text select (#3870)
* Closes https://github.com/emilk/egui/issues/3816


![cross-widget-text-selection](https://github.com/emilk/egui/assets/1148717/5582b9d2-8b04-47b7-9637-f48e44064a70)

Turn off with `style.interaction.multi_widget_text_select`.

There is an API for this in `LabelSelectionState`, but it's pretty
bare-bones.

This became really hairy implementation-wise, but it works decently
well.

# Limitations
* Drag-select to scroll doesn't work
* A selection disappears if you scroll past one of its end-points
* Only the text of labels and links are selectable
 
## TODO
* [x] An option to turn it off
* [x] An API for querying about the selected text, and to deselect it.
* [x] Scrolling past selection behaves weird
* [x] Shift-click to select a range
2024-01-24 15:45:22 +01:00
..
ecolor Use `Self` everywhere (#3787) 2024-01-08 17:41:21 +01:00
eframe `egui-wgpu`: turn off the default features of `wgpu` (#3875) 2024-01-24 09:43:40 +01:00
egui Cross-widget text select (#3870) 2024-01-24 15:45:22 +01:00
egui-wgpu `egui-wgpu`: turn off the default features of `wgpu` (#3875) 2024-01-24 09:43:40 +01:00
egui-winit `egui_winit`: Allow getting the `clipboard` and `allow_ime` state (#3724) 2024-01-23 12:49:28 +01:00
egui_demo_app Update wgpu to 0.19 (#3824) 2024-01-19 10:14:13 +01:00
egui_demo_lib Cross-widget text select (#3870) 2024-01-24 15:45:22 +01:00
egui_extras Use a selectable label for syntax-highlighted text in egui_extras 2024-01-22 14:47:58 +01:00
egui_glow Update wgpu to 0.19 (#3824) 2024-01-19 10:14:13 +01:00
egui_plot Make `egui_plot::PlotMemory` public (#3871) 2024-01-23 09:47:47 +01:00
egui_web Fix typos (#2866) 2023-04-18 15:52:45 +02:00
emath Cross-widget text select (#3870) 2024-01-24 15:45:22 +01:00
epaint Cross-widget text select (#3870) 2024-01-24 15:45:22 +01:00