Title: Splitting navigation and toolbar by fariza · Pull Request #2557 · matplotlib/matplotlib · GitHub
Open Graph Title: Splitting navigation and toolbar by fariza · Pull Request #2557 · matplotlib/matplotlib
X Title: Splitting navigation and toolbar by fariza · Pull Request #2557 · matplotlib/matplotlib
Description: This is in response to the request to split #2465 into several smaller PRs. Goals Main Goal Separate the navigation state from the GUI (or physical) toolbar. Without touching any base class (as much as possible), to avoid forced refactor of other backends. Secondary Goal Add reconfiguration capabilities to the toolbar Implementation The following base classes were added NavigationBase: a derivate of NavigationToolbar2. This is the class that holds the state of the navigation. ToolbarBase: This is the physical or GUI toolbar. with the following new public methods remove_tool add_tool move_tool Includes Gtk3 implementation NavigationGTK3 ToolbarGTK3 Simple example of use examples/user_interfaces/reconfigurable_toolbar_gtk3.py Future If the functionality is worth the effort, and all the backends are ported to use this classes, it will be possible to merge NavigationBase and NavigationToolbar2. Note This is very similar to the idea of #1849 different implementation without touching the bases classes.
Open Graph Description: This is in response to the request to split #2465 into several smaller PRs. Goals Main Goal Separate the navigation state from the GUI (or physical) toolbar. Without touching any base class (as muc...
X Description: This is in response to the request to split #2465 into several smaller PRs. Goals Main Goal Separate the navigation state from the GUI (or physical) toolbar. Without touching any base class (as muc...
Opengraph URL: https://github.com/matplotlib/matplotlib/pull/2557
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:8ac38093-0e74-77aa-8bfe-e77551f77cb1 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | EB7E:24214A:1754C05:1FDDC0B:6A53E510 |
| html-safe-nonce | f135fe228bb2b963646fcf1a440287145c0e3d29e677bbb9e712e34ed8f54cbf |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFQjdFOjI0MjE0QToxNzU0QzA1OjFGRERDMEI6NkE1M0U1MTAiLCJ2aXNpdG9yX2lkIjoiNjc3NDUzNjg5Nzk4NzYwMTY4MCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | ca13f304ae5d98a30324ffb0b4e481bd70a8427602c2f22b14a335ad655f33e7 |
| hovercard-subject-tag | pull_request:9468630 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/matplotlib/matplotlib/pull/2557/files |
| twitter:image | https://avatars.githubusercontent.com/u/1490153?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/1490153?s=400&v=4 |
| og:image:alt | This is in response to the request to split #2465 into several smaller PRs. Goals Main Goal Separate the navigation state from the GUI (or physical) toolbar. Without touching any base class (as muc... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git |
| octolytics-dimension-user_id | 215947 |
| octolytics-dimension-user_login | matplotlib |
| octolytics-dimension-repository_id | 1385122 |
| octolytics-dimension-repository_nwo | matplotlib/matplotlib |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1385122 |
| octolytics-dimension-repository_network_root_nwo | matplotlib/matplotlib |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 07a982c1d40157c619b364352b704c3ce66bb332 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width