-
-
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
Add support for range selection to RangeTool
#13855
Conversation
557b028
to
2535273
Compare
2535273
to
5c8f4b6
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.
@mattpap I would like to have select_gesture
renamed, but apart from that 👍
For me "select" carries a strong notion of choosing "one or several things from a larger set of things". The range tool does not have any action that makes this kind of association for me. Instead I would say that the range tool...
But more broadly, I think that is is understood that interactive tools perform actions on the basis of a series of gestures input from the user. In this context (to me) "start gesture" means "what gesture starts the interaction for this tool". I'd provide the elaboration in the help string: start_gesture = Enum("pan", "tap", "none", default="none", help="""
Which gesture will start a range update interaction in a new location.
When the value is "tap", a new range starts at the location where a single
tap is made. The range is updated continuously while the pointer moves.
Tapping at another location sets the final value of the range.
When the value is "pan", a new range starts at the location where a pointer
drag operation begins. The range is updated continuously while the drag
operation continues. Ending the drag operation sets the final value of the
range.
When the value is "none", only existing range definitions may be updated,
by dragging their edges or interiors.
Configuring this property allows to make this tool simultaneously co-exist
with another tool that would otherwise share a gesture.
""") That (to me) explains everything perfectly clearly, but it's entirely possible that what makes sense to me does not make sense to others. I'm not married to |
@bryevdv, your explanation and docstring make sense to me! If I understand correctly, we are looking for a name for the action (gesture) that would initiate the process of defining the start point and eventually also the end point of a selection. If we want to keep the name short, I can see how start_gesture makes a lot of sense. However, we could also consider a three-word name, if that is in line with our naming conventions. In that case, I'd suggest one of those:
Those (albeit somewhat long) names would include the notion that this gesture is not only for setting the start point but also the end point (i.e. the whole range). Either way, the docstring that you propose helps a lot, and I'd strongly suggest we include that! |
5c8f4b6
to
6ceab9d
Compare
I renamed the property to |
And just |
That's my takeaway from today's CZI meeting, that simple |
I will go ahead and merge this given the existing approval. We can always change the naming convention later. |
This optionally allows users of
RangeTool
to make range selection gesture, typically withpan
gesture. This PR additionally experiments with making this configurable, allowing eitherpan
ortap
(tap
,move
,tap
) gestures, to avoid conflict with other tools.Example of using
pan
gesture to make range selection:Screencast.from.30.04.2024.13.09.49.webm
fixes #13646