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

Skip to content

Inherit OffsetBox.get_window_extent. #23907

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
Oct 11, 2022
Merged

Inherit OffsetBox.get_window_extent. #23907

merged 1 commit into from
Oct 11, 2022

Conversation

anntzer
Copy link
Contributor

@anntzer anntzer commented Sep 16, 2022

Adjust OffsetBox.get_window_extent to use get_extent (which is typically redefined in subclasses) instead of get_extent_offsets (which is not), and make it check whether the current class' get_offset takes any arguments or not (which is not consistent, but fixing that requires some backcompat work).

Also set the offset-getter of AnchoredOffsetbox as a fixed method on the class, rather than dynamicaly setting in that class' get_extent_offset.

These changes then let us inherit the implementation of OffsetBox.get_window_extent across most subclasses instead of having to copy-paste it again and again.

This mostly replaces #21699 without touching the more complex question of changing/harmonizing the signature of get_offset.

PR Summary

PR Checklist

Tests and Styling

  • Has pytest style unit tests (and pytest passes).
  • Is Flake 8 compliant (install flake8-docstrings and run flake8 --docstring-convention=all).

Documentation

  • New features are documented, with examples if plot related.
  • 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).
  • Documentation is sphinx and numpydoc compliant (the docs should build without error).

@tacaswell tacaswell added this to the v3.7.0 milestone Sep 16, 2022
Adjust OffsetBox.get_window_extent to use get_extent (which is typically
redefined in subclasses) instead of get_extent_offsets (which is not),
and make it check whether the current class' get_offset takes any
arguments or not (which is not consistent, but fixing that requires some
backcompat work).

Also set the offset-getter of AnchoredOffsetbox as a fixed method on the
class, rather than dynamicaly setting in that class' get_extent_offset.

These changes then let us inherit the implementation of
OffsetBox.get_window_extent across most subclasses instead of having to
copy-paste it again and again.
@anntzer
Copy link
Contributor Author

anntzer commented Oct 10, 2022

@timhoffm I have handled your comment re: signature checking.

@timhoffm timhoffm merged commit 6c9c44d into matplotlib:main Oct 11, 2022
@anntzer anntzer deleted the ogwe branch October 11, 2022 06:36
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