Author: echatellier Date: 2015-05-29 14:34:11 +0000 (Fri, 29 May 2015) New Revision: 4240 Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4240 Log: refs #7172: Pouvoir r?\195?\169ordonner les regles Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooserHandler.java Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx 2015-05-29 14:13:59 UTC (rev 4239) +++ trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx 2015-05-29 14:34:11 UTC (rev 4240) @@ -70,7 +70,6 @@ <JScrollPane enabled="{isActive()}"> <fr.ifremer.isisfish.ui.models.common.GenericListModel id="selectedRulesListModel" genericType="fr.ifremer.isisfish.rule.Rule" /> <JList id="selectedRulesList" selectionMode="{javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}" - dragEnabled="true" dropMode="{DropMode.INSERT}" genericType="fr.ifremer.isisfish.rule.Rule" model='{selectedRulesListModel}' cellRenderer='{new fr.ifremer.isisfish.ui.models.rule.RuleListCellRenderer()}' onValueChanged='removeRuleButton.setEnabled(selectedRulesList.getSelectedIndex() != -1);clearRulesButton.setEnabled(selectedRulesList.getSelectedIndex() != -1);handler.displayRuleParameters()' /> Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooserHandler.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooserHandler.java 2015-05-29 14:13:59 UTC (rev 4239) +++ trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooserHandler.java 2015-05-29 14:34:11 UTC (rev 4240) @@ -30,14 +30,12 @@ import java.awt.dnd.DragGestureEvent; import java.awt.dnd.DragGestureListener; import java.awt.dnd.DragSource; -import java.awt.dnd.DragSourceAdapter; -import java.awt.dnd.DragSourceDropEvent; -import java.awt.dnd.DragSourceListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.List; +import javax.swing.DropMode; import javax.swing.JList; import javax.swing.TransferHandler; @@ -98,6 +96,10 @@ */ protected void setupSelectedListDnD() { final JList<Rule> selectedRuleList = ruleChooser.getSelectedRulesList(); + + // params + selectedRuleList.setDragEnabled(true); + selectedRuleList.setDropMode(DropMode.INSERT); // transfert handler selectedRuleList.setTransferHandler(new TransferHandler() { @@ -133,6 +135,8 @@ Rule rule = rules.remove(index); rules.add(dropTargetIndex, rule); + selectedRuleList.setSelectedIndex(dropTargetIndex); + result = true; } catch (Exception e) { result = false; @@ -143,24 +147,14 @@ } }); - // drag source listener - final DragSourceListener dsl = new DragSourceAdapter() { - @Override - public void dragDropEnd(DragSourceDropEvent dsde) { - // update ui if move were successful - if (dsde.getDropSuccess()) { - ruleChooser.selectedRulesListModel.setElementList(ruleChooser.getRulesList()); - } - } - }; - // drag gesture final DragSource ds = new DragSource(); ds.createDefaultDragGestureRecognizer(selectedRuleList, DnDConstants.ACTION_MOVE, new DragGestureListener() { @Override public void dragGestureRecognized(DragGestureEvent dge) { StringSelection transferable = new StringSelection(Integer.toString(selectedRuleList.getSelectedIndex())); - ds.startDrag(dge, DragSource.DefaultCopyDrop, transferable, dsl); + // use null because gragsource listener is not used here (could be) + ds.startDrag(dge, DragSource.DefaultCopyDrop, transferable, null); } }); }
participants (1)
-
echatellier@users.forge.codelutin.com