r2996 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input
Author: chatellier Date: 2010-02-23 11:28:44 +0000 (Tue, 23 Feb 2010) New Revision: 2996 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx Log: Fix list selection (replace mouse cli by value change) Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx 2010-02-23 11:27:15 UTC (rev 2995) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx 2010-02-23 11:28:44 UTC (rev 2996) @@ -23,6 +23,7 @@ <fr.ifremer.isisfish.entities.ZoneImpl id='bean' javaBean='null'/> <script><![CDATA[ +import javax.swing.event.ListSelectionEvent; import fr.ifremer.isisfish.entities.Cell; import fr.ifremer.isisfish.entities.Zone; import fr.ifremer.isisfish.entities.ZoneImpl; @@ -114,12 +115,23 @@ return mapListener; } -protected void zoneCellsChange() { - java.util.List<Cell> cells = new ArrayList<Cell>(); - for (Object o : zoneCells.getSelectedValues()) { - cells.add((Cell) o); +protected void zoneCellsChange(ListSelectionEvent event) { + // sans ca, ca boucle (modification depuis la carte) + if (event.getValueIsAdjusting()) { + // pas a faie dans le cas d'une AS + if (isActif()) { + java.util.List<Cell> cells = new ArrayList<Cell>(); + for (Object o : zoneCells.getSelectedValues()) { + cells.add((Cell) o); + } + getBean().setCell(cells); + } } - getBean().setCell(cells); + else { + if (log.isDebugEnabled()) { + log.debug("Duplicated event skipped"); + } + } } ]]> </script> @@ -150,9 +162,9 @@ <row> <cell columns='2' fill='both' weighty='0.7' weightx='1.0'> <JScrollPane> + <!-- FIXME le binding genere un tas d'envenement multiples ! --> <JList id="zoneCells" enabled='{isActif()}' selectedValues='{getBean().getCell() == null ? null : getBean().getCell().toArray()}' - onMouseClicked='if ( isActif() ) { zoneCellsChange(); }' - decorator='boxed'/> + onValueChanged='zoneCellsChange(event)' decorator='boxed'/> </JScrollPane> </cell> </row>
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org