Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArtActivity.py
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2011-10-03 21:52:53 (GMT)
committer Walter Bender <walter.bender@gmail.com>2011-10-03 21:52:53 (GMT)
commitcfe83381911269f6863b4703e635bed6a23a9c31 (patch)
tree52587f7419b605a173f423b0f006d2911bd7e8a6 /TurtleArtActivity.py
parentdd8fd4be9f163530fbcce5d244ae09ed24b6fea6 (diff)
float the palettes in the scrolling window
Diffstat (limited to 'TurtleArtActivity.py')
-rw-r--r--TurtleArtActivity.py29
1 files changed, 25 insertions, 4 deletions
diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py
index 75803e8..3395b48 100644
--- a/TurtleArtActivity.py
+++ b/TurtleArtActivity.py
@@ -320,12 +320,16 @@ class TurtleArtActivity(activity.Activity):
def recenter(self):
''' Recenter scrolled window around canvas. '''
+ self.hadj_value = 0
hadj = self.sw.get_hadjustment()
- hadj.set_value(0)
+ hadj.set_value(self.hadj_value)
self.sw.set_hadjustment(hadj)
+ self.vadj_value = 0
vadj = self.sw.get_vadjustment()
- vadj.set_value(0)
+ vadj.set_value(self.vadj_value)
self.sw.set_vadjustment(vadj)
+ if not self.tw.hw in [XO1]:
+ self.tw.move_palettes(self.hadj_value, self.vadj_value)
def do_fullscreen_cb(self, button):
''' Hide the Sugar toolbars. '''
@@ -686,15 +690,32 @@ class TurtleArtActivity(activity.Activity):
canvas.set_size_request(gtk.gdk.screen_width() * 2,
gtk.gdk.screen_height() * 2)
self.sw.add_with_viewport(canvas)
+ hadj = self.sw.get_hadjustment()
+ hadj.connect('value-changed', self._scroll_cb)
+ vadj = self.sw.get_vadjustment()
+ vadj.connect('value-changed', self._scroll_cb)
+ self.hadj_value = 0
+ self.vadj_value = 0
canvas.show()
self.sw.show()
self.show_all()
return canvas
- def _setup_canvas(self, canvas):
+ def _scroll_cb(self, window):
+ ''' The scrolling window has been changed, so move the
+ floating palettes. '''
+ hadj = self.sw.get_hadjustment()
+ self.hadj_value = hadj.get_value()
+ vadj = self.sw.get_vadjustment()
+ self.vadj_value = vadj.get_value()
+ if not self.tw.hw in [XO1]:
+ gobject.idle_add(self.tw.move_palettes, self.hadj_value,
+ self.vadj_value)
+
+ def _setup_canvas(self, canvas_window):
''' Initialize the turtle art canvas. '''
bundle_path = activity.get_bundle_path()
- self.tw = TurtleArtWindow(canvas, bundle_path, self,
+ self.tw = TurtleArtWindow(canvas_window, bundle_path, self,
profile.get_color().to_string(),
profile.get_nick_name())
self.tw.window.grab_focus()