Example #1
0
 def compute_layout(self, *, n_cols, n_rows, ori, n_children):
     from kivy.uix.widget import Widget
     from kivy.uix.gridlayout import GridLayout
     gl = GridLayout(cols=n_cols, rows=n_rows, orientation=ori, pos=(0, 0))
     gl.bind(minimum_size=gl.setter("size"))
     for __ in range(n_children):
         # set 'pos' to some random value to make this test more reliable
         gl.add_widget(
             Widget(size_hint=(None, None), size=(100, 100), pos=(8, 8)))
     gl.do_layout()
     return [tuple(c.pos) for c in reversed(gl.children)]
def test_children_pos(n_cols, n_rows, orientation, n_children, expectation):
    from kivy.uix.widget import Widget
    from kivy.uix.gridlayout import GridLayout
    gl = GridLayout(cols=n_cols,
                    rows=n_rows,
                    orientation=orientation,
                    pos=(0, 0),
                    size=(30, 30))
    for __ in range(n_children):
        gl.add_widget(Widget())
    gl.do_layout()
    actual_layout = [tuple(c.pos) for c in reversed(gl.children)]
    assert actual_layout == expectation