Thanks to visit codestin.com
Credit goes to github.com

Skip to content

SubplotParams.validate-associated fixes. #20170

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

Merged
merged 1 commit into from
May 14, 2021
Merged

Conversation

anntzer
Copy link
Contributor

@anntzer anntzer commented May 6, 2021

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 the
wrong place (it should wrap _on_reset's implementation, not its
attachment 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 to
temporarily 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

  • Has pytest style unit tests (and pytest passes).
  • Is Flake 8 compliant (run flake8 on changed files to check).
  • New features are documented, with examples if plot related.
  • Documentation is sphinx and numpydoc compliant (the docs should build without error).
  • Conforms to Matplotlib style conventions (install flake8-docstrings and run flake8 --docstring-convention=all).
  • New features have an entry in doc/users/next_whats_new/ (follow instructions in README.rst there).
  • API changes documented in doc/api/next_api_changes/ (follow instructions in README.rst there).

@anntzer anntzer added this to the v3.5.0 milestone May 6, 2021
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 the
wrong place (it should wrap `_on_reset`'s implementation, not its
attachment 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 to
temporarily 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.
@timhoffm timhoffm merged commit 33e51a5 into matplotlib:master May 14, 2021
@anntzer anntzer deleted the spv branch May 14, 2021 10:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants