Remove the interactiveMapWidget callbacks container, relocating methods on simpleMapW...
authorjaviplx <javiplx@gmail.com>
Sun, 15 May 2011 15:58:43 +0000 (15:58 +0000)
committerjaviplx <javiplx@gmail.com>
Sun, 15 May 2011 15:58:43 +0000 (15:58 +0000)
git-svn-id: file:///svnroot/wifihood/branches/mapview-redesign@190 c51dfc6a-5949-4919-9c8e-f207a149c383

view.py

diff --git a/view.py b/view.py
index 32de00f..0891cde 100755 (executable)
--- a/view.py
+++ b/view.py
@@ -57,7 +57,7 @@ class background_map ( gtk.gdk.Pixmap ) :
                 self.draw_pixbuf( None , pixbuf , 0 , 0 , dest_x , dest_y )
 
     
-    def do_change_viewport ( self , dx , dy ) :
+    def do_change_refpix ( self , dx , dy ) :
         dx , dy = self.tileloader.do_change_refpix( dx , dy )
         if dx or dy :
             self.do_change_reftile( dx , dy )
@@ -260,28 +260,6 @@ class AbstractmapWidget :
       os.mkdir(rootsubdir)
     return "%s/%s.png" % ( rootsubdir , tiley )
 
-class interactiveMapWidget :
-
-  def Shift( self , dx , dy ) :
-        self.mapwidget._bg.do_change_viewport( dx , dy )
-        self.mapwidget.update_background()
-
-  def Up( self ) :
-        self.mapwidget._bg.do_change_reftile( 0 , -1 )
-        self.mapwidget.update_background()
-
-  def Down( self ) :
-        self.mapwidget._bg.do_change_reftile( 0 , +1 )
-        self.mapwidget.update_background()
-
-  def Right( self ) :
-        self.mapwidget._bg.do_change_reftile( +1 , 0 )
-        self.mapwidget.update_background()
-
-  def Left( self ) :
-        self.mapwidget._bg.do_change_reftile( -1 , 0 )
-        self.mapwidget.update_background()
-
 
 class simpleMapWidget ( AbstractmapWidget , gtk.Image ) :
 
@@ -300,6 +278,14 @@ class simpleMapWidget ( AbstractmapWidget , gtk.Image ) :
         p.get_from_drawable( self._bg , self._bg.get_colormap() , vport[0] , vport[1] , 0 , 0 , self.win_x , self.win_y )
         self.set_from_pixbuf(p)
     
+    def do_change_refpix ( self , dx , dy ) :
+        self._bg.do_change_refpix( dx , dy )
+        self.update_background()
+
+    def do_change_reftile ( self , dx , dy ) :
+        self._bg.do_change_reftile( dx , dy )
+        self.update_background()
+
     def composeMap( self ) :
         center_x , center_y = self.center()
 
@@ -402,7 +388,7 @@ class simpleMapWidget ( AbstractmapWidget , gtk.Image ) :
 
         self.get_pixbuf().get_from_drawable( pixmap , pixmap.get_colormap() , 0, 0 , 0 , 0 , self.win_x, self.win_y )
 
-class mapWidget ( gtk.EventBox , interactiveMapWidget ) :
+class mapWidget ( gtk.EventBox ) :
 
     def __init__ ( self , config ) :
         gtk.EventBox.__init__( self )
@@ -412,7 +398,7 @@ class mapWidget ( gtk.EventBox , interactiveMapWidget ) :
         self.click_x , self.click_y = None , None
         self.set_events( gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.BUTTON_RELEASE_MASK )
         self.connect_object('button_press_event', self.press_event, self.mapwidget)
-        self.connect_object('button_release_event', self.release_event, self)
+        self.connect_object('button_release_event', self.release_event, self.mapwidget)
 
     def press_event ( self , widget , event ) :
         self.click_x , self.click_y = event.x , event.y
@@ -421,7 +407,7 @@ class mapWidget ( gtk.EventBox , interactiveMapWidget ) :
         # NOTE : we use origin-current for deltas because the map center moves in the opposite direction
         delta_x = int( self.click_x - event.x )
         delta_y = int( self.click_y - event.y )
-        widget.Shift(delta_x, delta_y)
+        widget.do_change_refpix(delta_x, delta_y)
         self.click_x , self.click_y = None , None
 
 if __name__ == "__main__" :
@@ -441,13 +427,13 @@ if __name__ == "__main__" :
 
     def on_key_press ( widget, event , map ) :
         if event.keyval == gtk.keysyms.Up :
-            map.Up()
+            map.do_change_reftile(0,-1)
         elif event.keyval == gtk.keysyms.Down :
-            map.Down()
+            map.do_change_reftile( 0 , +1 )
         elif event.keyval == gtk.keysyms.Right :
-            map.Right()
+            map.do_change_reftile( +1 , 0 )
         elif event.keyval == gtk.keysyms.Left :
-            map.Left()
+            map.do_change_reftile( -1 , 0 )
         else :
             print "UNKNOWN",event.keyval
 
@@ -455,7 +441,7 @@ if __name__ == "__main__" :
     mapwidget = mapWidget( config )
     window = gtk.Window()
     window.connect("destroy", gtk.main_quit )
-    window.connect("key-press-event", on_key_press, mapwidget )
+    window.connect("key-press-event", on_key_press, mapwidget.mapwidget )
     window.add( mapwidget )
     window.show_all()
     gtk.main()