[pypy-svn] r7272 - pypy/trunk/src/pypy/translator/tool/pygame

bob at codespeak.net bob at codespeak.net
Tue Nov 16 11:32:08 CET 2004


Author: bob
Date: Tue Nov 16 11:32:08 2004
New Revision: 7272

Modified:
   pypy/trunk/src/pypy/translator/tool/pygame/graphdisplay.py
Log:
add a forward history as well



Modified: pypy/trunk/src/pypy/translator/tool/pygame/graphdisplay.py
==============================================================================
--- pypy/trunk/src/pypy/translator/tool/pygame/graphdisplay.py	(original)
+++ pypy/trunk/src/pypy/translator/tool/pygame/graphdisplay.py	Tue Nov 16 11:32:08 2004
@@ -48,8 +48,7 @@
         'meta q' : 'quit',
         'escape' : 'quit',
         'meta f4' : 'quit',
-        #'meta left' : 'go_back',
-        #'meta right' : 'go_forward',
+        'meta right' : 'layout_forward',
         'meta left': 'layout_back',
         'p' : 'layout_back',
         'backspace' : 'layout_back',
@@ -68,6 +67,7 @@
         super(GraphDisplay, self).__init__()
         self.font = pygame.font.Font(self.STATUSBARFONT, 16)
         self.viewers_history = []
+        self.forward_viewers_history = []
         self.viewer = None
         self.method_cache = {}
         self.key_cache = {}
@@ -101,6 +101,7 @@
     def setlayout(self, layout):
         if self.viewer:
             self.viewers_history.append(self.viewer)
+            del self.forward_viewers_history[:]
         self.layout = layout
         self.viewer = GraphRenderer(self.screen, layout)
         self.zoom_to_fit()
@@ -158,10 +159,18 @@
 
     def layout_back(self):
         if self.viewers_history:
+            self.forward_viewers_history.append(self.viewer)
             self.viewer = self.viewers_history.pop()
             self.layout = self.viewer.graphlayout
             self.updated_viewer()
 
+    def layout_forward(self):
+        if self.forward_viewers_history:
+            self.viewers_history.append(self.viewer)
+            self.viewer = self.forward_viewers_history.pop()
+            self.layout = self.viewer.graphlayout
+            self.updated_viewer()
+
     def setstatusbar(self, text, fgcolor=(255,255,80), bgcolor=(128,0,0)):
         info = (text, fgcolor, bgcolor)
         if info != self.statusbarinfo:



More information about the Pypy-commit mailing list