Hi Ede,

>> btw. i noticed that our AttributWindow only supports it for selection, but 
>> not for unselection.
Seems that when the LayerView is active, Ctrl D can be used to unselect, 
while Shift A is the way to unselect the Attributetable.
I admit this is not very consistent. LayerView seems too complex to 
change. Maybe JTable default behaviour can be changed. Any hint ?
> ok, dug in a bit further and versions before the synchronization supported 
> Ctrl+Shift+Click deselection.
>
> as far as i can see this is prevented now because table row selection does 
> not actually only select rows anymore but
> - selects in table
> - fires an event to the layerview selectionchange event
> - which in turn updates the table agn. because its registered as a 
> layerviewchange listener
> - which involves a selection clearing and reselecting the table entries agn.
>
> Mike: afaics selection events coming from the table should only update the 
> layerview but skip reupdating the table selection
Sorry, I did not understand how the new event propagation is related to 
Ctrl+Shift+Click deselection.
Here is how the new LayerView listener is supposed to prevent selection 
events to enter an infinite loop,
starting from your example :
- selects in table
- fires an event to the layerview SelectionChange event (updates the 
layerView)
- which in turn fires the new LayerView listener registered in 
AttributeTable
- this LayerView Listener does not know where the events come from 
(layerView or attributePanel), so it will update back the AttributeTable
- but to break the loop, this update will not fire the SelectionChange 
again.

I you know a better way to handle such synchronization, let me know, I 
found only a few examples.

Michaël
>
> ..ede
>


------------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to