-
-
Notifications
You must be signed in to change notification settings - Fork 315
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
Custom interactions #4531
base: master
Are you sure you want to change the base?
Custom interactions #4531
Conversation
Any high level thoughts on this @ffreyer? |
@SimonDanisch I think Makie is very close to becoming the goto library for interactive dashboard. In my opinion, allowing users to customize interactions will help solidify Makie as the best library for complex dashboard. Here's a simple use case which requires the default interactions to change. Right click to drag/pan, left click to control the vertical bar, modifier + left click to box zoom. example.mov |
Thanks! |
I think interactions can go both ways, part of the theme or not part of the theme. They aren't currently part of theme. What's your preference? If you prefer having them be part of the theme, how do you suggest they be added? Doing something like this |
# Conflicts: # CHANGELOG.md # src/makielayout/blocks/axis3d.jl
@SimonDanisch any suggestions for how to make this part of the theme? Or shall it be left as is for now? |
Description
Partially Fixes #3950
The goal of this PR is to allow users to change default interactions, by modifying a global registry.
RectangleZoom
to use the registration functionsregistration_setup!
andderegistration_cleanup!
.RectangleZoom
deactivate when modifier key (if one is defined) is released before the mouse.LimitReset
to be customizable.I understand that a small subset of the interactions can be changed as an argument to Axis, however that doesn't solve the general problem of changing the default values for those interactions. For users that prefer to use non-default values, instead of forcing them to constantly pass a bunch of extra kwargs to Axis, this PR will allow them to specify new defaults, one time.
Type of change
Delete options that do not apply:
Checklist