Skip to content

Commit df34f92

Browse files
committed
Make ToolFullScreen a Tool, not a ToolToggle.
See rationale in changelog entry. Unfortunately, this breaks some backcompat, but keeping shims around seems not trivial (accessing the toggled state, in particular, would need to be implemented per-backend), and backend_tools is provisional anyways...
1 parent 95463c3 commit df34f92

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
``backend_tools.ToolFullScreen`` now inherits from ``ToolBase``, not from ``ToolToggleBase``
2+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3+
`.ToolFullScreen` can only switch between the non-fullscreen
4+
and fullscreen states, but not unconditionally put the window in a given state;
5+
hence the ``enable`` and ``disable`` methods were misleadingly named. Thus,
6+
the `.ToolToggleBase`-related API (``enable``, ``disable``, etc.) was removed.

lib/matplotlib/backend_tools.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -428,16 +428,13 @@ def trigger(self, sender, event, data=None):
428428
mpl.backend_bases.key_press_handler(event, self.figure.canvas)
429429

430430

431-
class ToolFullScreen(ToolToggleBase):
431+
class ToolFullScreen(ToolBase):
432432
"""Tool to toggle full screen."""
433433

434434
description = 'Toggle fullscreen mode'
435435
default_keymap = mpl.rcParams['keymap.fullscreen']
436436

437-
def enable(self, event):
438-
self.figure.canvas.manager.full_screen_toggle()
439-
440-
def disable(self, event):
437+
def trigger(self, sender, event, data=None):
441438
self.figure.canvas.manager.full_screen_toggle()
442439

443440

0 commit comments

Comments
 (0)