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

Skip to content

Commit e014266

Browse files
committed
Deprecate GTKAgg and GTKCairo backends.
They require pygtk, which does not build on Python 3. Thus, they could never be supported in mpl 3 anyway. The last major release of GTK2 was 7 years ago (though bugfixes have been released in the meantime), so it's rather outdated.
1 parent 83d614b commit e014266

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

lib/matplotlib/backends/backend_gtkagg.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import six
88

99
import matplotlib
10+
from matplotlib.cbook import warn_deprecated
1011
from matplotlib.backends.backend_agg import FigureCanvasAgg
1112
from matplotlib.backends.backend_gtk import (
1213
gtk, _BackendGTK, FigureCanvasGTK, FigureManagerGTK, NavigationToolbar2GTK,
@@ -34,6 +35,16 @@ class FigureCanvasGTKAgg(FigureCanvasGTK, FigureCanvasAgg):
3435
filetypes = FigureCanvasGTK.filetypes.copy()
3536
filetypes.update(FigureCanvasAgg.filetypes)
3637

38+
def __init__(self, *args, **kwargs):
39+
warn_deprecated('2.2',
40+
message=('The GTKAgg backend is deprecated. It is '
41+
'untested and will be removed in Matplotlib '
42+
'3.0. Use the GTK3Agg backend instead. See '
43+
'Matplotlib usage FAQ for more info on '
44+
'backends.'),
45+
alternative='GTK3Agg')
46+
super(FigureCanvasGTKAgg, self).__init__(*args, **kwargs)
47+
3748
def configure_event(self, widget, event=None):
3849

3950
if widget.window is None:

lib/matplotlib/backends/backend_gtkcairo.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,16 @@ class FigureCanvasGTKCairo(backend_cairo.FigureCanvasCairo, FigureCanvasGTK):
3333
filetypes = FigureCanvasGTK.filetypes.copy()
3434
filetypes.update(backend_cairo.FigureCanvasCairo.filetypes)
3535

36+
def __init__(self, *args, **kwargs):
37+
warn_deprecated('2.2',
38+
message=('The GTKCairo backend is deprecated. It is '
39+
'untested and will be removed in Matplotlib '
40+
'3.0. Use the GTK3Cairo backend instead. See '
41+
'Matplotlib usage FAQ for more info on '
42+
'backends.'),
43+
alternative='GTK3Cairo')
44+
super(FigureCanvasGTKCairo, self).__init__(*args, **kwargs)
45+
3646
def _renderer_init(self):
3747
"""Override to use cairo (rather than GDK) renderer"""
3848
self._renderer = RendererGTKCairo(self.figure.dpi)

0 commit comments

Comments
 (0)