Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5da78fd

Browse files
QuLogicmeeseeksmachine
authored andcommitted
Backport PR#28171: Support removing absent tools from ToolContainerBase.
1 parent59f83a0 commit5da78fd

File tree

6 files changed

+11
-20
lines changed

6 files changed

+11
-20
lines changed

‎lib/matplotlib/backend_bases.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3459,6 +3459,10 @@ def remove_toolitem(self, name):
34593459
backend-specific code to remove an element from the toolbar; it is
34603460
called when `.ToolManager` emits a `tool_removed_event`.
34613461
3462+
Because some tools are present only on the `.ToolManager` but not on
3463+
the `ToolContainer`, this method must be a no-op when called on a tool
3464+
absent from the container.
3465+
34623466
.. warning::
34633467
This is part of the backend implementation and should
34643468
not be called by end-users. They should instead call

‎lib/matplotlib/backends/_backend_tk.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,9 +1011,8 @@ def toggle_toolitem(self, name, toggled):
10111011
toolitem.deselect()
10121012

10131013
defremove_toolitem(self,name):
1014-
fortooliteminself._toolitems[name]:
1014+
fortooliteminself._toolitems.pop(name, []):
10151015
toolitem.pack_forget()
1016-
delself._toolitems[name]
10171016

10181017
defset_message(self,s):
10191018
self._message.set(s)

‎lib/matplotlib/backends/backend_gtk3.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -446,15 +446,10 @@ def toggle_toolitem(self, name, toggled):
446446
toolitem.handler_unblock(signal)
447447

448448
defremove_toolitem(self,name):
449-
ifnamenotinself._toolitems:
450-
self.toolmanager.message_event(f'{name} not in toolbar',self)
451-
return
452-
453-
forgroupinself._groups:
454-
fortoolitem,_signalinself._toolitems[name]:
449+
fortoolitem,_signalinself._toolitems.pop(name, []):
450+
forgroupinself._groups:
455451
iftooliteminself._groups[group]:
456452
self._groups[group].remove(toolitem)
457-
delself._toolitems[name]
458453

459454
def_add_separator(self):
460455
sep=Gtk.Separator()

‎lib/matplotlib/backends/backend_gtk4.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -475,15 +475,10 @@ def toggle_toolitem(self, name, toggled):
475475
toolitem.handler_unblock(signal)
476476

477477
defremove_toolitem(self,name):
478-
ifnamenotinself._toolitems:
479-
self.toolmanager.message_event(f'{name} not in toolbar',self)
480-
return
481-
482-
forgroupinself._groups:
483-
fortoolitem,_signalinself._toolitems[name]:
478+
fortoolitem,_signalinself._toolitems.pop(name, []):
479+
forgroupinself._groups:
484480
iftooliteminself._groups[group]:
485481
self._groups[group].remove(toolitem)
486-
delself._toolitems[name]
487482

488483
def_add_separator(self):
489484
sep=Gtk.Separator()

‎lib/matplotlib/backends/backend_qt.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,9 +1007,8 @@ def toggle_toolitem(self, name, toggled):
10071007
button.toggled.connect(handler)
10081008

10091009
defremove_toolitem(self,name):
1010-
forbutton,handlerinself._toolitems[name]:
1010+
forbutton,handlerinself._toolitems.pop(name, []):
10111011
button.setParent(None)
1012-
delself._toolitems[name]
10131012

10141013
defset_message(self,s):
10151014
self.widgetForAction(self._message_action).setText(s)

‎lib/matplotlib/backends/backend_wx.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1257,9 +1257,8 @@ def toggle_toolitem(self, name, toggled):
12571257
self.Refresh()
12581258

12591259
defremove_toolitem(self,name):
1260-
fortool,handlerinself._toolitems[name]:
1260+
fortool,handlerinself._toolitems.pop(name, []):
12611261
self.DeleteTool(tool.Id)
1262-
delself._toolitems[name]
12631262

12641263
defset_message(self,s):
12651264
self._label_text.SetLabel(s)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp