-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Editable annotations and persistent selection overlays #12468
Conversation
d4a92c9
to
d57a4b8
Compare
Codecov Report
@@ Coverage Diff @@
## branch-3.1 #12468 +/- ##
==============================================
+ Coverage 92.29% 92.30% +0.01%
==============================================
Files 314 314
Lines 19727 19755 +28
==============================================
+ Hits 18207 18235 +28
Misses 1520 1520 |
d57a4b8
to
0885ffc
Compare
5a6fa70
to
0c4f636
Compare
Thanks, this is really useful functionality. For the TODO of Another possible item for the TODO list is support for For persisting of the overlay when switching tools I've had some success in other work by switching the |
efbc27b
to
89762b1
Compare
b977069
to
7275b4b
Compare
b57e960
to
331d1ae
Compare
49c3bc5
to
94d4754
Compare
94d4754
to
9cca74b
Compare
95f59ae
to
d2dc2f4
Compare
593066e
to
5152871
Compare
42e8810
to
010d1a5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All my comments have been dealt with, so I am approving this.
There are some test failures.
010d1a5
to
b984856
Compare
b984856
to
4e14d6e
Compare
4e14d6e
to
10ca016
Compare
This is fully ready now. More testing and documentation will follow next week. Unless there are any objections, I would like to merged this soon. |
* Add support for persistent box selection * Add support for hover to BoxAnnotation * Improved handling of Escape key * Add BoxSelectTool.persistent property * Respect *_units in BoxSelectToolView * Add persistent_selections example * Update RangeTool's unit tests * Make box overlays always editable * Improve edge detection for small distances * Use data units by default in box select overlay * More intuitive tool button press handling * Show tool button menu with space bar when active * Respect key modifiers when editing selections * Allow to persist selection overlays across tool changes * Allow more specific self in computed defaults * Allow to limit resizing and movement of boxes * First clear selection overlay then the selection * Expose alt_key modifier in UI events * Add support for symmetric box resizing * Redesign RangeTool using editable BoxAnnotation * Validate box when flipping sides during resizing * Very rudimentary support for rounded corners * Preliminary support for auto-ranging of annotations * Include BoxAnnotation in *.blf files * Add support for editable PolyAnnotation * Add support for persistent poly and lasso select * Use BBox in serializable state * Add edge detection to PolyAnnotation * Add support for editable Span annotation * Allow Arrayable PolyAnnotation.{xs,ys} * Use alt key for continuous selection * Very rudimentary support for event propagation * Finalize persistent poly/lasso selections * Increase bundle size allowance * Robustify handling of mappers in poly annotation * Propagate hover in range tool's overlay * Simplify mapper resolution in BoxAnnotation * Implement pinch/rotate in UIEvents Also prevents default if pan/pinch/rotate is performed. * Add support for pinch resize to BoxAnnotation * Generalize border_radius in BoxAnnotation * Update implementation after the rebase * Don't use unnecessary 'let' in select_tool.ts * Remove dead code from select_tool.ts * Extract common logic into RegionSelectTool * Allow only one persistent selection overlay * Refactor persistent_selections example * RangeTool is not a gesture tool anymore * Don't select via edit before finished * Add visual regression tests For bokeh#5829, bokeh#8081, bokeh#9047 and bokeh#9381. * Fix argument names in GlyphAPI.block() * Don't fail catastrophically in BBox.from_lrtb() * Add editable BoxAnnotation visual tests * Allow to capture state at image capture time
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Extracted relevant changes from PR #12074.
TODO:
select_every_mousemove
dimension != "both"
origin == "center"
RangeTool
using editable annotationsselect_every_mousemove
These are partially done in separate work:
Example (from #12074, but it works the same here):
Screencast.2022-04-01.23.53.28.mp4