#!/usr/bin/env python2 from eagle import * def selection_changed(app, widget, selected): print "seletion:", app, widget, selected class MyType(object): def default_value(): return MyType() default_value = staticmethod(default_value) def cell_format_func(app, table, row, col, value): if col == 0: return Table.CellFormat(contents=lambda x: "str()=%s" % x) app = App(title="Simple Table", left=(Table(id="t1", label=None, show_headers=False, headers=("Hidden", "Shown"), hidden_columns_indexes=(0,), types=(MyType, str), editable=False, ), Table(id="t2", label=None, show_headers=False, headers=("Hidden", "Shown"), hidden_columns_indexes=(0,), types=(MyType, str), editable=True, ), Table(id="t3", label=None, show_headers=False, headers=("Hidden", "Shown"), hidden_columns_indexes=(0,), items=((MyType(), "bla"),), editable=True, ), Table(id="t4", label=None, show_headers=False, headers=("Hidden", "Shown"), items=((MyType(), "bla"),), editable=True, ), Table(id="t5", label=None, show_headers=False, headers=("Hidden", "Shown"), items=((MyType(), "bla"),), cell_format_func=cell_format_func, ), ) ) app["t1"].append((MyType(), "abc")) app["t1"].append((MyType(), "def")) app["t2"].append((MyType(), "abc-1")) app["t2"].append((MyType(), "def-1")) run()