#!/usr/bin/env python2 from eagle import * def change_entry_label_nonexistent(app, button): if not yesno("This will raise an exception and close the application.\n" "Continue?"): return # use get_widget() to get access to widget not its contents. # This is needed with DataWidgets v = app.get_widget_by_id(button.id[1 :]) v.set_label("Make it crash") def change_entry_label_placeholder(app, button): # use get_widget() to get access to widget not its contents. # This is needed with DataWidgets v = app.get_widget_by_id(button.id[1 :]) v.set_label("New Label") def change_bt_label(app, button): button.set_label("New Label") App(title="Test use of widgets without associate labels", center=( Group(id="ge", label="Entry", children=(Entry(id="e0", label="With", value="Label"), Entry(id="e1", label=None, value="Without label"), Entry(id="e2", label="", value="With label placeholder"), Button(id="be1", label="crash changing non-existent label", callback=change_entry_label_nonexistent), Button(id="be2", label="change placeholder", callback=change_entry_label_placeholder), ) ), Group(id="gp", label="Password", children=(Password(id="p0", label="With", value="Label"), Password(id="p1", label=None, value="Without label"), Password(id="p2", label="", value="With label placeholder"), Button(id="bp1", label="crash changing non-existent label", callback=change_entry_label_nonexistent), Button(id="bp2", label="change placeholder", callback=change_entry_label_placeholder), ) ), Group(id="gs", label="Spin", children=(Spin(id="s0", label="With", value=1.0), Spin(id="s1", label=None, value=0.0), Spin(id="s2", label="", value=0.5), Button(id="bs1", label="crash changing non-existent label", callback=change_entry_label_nonexistent), Button(id="bs2", label="change placeholder", callback=change_entry_label_placeholder), ) ), Group(id="gis", label="IntSpin", children=(IntSpin(id="is0", label="With", value=1), IntSpin(id="is1", label=None, value=-1), IntSpin(id="is2", label="", value=0), Button(id="bis1", label="crash changing non-existent label", callback=change_entry_label_nonexistent), Button(id="bis2", label="change placeholder", callback=change_entry_label_placeholder), ) ), Group(id="guis", label="UIntSpin", children=(UIntSpin(id="uis0", label="With", value=1), UIntSpin(id="uis1", label=None, value=2), UIntSpin(id="uis2", label="", value=3), Button(id="buis1", label="crash changing non-existent label", callback=change_entry_label_nonexistent), Button(id="buis2", label="change placeholder", callback=change_entry_label_placeholder), ) ), Group(id="gc", label="Color", children=(Color(id="c0", label="With", color="#ffffff"), Color(id="c1", label=None, color="#000000"), Color(id="c2", label="", color="#666666"), Button(id="bc1", label="crash changing non-existent label", callback=change_entry_label_nonexistent), Button(id="bc2", label="change placeholder", callback=change_entry_label_placeholder), ) ), Group(id="gf", label="Font", children=(Font(id="f0", label="With", font="serif 12"), Font(id="f1", label=None, font="sans 15"), Font(id="f2", label="", font="monospace 10"), Button(id="bf1", label="crash changing non-existent label", callback=change_entry_label_nonexistent), Button(id="bf2", label="change placeholder", callback=change_entry_label_placeholder), ) ), Group(id="gsel", label="Selection", children=(Selection(id="sl0", label="With", options=("a", "b", "c"), value="a"), Selection(id="sl1", label=None, options=("a", "b", "c"), value="b"), Selection(id="sl2", label="", options=("a", "b", "c"), value="c"), Button(id="bsl1", label="crash changing non-existent label", callback=change_entry_label_nonexistent), Button(id="bsl2", label="change placeholder", callback=change_entry_label_placeholder), ) ), Group(id="gpb", label="Progress", children=(Progress(id="pb0", label="With", value=1.0), Progress(id="pb1", label=None, value=0.0), Progress(id="pb2", label="", value=0.5), Button(id="bpb1", label="crash changing non-existent label", callback=change_entry_label_nonexistent), Button(id="bpb2", label="change placeholder", callback=change_entry_label_placeholder), ) ), Group(id="gcb", label="CheckBox", children=(CheckBox(id="cb", label="Old"), Button(id="bcb", label="change label", callback=change_entry_label_placeholder), ), ), Group(id="gg", label="Group", children=(Button(id="bgg", label="change label", callback=change_entry_label_placeholder), ), ), Group(id="gt", label="Table", children=(Table(id="t", label="Table", items=(("a", 1),)), Button(id="bt", label="change label", callback=change_entry_label_placeholder), ), ), ) ) run()