static A bindTextComponentToLiveValue_bothWays(A tc, SimpleLiveValue lv) { ret bindTextComponentToLiveValue_bothWays(tc, (IVarWithNotify) lv); } static A bindTextComponentToLiveValue_bothWays(A tc, IVarWithNotify lv) { bindLiveValueListenerToComponent(tc, lv, r { setTextKeepCaret(tc, lv!) }); onChange(tc, r { lv.set(getText(tc)) }); ret tc; }