Or, a klever hacker would realize that they should just define a
setter for the parent password attribute that applies the setting
where it is actually needed (saving the overhead of events that the
person who wrote the $once constraint was trying to avoid). I.e.,
'push' the password field to where it is needed.
[cc-ing John. there is probably a place in the docs for the following:]
Remember Adam's first principle of constraints: "They are really
handy for rapid prototyping, but eventually you want to eliminate them."
On 2007-10-10, at 18:43 EDT, Henry Minsky wrote:
If you look in the edittext component, it says the internal text field
is using a 'once'
constraint to look at the parent.password
lps/components/lz/edittext.lzx:
<_internalinputtext name="field"
password="$once{parent.password}"
So the internal field is not looking at the parent.password value more
than once at init time.
That could be changed to an 'always' constraint, I imagine that would
work better.
On 10/10/07, James Robey <[EMAIL PROTECTED]> wrote:
Hi all, I think i may have found a bug in the edittext component,
but i
thought someone might show this to be correct behavior in a way I
don't yet
see. The issue is setting password="true" on an <edittext/>
component. It
doesn't seem like the password attribute can be constrained. This
example
might also reveal a bug with $immediately{} constraints wherein
"classroot"
and "parent" don't exist when the constraint is evaluated.
Anyone have advice on how to make this work?
Test case: none of these fields (save the last hardcoded editext) has
password styling.
<canvas proxied="false" debug="true">
<debug/>
<class name="pwtest">
<attribute name="passwordB" type="boolean" value="true"/>
<attribute name="passwordS" type="string" value="true"/>
<attribute name="passwordE" type="expression" value="true"/>
<simplelayout axis="y"/>
<edittext password="${classroot.passwordB}"/>
<edittext password="${classroot.passwordS}"/>
<edittext password="${classroot.passwordE}"/>
<edittext password="$immediately{classroot.passwordB}"/>
<edittext password="$immediately{classroot.passwordS}"/>
<edittext password="$immediately{classroot.passwordE}"/>
<edittext password="$once{classroot.passwordB}"/>
<edittext password="$once{classroot.passwordS}"/>
<edittext password="$once{classroot.passwordE}"/>
<edittext password="true"/>
</class>
<pwtest/>
</canvas>
--
Henry Minsky
Software Architect
[EMAIL PROTECTED]