Deprecate Locator.refresh and associated helpers. #16963
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Locator.refresh()
was called at certain places to let locators updatetheir internal state, typically based on the axis limits. Instead, they
can just always consult the axis limits when called, if needed. (This
should be more robust -- otherwise, a call to a locator basically always
needs to be preceded to a call to
refresh()
to ensure gettingup-to-date results.)
The deprecation is made slightly complex by the fact that we need to
check whether the user is using a third-party locator which overrides
refresh()
, and warn in that case.The associated helper methods
NavigationToolbar2.draw()
andToolViewsPositions.refresh_locators()
(which calledrefresh()
andthen
canvas.draw_idle()
are deprecated, and should be replaced bycalls to
draw_idle()
on the corresponding canvas once the deprecationperiod ends.
Followup to #15606.
PR Summary
PR Checklist