On Sat, Dec 07, 2019 at 08:10:56AM +0100, Alexander Burger wrote:
> > "Title" (gui '(+E/R +TextField) '(ttl : home obj) 40)
> > and
> > "Title" (gui '(+Init +Set +TextField) (get *ID 'ttl) '((X) (put!> *ID 'ttl
> > X)) 40)
> > are equivalent inside an idForm?
> 
> No, +E/R, +Init and +Set are all different.

Getting something equivalent to the +E/R form is not trivial. It needs at least

   (gui '(+Set +Chk +Val +TextField)
      '((Val Dn)  # 'Dn' is not needed here (only in charts)
         (=: er Val)
         (and
            (not (: lock))
            (eval (: erObj))
            (put!> @ (: erVar) Val) )
         (extra Val Dn) )
      '(or
         (extra)
         (and
            (eval (: erObj))
            (mis> @ (: erVar) (val> This)) ) )
      '(()
         (let Val (extra)
            (if (= Val (: er))
               (get (eval (: erObj)) (: erVar))
               Val ) ) )
      40 )

but this is not complete, as the GUI object is not properly initialized (class
variables 'erObj' and 'erVar' and more, see the parent classes +/R (and +Able).

You see, +E/R is a fairly complicated beast ;)

☺/ A!ex

-- 
UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe

Reply via email to