337EO2TURD5ELICUPPC5ZX6ZEOQXT4PVWTE7WKI7VUQPPCUDLFAQC
I4NM4O3Z7SDWAMQODOCPKJXL2LBMVUPQVGYQUXO6J7MW7WZAH5NAC
G2CHQAOPRFFDCYVNDXMTB5Y5J2FBRREJPMUAJJTVQDSZE3VFLP3QC
NSE6BLWA372T3TYEVMOKWWD725NRYQNLJGWEVXAIQ3EP6R2YNQ7QC
XERTHGSY3OMO7CBVVHIXI7LH6JY4AOS7BA6WQP22JBO2NDWGBH4QC
HZV5P57YJPTWI34HC5KDGZNOREGME2PBKT3W24DSYFE72UAAYRJQC
in-out property <bool> is-selected: false; touch := TouchArea { clicked => { is-selected = true; } }
in-out property <bool> is-selected: false;
touch := TouchArea {
clicked => {
is-selected = true;
}
in-out property <bool> is-selected: false; in property <bool> has-hover;
in property <bool> has-hover;
selected when is-selected: {
selected when root.is-selected: {
lowlighted when !is-selected && touch.has-hover: {
lowlighted when root.has-hover: {
off when !is-selected && !touch.has-hover: { root.background: Palette.background; }
off when !is-selected && !touch.has-hover: {
root.background: Palette.background;
in-out property <int> selected: -1; callback selection-changed(/*new selection*/ int);
in-out property <int> selected: -1;
callback selection-changed(/*new selection*/ int);
for change in root.changes_log: ChangeEntry {
for change[index] in root.changes_log: ce := ChangeEntry {
is-selected: root.selected == index; has-hover: touch.has-hover; touch := TouchArea { clicked => { root.selected = index; root.selection-changed(index); } }
is-selected: root.selected == index;
has-hover: touch.has-hover;
root.selected = index;
root.selection-changed(index);