Rewrite of the grid stuff. Simpler api and cleaner implementation.

Also follow the micro grids in pentagram design.
This commit is contained in:
Marco Pesenti Gritti
2006-09-13 13:50:00 +02:00
parent 5ec92a2cab
commit 857b9cb659
8 changed files with 108 additions and 90 deletions
+13 -9
View File
@@ -13,9 +13,8 @@ import goocanvas
from sugar.canvas.IconColor import IconColor
from sugar.canvas.IconItem import IconItem
from sugar.canvas.CanvasView import CanvasView
from sugar.canvas.GridBox import GridBox
from sugar.canvas.GridModel import GridModel
from sugar.canvas.GridLayout import GridConstraints
from sugar.canvas.CanvasBox import CanvasBox
from sugar.canvas.Grid import Grid
def _new_icon_clicked_cb(icon):
box.remove_child(icon)
@@ -25,21 +24,26 @@ def _icon_clicked_cb(icon):
icon.connect('clicked', _new_icon_clicked_cb)
box.add_child(icon, 0)
model = GridModel('#4f4f4f')
layout = model.get_layout()
model = goocanvas.CanvasModelSimple()
root = model.get_root_item()
box = GridBox(GridBox.HORIZONTAL, 5, 6)
layout.set_constraints(box, GridConstraints(0, 0, 5, 1))
model.add(box)
grid = Grid()
box = CanvasBox(grid, CanvasBox.HORIZONTAL, 1)
grid.set_constraints(box, 5, 5)
root.add_child(box)
rect = goocanvas.Rect(fill_color='red')
box.set_constraints(rect, 5, 5)
box.add_child(rect)
icon = IconItem(color=IconColor(), icon_name='activity-web')
icon.connect('clicked', _icon_clicked_cb)
box.set_constraints(icon, 5, 5)
box.add_child(icon)
icon = IconItem(color=IconColor(), icon_name='activity-groupchat')
box.set_constraints(icon, 5, 5)
box.add_child(icon)
window = gtk.Window()
@@ -49,6 +53,6 @@ window.show()
canvas = CanvasView()
canvas.show()
window.add(canvas)
canvas.set_model(model.get())
canvas.set_model(model)
gtk.main()