SubplotParams.validate-associated fixes. #20170
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.
SubplotParams.validate was previously only used in SubplotTool so that
when resetting the SubplotParams, a temporarily invalid SubplotParams
would be ignored. But the temporary
validate = False
was put at thewrong place (it should wrap
_on_reset
's implementation, not itsattachment to
buttonreset
). Indeed, setting e.g. "left" to 0.0 and"right" to 0.01 and then pressing reset (when using e.g. tk) would throw
an exception (because "left" would first be reset to 0.125 before
"right" gets reset to 0.9, and the intermediate state is invalid).
Instead, just use the already existing
Widgets.eventson
mechanism totemporarily disable updates.
Also apply the corresponding change for Qt's own SubplotTool.
Deprecate the then unused (and undocumented) SubplotParams.validate; in
order to keep it writable during the deprecation period, slightly tweak
the implementation of _deprecate_privatize_attribute.
PR Summary
PR Checklist
pytest
passes).flake8
on changed files to check).flake8-docstrings
and runflake8 --docstring-convention=all
).doc/users/next_whats_new/
(follow instructions in README.rst there).doc/api/next_api_changes/
(follow instructions in README.rst there).