René's URL Explorer Experiment


Title: Tabbed gtk3 figuremanager by fariza · Pull Request #2465 · matplotlib/matplotlib · GitHub

Open Graph Title: Tabbed gtk3 figuremanager by fariza · Pull Request #2465 · matplotlib/matplotlib

X Title: Tabbed gtk3 figuremanager by fariza · Pull Request #2465 · matplotlib/matplotlib

Description: Updated description: Main goals of this backend Be able to group figures under the same window, and under the control of the same toolbar Be able to easily modify the toolbar adding and removing toolitems. Main characterstics of the multi-figure-backends The configuration of the figures can be rearranged after creation by detach and reparent methods in the manager. The single-window configuration is OFF by default, the user has to specifically set matplotlib.rcParams['backend.single_window'] = True for this multi-figure functionnality to become visible It is possible to choose the window under wich the figure is going to be placed from the figure instantiation with the parent keyword The multi-figure-toolbar has a add_tool method, that allows the user to implement tools and integrate them to the toolbar without modifing the backend It is possible to use the Navigation keybindings even if the toolbar is disabled. Following the idea of #1849 There is an extra toolitem in the multi-figure-toolbar that SaveAll the figures under the window, not just the current one. The PR includes: The base clases to implement multi-figure-backend multi-figure-toolbar tools that integrate with a multi-figure-toolbar GTK3 Multi-figure-Backend implementation Example of use examples/user_interfaces/multifigure_backend_gtk.py The proposed implementation of the GTK3 The backend display figures inside a notebook instead of separate windows. It is possible to detach and destroy the figures directly from the tabs of the notebook (individual detach and destroy buttons) There is a tool for line managent (The lines tool that was with the GTK3 backend was not working due to the use of deprecated libglade.) There is a tool for axes management I documented base classes following the numpydoc (did my best).

Open Graph Description: Updated description: Main goals of this backend Be able to group figures under the same window, and under the control of the same toolbar Be able to easily modify the toolbar adding and removing t...

X Description: Updated description: Main goals of this backend Be able to group figures under the same window, and under the control of the same toolbar Be able to easily modify the toolbar adding and removing t...

Opengraph URL: https://github.com/matplotlib/matplotlib/pull/2465

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:b2adc61d-9d12-3c08-3ec4-4d18953defd1
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idCA5C:23560F:18EE577:21F3B89:6A536231
html-safe-nonce9d07e4c83667790657d792f3a4e513d2fcae5e9f863a73fc5cdb8f9c04a2f701
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQTVDOjIzNTYwRjoxOEVFNTc3OjIxRjNCODk6NkE1MzYyMzEiLCJ2aXNpdG9yX2lkIjoiNzQzODEzNDYyOTY5MjAzOTcyOSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmaccd4b09ad27ac5dc1e1bd7d138cae2e5948ddfbd430fa9be79f18605c9181d2c3
hovercard-subject-tagpull_request:8637706
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/matplotlib/matplotlib/pull/2465/files
twitter:imagehttps://avatars.githubusercontent.com/u/1490153?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/1490153?s=400&v=4
og:image:altUpdated description: Main goals of this backend Be able to group figures under the same window, and under the control of the same toolbar Be able to easily modify the toolbar adding and removing t...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git
octolytics-dimension-user_id215947
octolytics-dimension-user_loginmatplotlib
octolytics-dimension-repository_id1385122
octolytics-dimension-repository_nwomatplotlib/matplotlib
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1385122
octolytics-dimension-repository_network_root_nwomatplotlib/matplotlib
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release07a982c1d40157c619b364352b704c3ce66bb332
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/matplotlib/matplotlib/pull/2465/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fpull%2F2465%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fpull%2F2465%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=matplotlib%2Fmatplotlib
Reloadhttps://github.com/matplotlib/matplotlib/pull/2465/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/2465/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/2465/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/2465/files
matplotlib https://github.com/matplotlib
matplotlibhttps://github.com/matplotlib/matplotlib
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/2465/files
Notifications https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Fork 8.4k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Star 23k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Code https://github.com/matplotlib/matplotlib
Issues 1.1k https://github.com/matplotlib/matplotlib/issues
Pull requests 408 https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality 0 https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Code https://github.com/matplotlib/matplotlib
Issues https://github.com/matplotlib/matplotlib/issues
Pull requests https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fmatplotlib%2Fmatplotlib%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib%2Fissues%2Fnew%2Fchoose
farizahttps://github.com/fariza
matplotlib:masterhttps://github.com/matplotlib/matplotlib/tree/master
fariza:tabbed-gtk3-figuremanagerhttps://github.com/fariza/matplotlib/tree/tabbed-gtk3-figuremanager
Conversation 22 https://github.com/matplotlib/matplotlib/pull/2465
Commits 20 https://github.com/matplotlib/matplotlib/pull/2465/commits
Checks 0 https://github.com/matplotlib/matplotlib/pull/2465/checks
Files changed https://github.com/matplotlib/matplotlib/pull/2465/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/2465/files
Tabbed gtk3 figuremanager https://github.com/matplotlib/matplotlib/pull/2465/files#top
Show all changes 20 commits https://github.com/matplotlib/matplotlib/pull/2465/files
01b0e78 refactoring FigureManagerBase to include include self in all calls to… fariza Sep 12, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/01b0e784d4fffc297cc85704ba1f7fdaa4e75e9e
ec262ad Modified to use container for figure managers and for toolbars fariza Sep 13, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/ec262ad9ec74c3d15b68c9bdf17862dff067c502
4e1d8c4 Adding standaone savefiguredialog fariza Sep 15, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/4e1d8c456e8891318affd764ee51b4694601c7c8
a7e9968 Subplot tool and save as external clasess, working on weakref to keep… fariza Sep 15, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/a7e99681df1a259ea5efe9c31baba9c6d61e4142
6c13b83 Added external buttons, trying to figure out how to keep track of them fariza Sep 16, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/6c13b8342a0e0c7435e1278786b20eaf2c797853
61d8427 Cleanup, commit to show what can be done fariza Sep 17, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/61d8427b870b1eff8323fbc221430d21e7e37509
b9204e5 Forgot to include external button fariza Sep 17, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/b9204e55014c1f29fa55b35f80195e780bfa6526
0f6023e Placing stuff in backend_bases.py and renaming rc param to single_window fariza Sep 18, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/0f6023e317e7363ae565eec7251cf7e8a7df8a3b
b48e903 renaming rcparam in demo fariza Sep 18, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/b48e903b0add739c7bfc09a093225028ace56938
a7ab976 adding remove_tool and move_tool fariza Sep 18, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/a7ab97625a41ba674c8c8802f22c3217205bb41b
a582aeb Adding passthought **kwargs to add_tool, default value for buttons no… fariza Sep 19, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/a582aeb962c886914fc376a85e0f1aeec2d59a70
375f32e adding tool for lineproperties fariza Sep 20, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/375f32ecde8185643da5413dd760dca6f8314a9c
5ec539f adding saveall images from http://openiconlibrary.sourceforge.net/gal… fariza Sep 24, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/5ec539f963c81a87be1a0f52b9fad88de053f557
ecd3c91 Adding image to saveall tool, changing order to have saveall side to … fariza Sep 25, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/ecd3c9180226c5d1963cf43e45cc8d547b6c3368
0f3abfe Fixing new buttons not showing after toolbar init fariza Sep 26, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/0f3abfe94df6bd1de340113c97c9c3400df095a3
a6bc104 Saveall image uses same original filesave, the colors and motive match fariza Sep 26, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/a6bc104aab9d185df8a9cb7cb9a79d53613b1613
2c06a64 rebase for review fariza Oct 23, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/2c06a643cf88cca601ddeebee78f16d9c4fdb03d
cf80c97 pep8 correction fariza Oct 23, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/cf80c97ffa2b10037c0505e436748a815ce96c72
7033c46 removing backedn_gtk3cairo.py from test_coding_standards fariza Oct 23, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/7033c46a6a70f2cd81b265562b0d5c4a9268ab0b
84a1911 splitting toolbar and figuremanager examples fariza Oct 28, 2013 https://github.com/matplotlib/matplotlib/pull/2465/commits/84a19112b4a7cffcf55263f849b63f6220815927
Clear filters https://github.com/matplotlib/matplotlib/pull/2465/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/2465/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/2465/files
multifigure_backend_gtk3.py https://github.com/matplotlib/matplotlib/pull/2465/files#diff-0184b43a2bd8a22f7d8c40b75c99344c36c3438c943db6173f56c4daa026e152
reconfigurable_toolbar_gtk3.py https://github.com/matplotlib/matplotlib/pull/2465/files#diff-e253226ad21ad1cbbcc10bc1c86d17760b32bab1b1c515344a0b29f52b40706e
backend_bases.py https://github.com/matplotlib/matplotlib/pull/2465/files#diff-c21fb96269cbb9b214edf0c22981b347d8b710abaad167da678242ce8a539bb2
backend_gtk3.py https://github.com/matplotlib/matplotlib/pull/2465/files#diff-b82974fdd131ae34e8637914da0f13f02f0ea4b5c57b7a8a5789a6faad7ebb5a
backend_gtk3agg.py https://github.com/matplotlib/matplotlib/pull/2465/files#diff-8b2efc47ee02c88e494e1978e9d69032b9f8c3cb21542452d24a144345c7f77b
backend_gtk3cairo.py https://github.com/matplotlib/matplotlib/pull/2465/files#diff-ca0e57a7f3d04b5e1cd4080ceb36d653c306b2db4aff6c1fee7f8265c768230d
axes_editor.png https://github.com/matplotlib/matplotlib/pull/2465/files#diff-7715abe6851a5c8362da1a98c39c70da1c8ee3f29f8fed129b1434b96091e012
axes_editor.svg https://github.com/matplotlib/matplotlib/pull/2465/files#diff-f4ae87f1bb8108aabc6d6921fb4c0d2e9635e8932d65883b7af8d977ba1438b4
axes_editor.xpm https://github.com/matplotlib/matplotlib/pull/2465/files#diff-6de4cee5289c850a2387b5e7b708331c9d2a68bdea17e977b591abf14d0a93f2
line_editor.png https://github.com/matplotlib/matplotlib/pull/2465/files#diff-40ee52af418628fb2dbda60f10910548a77c152cb019f389f221736e70997c49
line_editor.svg https://github.com/matplotlib/matplotlib/pull/2465/files#diff-1d6f60ed5bb6438071ef21bef6d6511249de0332589d7abf12356e7712b2382f
line_editor.xpm https://github.com/matplotlib/matplotlib/pull/2465/files#diff-975c10d60d6d5237d2d90a0a8a05a79758ff41f822a9e861a932b9385f6451ed
saveall.png https://github.com/matplotlib/matplotlib/pull/2465/files#diff-a0dbcf935ca90e14f86782df211b113d1735bdb3c3006724aaf8967dd606f299
saveall.ppm https://github.com/matplotlib/matplotlib/pull/2465/files#diff-401b3eabde474c5c081130f01b63dfcc34cc2d76d0d2b68559a950b9bc4ea21f
saveall.svg https://github.com/matplotlib/matplotlib/pull/2465/files#diff-c6c7fb878f77f61a9262435bfcab85e726a25bbe5028fa628509e72b9ac66b6e
saveall.xpm https://github.com/matplotlib/matplotlib/pull/2465/files#diff-6bcf2d802938f3a5bd657685c5c5a541101ec6e94573d10d56051c98ba5480d0
rcsetup.py https://github.com/matplotlib/matplotlib/pull/2465/files#diff-cbdeb0e4217c66c0eab3ff5027da14906cb705419722f8269bc9ccaadd2422b1
test_coding_standards.py https://github.com/matplotlib/matplotlib/pull/2465/files#diff-2d5411fba3f818ae53e1b0003a86610487dff6bcaba159142a0d9b1c3b8a7e10
matplotlibrc.template https://github.com/matplotlib/matplotlib/pull/2465/files#diff-9eaf38a8a7b9d20d5719447762f60b98c69bb8503da6bfa40df69bd2844458cf
examples/user_interfaces/multifigure_backend_gtk3.pyhttps://github.com/matplotlib/matplotlib/pull/2465/files#diff-0184b43a2bd8a22f7d8c40b75c99344c36c3438c943db6173f56c4daa026e152
View file https://github.com/fariza/matplotlib/blob/84a19112b4a7cffcf55263f849b63f6220815927/examples/user_interfaces/multifigure_backend_gtk3.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/2465/{{ revealButtonHref }}
examples/user_interfaces/reconfigurable_toolbar_gtk3.pyhttps://github.com/matplotlib/matplotlib/pull/2465/files#diff-e253226ad21ad1cbbcc10bc1c86d17760b32bab1b1c515344a0b29f52b40706e
View file https://github.com/fariza/matplotlib/blob/84a19112b4a7cffcf55263f849b63f6220815927/examples/user_interfaces/reconfigurable_toolbar_gtk3.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/2465/{{ revealButtonHref }}
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/2465/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.