[Laszlo-dev] Problem with baselistitem (and derived objects like radiobutton)

P T Withington ptw at pobox.com
Wed Aug 12 12:48:21 PDT 2009


Surely `onselected` _has_ to be sent every time `selected` is set,  
whatever its value.  That's the definition of an event for an attribute.

`onselect`, since it is a stand-alone event, can have a different  
contract; but it would seem odd to me to have `onselect` only sent  
when `selected` is true without a corresponding `onunselect` event (or  
something).

Personally, I would rather _not_ fall down the Perl hole of "there are  
47 different ways of doing the same thing".  I'd think long and hard  
about why you need 3 different events when you can get the same  
information from one.  [The only parallel I can think of is in <state>  
where we have 'onapplied', 'onapply', and 'onremove'.]

On 2009-08-12, at 14:19EDT, Max Carlson wrote:

> Perhaps the accessibility code needs to ignore events when selected  
> == false?
>
> promanik at laszlosystems.com wrote:
>> Hi Max,
>> I'd like your thoughts on this. I think there is a problem in  
>> baselistitem. If setSelected() is called with false, the onselect  
>> and onselected events are generated.
>>        <method name="setSelected" args="s">
>>            <![CDATA[
>>                this.selected = s;
>>                if (this.onselect.ready)  
>> this.onselect.sendEvent(this);
>>                if (this.onselected.ready)  
>> this.onselected.sendEvent(this);
>>            ]]>
>>        </method>
>> According to the docs:
>> onselect  Event sent when the user makes a selection.
>> onselected  Event sent when this item is selected.
>> I don't think either of these should be generated if this.selected  
>> is false and this might explain some of the strange behavior in  
>> LPP-7594. I will play with this tomorrow.
>> Thanks!
>> Phil
>
> -- 
> Regards,
> Max Carlson
> OpenLaszlo.org



More information about the Laszlo-dev mailing list