Revision: 7166
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7166&view=rev
Author:   efiring
Date:     2009-06-01 17:16:06 +0000 (Mon, 01 Jun 2009)

Log Message:
-----------
Removed support for gtk < 2.4

Modified Paths:
--------------
    trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py

Modified: trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py     2009-05-29 
21:45:55 UTC (rev 7165)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py     2009-06-01 
17:16:06 UTC (rev 7166)
@@ -10,7 +10,7 @@
 except ImportError:
     raise ImportError("Gtk* backend requires pygtk to be installed.")
 
-pygtk_version_required = (2,2,0)
+pygtk_version_required = (2,4,0)
 if gtk.pygtk_version < pygtk_version_required:
     raise ImportError ("PyGTK %d.%d.%d is installed\n"
                       "PyGTK %d.%d.%d or later is required"
@@ -606,37 +606,9 @@
 
     def _init_toolbar(self):
         self.set_style(gtk.TOOLBAR_ICONS)
+        self._init_toolbar2_4()
 
-        if gtk.pygtk_version >= (2,4,0):
-            self._init_toolbar2_4()
-        else:
-            self._init_toolbar2_2()
 
-
-    def _init_toolbar2_2(self):
-        basedir = os.path.join(matplotlib.rcParams['datapath'],'images')
-
-        for text, tooltip_text, image_file, callback in self.toolitems:
-            if text is None:
-                 self.append_space()
-                 continue
-
-            fname = os.path.join(basedir, image_file)
-            image = gtk.Image()
-            image.set_from_file(fname)
-            w = self.append_item(text,
-                                 tooltip_text,
-                                 'Private',
-                                 image,
-                                 getattr(self, callback)
-                                 )
-
-        self.append_space()
-
-        self.message = gtk.Label()
-        self.append_widget(self.message, None, None)
-        self.message.show()
-
     def _init_toolbar2_4(self):
         basedir = os.path.join(matplotlib.rcParams['datapath'],'images')
         self.tooltips = gtk.Tooltips()
@@ -668,15 +640,11 @@
         self.show_all()
 
     def get_filechooser(self):
-        if gtk.pygtk_version >= (2,4,0):
-            return FileChooserDialog(
-                title='Save the figure',
-                parent=self.win,
-                filetypes=self.canvas.get_supported_filetypes(),
-                default_filetype=self.canvas.get_default_filetype())
-        else:
-            return FileSelection(title='Save the figure',
-                                 parent=self.win,)
+        return FileChooserDialog(
+            title='Save the figure',
+            parent=self.win,
+            filetypes=self.canvas.get_supported_filetypes(),
+            default_filetype=self.canvas.get_default_filetype())
 
     def save_figure(self, button):
         fname, format = self.get_filechooser().get_filename_from_user()
@@ -768,19 +736,13 @@
 
         self.set_style(gtk.TOOLBAR_ICONS)
 
-        if gtk.pygtk_version >= (2,4,0):
-            self._create_toolitems_2_4()
-            self.update = self._update_2_4
-            self.fileselect = FileChooserDialog(
-                title='Save the figure',
-                parent=self.win,
-                filetypes=self.canvas.get_supported_filetypes(),
-                default_filetype=self.canvas.get_default_filetype())
-        else:
-            self._create_toolitems_2_2()
-            self.update = self._update_2_2
-            self.fileselect = FileSelection(title='Save the figure',
-                                            parent=self.win)
+        self._create_toolitems_2_4()
+        self.update = self._update_2_4
+        self.fileselect = FileChooserDialog(
+            title='Save the figure',
+            parent=self.win,
+            filetypes=self.canvas.get_supported_filetypes(),
+            default_filetype=self.canvas.get_default_filetype())
         self.show_all()
         self.update()
 
@@ -860,46 +822,6 @@
         self.set_active(range(len(self._axes)))
 
 
-    def _create_toolitems_2_2(self):
-        # use the GTK+ 2.2 (and lower) GtkToolbar API
-        iconSize = gtk.ICON_SIZE_SMALL_TOOLBAR
-
-        for text, tooltip_text, image_num, callback, callback_arg, scroll \
-                in self.toolitems:
-            if text is None:
-                self.append_space()
-                continue
-            image = gtk.Image()
-            image.set_from_stock(image_num, iconSize)
-            item = self.append_item(text, tooltip_text, 'Private', image,
-                                    getattr(self, callback), callback_arg)
-            if scroll:
-                item.connect("scroll_event", getattr(self, callback))
-
-        self.omenu = gtk.OptionMenu()
-        self.omenu.set_border_width(3)
-        self.insert_widget(
-            self.omenu,
-            'Select axes that controls affect',
-            'Private', 0)
-
-
-    def _update_2_2(self):
-        # for GTK+ 2.2 and lower
-        # called by __init__() and FigureManagerGTK
-
-        self._axes = self.canvas.figure.axes
-
-        if len(self._axes) >= 2:
-            # set up the axis menu
-            self.omenu.set_menu( self._make_axis_menu() )
-            self.omenu.show_all()
-        else:
-            self.omenu.hide()
-
-        self.set_active(range(len(self._axes)))
-
-
     def _make_axis_menu(self):
         # called by self._update*()
 
@@ -969,15 +891,11 @@
         return True
 
     def get_filechooser(self):
-        if gtk.pygtk_version >= (2,4,0):
-            return FileChooserDialog(
-                title='Save the figure',
-                parent=self.win,
-                filetypes=self.canvas.get_supported_filetypes(),
-                default_filetype=self.canvas.get_default_filetype())
-        else:
-            return FileSelection(title='Save the figure',
-                                 parent=self.win)
+        return FileChooserDialog(
+            title='Save the figure',
+            parent=self.win,
+            filetypes=self.canvas.get_supported_filetypes(),
+            default_filetype=self.canvas.get_default_filetype())
 
     def save_figure(self, button):
         fname, format = self.get_filechooser().get_filename_from_user()
@@ -988,112 +906,81 @@
                 error_msg_gtk(str(e), parent=self)
 
 
-if gtk.pygtk_version >= (2,4,0):
-    class FileChooserDialog(gtk.FileChooserDialog):
-        """GTK+ 2.4 file selector which remembers the last file/directory
-        selected and presents the user with a menu of supported image formats
-        """
-        def __init__ (self,
-                      title   = 'Save file',
-                      parent  = None,
-                      action  = gtk.FILE_CHOOSER_ACTION_SAVE,
-                      buttons = (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
-                                 gtk.STOCK_SAVE,   gtk.RESPONSE_OK),
-                      path    = None,
-                      filetypes = [],
-                      default_filetype = None
-                      ):
-            super (FileChooserDialog, self).__init__ (title, parent, action,
-                                                      buttons)
-            self.set_default_response (gtk.RESPONSE_OK)
+class FileChooserDialog(gtk.FileChooserDialog):
+    """GTK+ 2.4 file selector which remembers the last file/directory
+    selected and presents the user with a menu of supported image formats
+    """
+    def __init__ (self,
+                  title   = 'Save file',
+                  parent  = None,
+                  action  = gtk.FILE_CHOOSER_ACTION_SAVE,
+                  buttons = (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
+                             gtk.STOCK_SAVE,   gtk.RESPONSE_OK),
+                  path    = None,
+                  filetypes = [],
+                  default_filetype = None
+                  ):
+        super (FileChooserDialog, self).__init__ (title, parent, action,
+                                                  buttons)
+        self.set_default_response (gtk.RESPONSE_OK)
 
-            if not path: path = os.getcwd() + os.sep
+        if not path: path = os.getcwd() + os.sep
 
-            # create an extra widget to list supported image formats
-            self.set_current_folder (path)
-            self.set_current_name ('image.' + default_filetype)
+        # create an extra widget to list supported image formats
+        self.set_current_folder (path)
+        self.set_current_name ('image.' + default_filetype)
 
-            hbox = gtk.HBox (spacing=10)
-            hbox.pack_start (gtk.Label ("File Format:"), expand=False)
+        hbox = gtk.HBox (spacing=10)
+        hbox.pack_start (gtk.Label ("File Format:"), expand=False)
 
-            liststore = gtk.ListStore(gobject.TYPE_STRING)
-            cbox = gtk.ComboBox(liststore)
-            cell = gtk.CellRendererText()
-            cbox.pack_start(cell, True)
-            cbox.add_attribute(cell, 'text', 0)
-            hbox.pack_start (cbox)
+        liststore = gtk.ListStore(gobject.TYPE_STRING)
+        cbox = gtk.ComboBox(liststore)
+        cell = gtk.CellRendererText()
+        cbox.pack_start(cell, True)
+        cbox.add_attribute(cell, 'text', 0)
+        hbox.pack_start (cbox)
 
-            self.filetypes = filetypes
-            self.sorted_filetypes = filetypes.items()
-            self.sorted_filetypes.sort()
-            default = 0
-            for i, (ext, name) in enumerate(self.sorted_filetypes):
-                cbox.append_text ("%s (*.%s)" % (name, ext))
-                if ext == default_filetype:
-                    default = i
-            cbox.set_active(default)
-            self.ext = default_filetype
+        self.filetypes = filetypes
+        self.sorted_filetypes = filetypes.items()
+        self.sorted_filetypes.sort()
+        default = 0
+        for i, (ext, name) in enumerate(self.sorted_filetypes):
+            cbox.append_text ("%s (*.%s)" % (name, ext))
+            if ext == default_filetype:
+                default = i
+        cbox.set_active(default)
+        self.ext = default_filetype
 
-            def cb_cbox_changed (cbox, data=None):
-                """File extension changed"""
-                head, filename = os.path.split(self.get_filename())
-                root, ext = os.path.splitext(filename)
-                ext = ext[1:]
-                new_ext = self.sorted_filetypes[cbox.get_active()][0]
-                self.ext = new_ext
+        def cb_cbox_changed (cbox, data=None):
+            """File extension changed"""
+            head, filename = os.path.split(self.get_filename())
+            root, ext = os.path.splitext(filename)
+            ext = ext[1:]
+            new_ext = self.sorted_filetypes[cbox.get_active()][0]
+            self.ext = new_ext
 
-                if ext in self.filetypes:
-                    filename = root + '.' + new_ext
-                elif ext == '':
-                    filename = filename.rstrip('.') + '.' + new_ext
+            if ext in self.filetypes:
+                filename = root + '.' + new_ext
+            elif ext == '':
+                filename = filename.rstrip('.') + '.' + new_ext
 
-                self.set_current_name (filename)
-            cbox.connect ("changed", cb_cbox_changed)
+            self.set_current_name (filename)
+        cbox.connect ("changed", cb_cbox_changed)
 
-            hbox.show_all()
-            self.set_extra_widget(hbox)
+        hbox.show_all()
+        self.set_extra_widget(hbox)
 
-        def get_filename_from_user (self):
-            while True:
-                filename = None
-                if self.run() != int(gtk.RESPONSE_OK):
-                    break
-                filename = self.get_filename()
+    def get_filename_from_user (self):
+        while True:
+            filename = None
+            if self.run() != int(gtk.RESPONSE_OK):
                 break
+            filename = self.get_filename()
+            break
 
-            self.hide()
-            return filename, self.ext
-else:
-    class FileSelection(gtk.FileSelection):
-        """GTK+ 2.2 and lower file selector which remembers the last
-        file/directory selected
-        """
-        def __init__(self, path=None, title='Select a file', parent=None):
-            super(FileSelection, self).__init__(title)
+        self.hide()
+        return filename, self.ext
 
-            if path: self.path = path
-            else:    self.path = os.getcwd() + os.sep
-
-            if parent: self.set_transient_for(parent)
-
-        def get_filename_from_user(self, path=None, title=None):
-            if path:  self.path = path
-            if title: self.set_title(title)
-            self.set_filename(self.path)
-
-            filename = None
-            if self.run() == int(gtk.RESPONSE_OK):
-                self.path = filename = self.get_filename()
-            self.hide()
-
-            ext = None
-            if filename is not None:
-                ext = os.path.splitext(filename)[1]
-                if ext.startswith('.'):
-                    ext = ext[1:]
-            return filename, ext
-
-
 class DialogLineprops:
     """
     A GUI dialog for controlling lineprops


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT 
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian 
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to