python-matplotlib/matplotlib_gtk_tooltip.patch

82 lines
3.2 KiB
Diff

--- lib/matplotlib/backends/backend_gtk.py 2010/02/18 14:54:30 8141
+++ lib/matplotlib/backends/backend_gtk.py 2010/03/20 22:49:25 8203
@@ -17,6 +17,8 @@
% (gtk.pygtk_version + pygtk_version_required))
del pygtk_version_required
+_new_tooltip_api = (gtk.pygtk_version[1] >= 12)
+
import matplotlib
from matplotlib import verbose
from matplotlib._pylab_helpers import Gcf
@@ -448,7 +450,7 @@
# diong a blanket catch here, but an not sure what a
# better way is - JDH
verbose.report('Could not load matplotlib icon: %s' % sys.exc_info()[1])
-
+
self.vbox = gtk.VBox()
self.window.add(self.vbox)
self.vbox.show()
@@ -618,7 +620,8 @@
def _init_toolbar2_4(self):
basedir = os.path.join(matplotlib.rcParams['datapath'],'images')
- self.tooltips = gtk.Tooltips()
+ if not _new_tooltip_api:
+ self.tooltips = gtk.Tooltips()
for text, tooltip_text, image_file, callback in self.toolitems:
if text is None:
@@ -630,7 +633,10 @@
tbutton = gtk.ToolButton(image, text)
self.insert(tbutton, -1)
tbutton.connect('clicked', getattr(self, callback))
- tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private')
+ if _new_tooltip_api:
+ tbutton.set_tooltip_text(tooltip_text)
+ else:
+ tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private')
toolitem = gtk.SeparatorToolItem()
self.insert(toolitem, -1)
@@ -760,7 +766,8 @@
def _create_toolitems_2_4(self):
# use the GTK+ 2.4 GtkToolbar API
iconSize = gtk.ICON_SIZE_SMALL_TOOLBAR
- self.tooltips = gtk.Tooltips()
+ if not _new_tooltip_api:
+ self.tooltips = gtk.Tooltips()
for text, tooltip_text, image_num, callback, callback_arg, scroll \
in self.toolitems:
@@ -778,15 +785,22 @@
tbutton.connect('clicked', getattr(self, callback))
if scroll:
tbutton.connect('scroll_event', getattr(self, callback))
- tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private')
+ if _new_tooltip_api:
+ tbutton.set_tooltip_text(tooltip_text)
+ else:
+ tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private')
# Axes toolitem, is empty at start, update() adds a menu if >=2 axes
self.axes_toolitem = gtk.ToolItem()
self.insert(self.axes_toolitem, 0)
- self.axes_toolitem.set_tooltip (
- self.tooltips,
- tip_text='Select axes that controls affect',
- tip_private = 'Private')
+ if _new_tooltip_api:
+ self.axes_toolitem.set_tooltip_text(
+ 'Select axes that controls affect')
+ else:
+ self.axes_toolitem.set_tooltip (
+ self.tooltips,
+ tip_text='Select axes that controls affect',
+ tip_private = 'Private')
align = gtk.Alignment (xalign=0.5, yalign=0.5, xscale=0.0, yscale=0.0)
self.axes_toolitem.add(align)