Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/PascalTriangle.activity/pascaltriangle.py
diff options
context:
space:
mode:
authorPhilip Withnall <philip@tecnocode.co.uk>2013-08-19 18:02:13 (GMT)
committer Philip Withnall <philip@tecnocode.co.uk>2013-08-19 18:02:13 (GMT)
commitd1a55e36101000cd62f44e5f39172100df584087 (patch)
tree9056cec6bc7145a7786e002b1bbccec12af9a884 /PascalTriangle.activity/pascaltriangle.py
parent51bfe1d673d1d3aebaa618cdc1e6ea7f09717e0e (diff)
Fix positioning of triangle size slider
Older versions of the PyGI GTK+ bindings crash when emitting the get-child-position signal to a Python callback, so use halign/valign instead.
Diffstat (limited to 'PascalTriangle.activity/pascaltriangle.py')
-rwxr-xr-xPascalTriangle.activity/pascaltriangle.py17
1 files changed, 5 insertions, 12 deletions
diff --git a/PascalTriangle.activity/pascaltriangle.py b/PascalTriangle.activity/pascaltriangle.py
index d98ac73..aea55e1 100755
--- a/PascalTriangle.activity/pascaltriangle.py
+++ b/PascalTriangle.activity/pascaltriangle.py
@@ -69,10 +69,8 @@ class PascalTriangleActivity(activity.Activity):
# adjusted. This is the number of cells on the triangle's base
# (equivalently, the number of rows in the triangle).
overlay = Gtk.Overlay()
- overlay.connect('get-child-position', self._adjustment_get_position_cb,
- None)
- overlay.show()
overlay.add(drawing_area)
+ overlay.show()
slider = Gtk.VScale()
slider.props.digits = 0 # integers only
@@ -81,6 +79,10 @@ class PascalTriangleActivity(activity.Activity):
slider.set_range(2, 10)
slider.set_increments(1, 2)
slider.set_value(5) # initial triangle size
+
+ slider.props.halign = Gtk.Align.START
+ slider.props.valign = Gtk.Align.START
+ slider.set_size_request(70, 150)
slider.show()
overlay.add_overlay(slider)
@@ -412,15 +414,6 @@ class PascalTriangleActivity(activity.Activity):
show_hints = property(get_show_hints, set_show_hints)
- def _adjustment_get_position_cb(self, overlay, child, alloc, data = None):
- # Hard-code the size and position of the triangle size slider.
- alloc.x = 10
- alloc.y = 10
- alloc.width = 70
- alloc.height = 150
-
- return True
-
def _slider_value_changed_cb(self, widget, data = None):
new_triangle_size = int(widget.get_value())