This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 677e2645628f886a1004921eb55f5a894a628d6f Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:59:07 2015 +0100 refactoring de la sélection des éléments des listes (refs #7622) --- .../actions/shared/MoveTripLonglinesUIAction.java | 7 ------ .../ui/actions/shared/MoveTripSeinesUIAction.java | 7 ------ .../ui/actions/shared/MoveTripsUIAction.java | 5 ++--- .../ird/observe/ui/content/list/ContentListUI.css | 10 ++++++--- .../ird/observe/ui/content/list/ContentListUI.jaxx | 13 ++++++++++- .../ui/content/list/ContentListUIModel.java | 25 ++++++++++++--------- .../content/list/impl/longline/TripLonglinesUI.css | 9 +------- .../list/impl/longline/TripLonglinesUI.jaxx | 22 +----------------- .../ui/content/list/impl/seine/TripSeinesUI.css | 6 +---- .../ui/content/list/impl/seine/TripSeinesUI.jaxx | 22 +----------------- .../content/list/impl/seine/TripSeinesUIModel.java | 26 ---------------------- 11 files changed, 40 insertions(+), 112 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java index e7f65da..f6dbdfa 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java @@ -41,13 +41,6 @@ public class MoveTripLonglinesUIAction extends MoveTripsUIAction { } @Override - protected List<ReferenceDto> getSelectedDatas(ContentUI<?> ui) { - TripLonglinesUI tripLonglinesUI = (TripLonglinesUI) ui; - TripLonglinesUIModel model = tripLonglinesUI.getModel(); - return model.getSelectedDatas(); - } - - @Override protected GearType getGearType(ContentUI<?> ui) { return GearType.longline; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java index 4532e71..ebbd01b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java @@ -41,13 +41,6 @@ public class MoveTripSeinesUIAction extends MoveTripsUIAction { } @Override - protected List<ReferenceDto> getSelectedDatas(ContentUI<?> ui) { - TripSeinesUI tripSeinesUI = (TripSeinesUI) ui; - TripSeinesUIModel model = tripSeinesUI.getModel(); - return model.getSelectedDatas(); - } - - @Override protected GearType getGearType(ContentUI<?> ui) { return GearType.seine; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java index fed3acb..181b41a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java @@ -32,6 +32,7 @@ import fr.ird.observe.services.dto.referential.ProgramDtos; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; +import fr.ird.observe.ui.content.list.ContentListUIModel; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import org.apache.commons.logging.Log; @@ -102,7 +103,7 @@ public abstract class MoveTripsUIAction extends AbstractUIAction { String programId = chooseNewProgram(ui, oldProgramId); // change the program of the selected trips - List<ReferenceDto> selectedDatas = getSelectedDatas(ui); + List<ReferenceDto> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); List<String> tripIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); List<Integer> positions = getPositions(tripIds, programId); @@ -197,8 +198,6 @@ public abstract class MoveTripsUIAction extends AbstractUIAction { protected abstract void checkUIClass(ContentUI<?> ui) throws IllegalStateException; - protected abstract List<ReferenceDto> getSelectedDatas(ContentUI<?> ui); - protected abstract GearType getGearType(ContentUI<?> ui); protected abstract List<Integer> getPositions(List<String> tripIds, String programId); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css index 1799390..aae257d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css @@ -38,7 +38,7 @@ } #listSelectionModel { - selectionMode:{ListSelectionModel.SINGLE_SELECTION}; + selectionMode:{ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}; } #list { @@ -48,14 +48,14 @@ #gotoSelectedChild { visible:{!model.isEmpty()}; - enabled:{model.getSelectedData() != null}; + enabled:{model.getSelectedDatas() != null && model.getSelectedDatas().size() == 1}; _observeAction:{SelectNodeUIAction.ACTION_NAME}; _actionIcon:{"go-down"}; } #reopenChild { visible:{!model.isEmpty() && model.isCanReopen()}; - enabled:{model.getSelectedData() != null}; + enabled:{model.getSelectedDatas() != null && model.getSelectedDatas().size() == 1}; _observeAction:{ReOpenUIAction.ACTION_NAME}; } @@ -64,3 +64,7 @@ visible:{model.isCreatingMode()}; } +#moveSelectedChildren { + enabled:{model.getSelectedDatas() != null}; +} + diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx index 3327d09..8b0fffc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx @@ -39,6 +39,8 @@ javax.swing.DefaultListSelectionModel javax.swing.ListSelectionModel + java.util.List + static org.nuiton.i18n.I18n.t </import> <java.lang.String id='listText' javaBean='""'/> @@ -49,7 +51,7 @@ <ListSelectionModel id='listSelectionModel' initializer='new DefaultListSelectionModel()' - onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedData(getSelectedData());'/> + onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedDatas(getSelectedDatas());'/> <ContentListUIHandler id='handler' genericType='E, C'/> @@ -59,6 +61,10 @@ public final ReferenceDto getSelectedData() { return (ReferenceDto) getSelectedBean(list); } +public final List<ReferenceDto> getSelectedDatas() { + return (List<ReferenceDto>) list.getSelectedValuesList(); +} + ]]></script> <JPanel id='body'> @@ -102,6 +108,11 @@ public final ReferenceDto getSelectedData() { <Table id='extraActions' fill="both" weightx="1" insets='2'/> </cell> </row> + <row> + <cell fill='both' columns="3"> + <JButton id='moveSelectedChildren'/> + </cell> + </row> </Table> </fr.ird.observe.ui.content.ContentUI> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java index a52ea6f..df7ffc2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java @@ -24,6 +24,7 @@ package fr.ird.observe.ui.content.list; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.ui.content.ContentUIModel; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -39,7 +40,7 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten public static final String PROPERTY_DATA = "data"; - public static final String PROPERTY_SELECTED_DATA = "selectedData"; + public static final String PROPERTY_SELECTED_DATAS = "selectedDatas"; public static final String PROPERTY_EMPTY = "empty"; @@ -56,8 +57,8 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten /** liste des entites */ protected List<ReferenceDto> data; - /** entité sélectionnée dans la liste */ - protected ReferenceDto selectedData; + /** entités sélectionnées dans la liste */ + protected List<ReferenceDto> selectedDatas; /** un drapeau pour savoir si on peut reouvrir l'un des données de la liste. */ protected boolean canReopen; @@ -81,20 +82,24 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten // on force toujours la propagation de la liste firePropertyChange(PROPERTY_DATA, null, data); firePropertyChange(PROPERTY_EMPTY, wasEmpty, isEmpty()); - setSelectedData(null); + setSelectedDatas(null); } public ReferenceDto getSelectedData() { - return selectedData; + return CollectionUtils.isNotEmpty(selectedDatas) ? selectedDatas.get(0) : null; } - public void setSelectedData(ReferenceDto selectedData) { - ReferenceDto old = getSelectedData(); - this.selectedData = selectedData; + public List<ReferenceDto> getSelectedDatas() { + return selectedDatas; + } + + public void setSelectedDatas(List<ReferenceDto> selectedDatas) { + List<ReferenceDto> old = getSelectedDatas(); + this.selectedDatas = selectedDatas; if (log.isDebugEnabled()) { - log.debug("New selected data : " + selectedData); + log.debug("New selected datas : " + selectedDatas); } - firePropertyChange(PROPERTY_SELECTED_DATA, old, selectedData); + firePropertyChange(PROPERTY_SELECTED_DATAS, old, selectedDatas); } public boolean isCanReopen() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.css index 7f85d81..4260e0d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.css @@ -20,20 +20,14 @@ * #L% */ -#listSelectionModel { - selectionMode:{ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}; -} - #gotoSelectedChild { _text:{t("observe.action.goto.selected.maree")}; _toolTipText:{t("observe.action.goto.selected.maree.tip")}; - enabled:{model.getSelectedDatas() != null && model.getSelectedDatas().size() == 1}; } #reopenChild { _text:{t("observe.action.reopen.selected.maree")}; _toolTipText:{t("observe.action.reopen.selected.maree.tip")}; - enabled:{model.getSelectedDatas() != null && model.getSelectedDatas().size() == 1}; } #createChild { @@ -41,10 +35,9 @@ toolTipText:"observe.action.create.maree.tip"; } -#moveSelectedTrips { +#moveSelectedChildren { text:"observe.action.move.trips"; toolTipText:"observe.action.move.trips.tip"; - enabled:{model.getSelectedDatas() != null}; _observeAction:{MoveTripLonglinesUIAction.ACTION_NAME}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx index c4eb4db..d94773e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx @@ -31,23 +31,11 @@ fr.ird.observe.ui.actions.shared.SelectOpenNodeUIAction fr.ird.observe.ui.actions.shared.MoveTripLonglinesUIAction - java.util.List - - javax.swing.ListSelectionModel - static org.nuiton.i18n.I18n.n </import> <style source="CommonListUI.css"/> - <script><![CDATA[ - -public final List<ReferenceDto> getSelectedDatas() { - return (List<ReferenceDto>) list.getSelectedValuesList(); -} - -]]></script> - <!-- handler --> <TripLonglinesUIHandler id='handler' constructorParams='this'/> @@ -57,16 +45,13 @@ public final List<ReferenceDto> getSelectedDatas() { <!-- edit bean --> <ProgramDto id='bean'/> - <!-- override data selection --> - <ListSelectionModel id='listSelectionModel' - onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedDatas(getSelectedDatas());'/> - <!-- override generic actions --> <JButton id='gotoSelectedChild'/> <JButton id='reopenChild'/> <JButton id='gotoOpenChild' styleClass='gotoOpenTrip'/> <JButton id='gotoOpenChild2' styleClass='gotoOpenTrip2'/> <JButton id='createChild'/> + <JButton id='moveSelectedChildren'/> <!-- extra actions --> <Table id="extraActions" fill='both' weightx='1' weighty='1' insets='0'> @@ -78,11 +63,6 @@ public final List<ReferenceDto> getSelectedDatas() { <JButton id='gotoOpenActivity2' styleClass='gotoOpenActivity2'/> </cell> </row> - <row weighty="1" weightx="1"> - <cell columns="2"> - <JButton id='moveSelectedTrips'/> - </cell> - </row> </Table> </fr.ird.observe.ui.content.list.ContentListUI> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.css index d582c45..40a6244 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.css @@ -19,9 +19,6 @@ * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ -#listSelectionModel { - selectionMode:{ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}; -} #gotoSelectedChild { _text:{t("observe.action.goto.selected.maree")}; @@ -38,10 +35,9 @@ toolTipText:"observe.action.create.maree.tip"; } -#moveSelectedTrips { +#moveSelectedChildren { text:"observe.action.move.trips"; toolTipText:"observe.action.move.trips.tip"; - enabled:{model.getSelectedDatas() != null}; _observeAction:{MoveTripSeinesUIAction.ACTION_NAME}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx index d9a00dd..aa5089a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx @@ -33,23 +33,11 @@ fr.ird.observe.ui.actions.shared.SelectOpenNodeUIAction fr.ird.observe.ui.actions.shared.MoveTripSeinesUIAction - java.util.List - - javax.swing.ListSelectionModel - static org.nuiton.i18n.I18n.n </import> <style source="CommonListUI.css"/> - <script><![CDATA[ - -public final List<ReferenceDto> getSelectedDatas() { - return (List<ReferenceDto>) list.getSelectedValuesList(); -} - -]]></script> - <!-- handler --> <TripSeinesUIHandler id='handler' constructorParams='this'/> @@ -59,16 +47,13 @@ public final List<ReferenceDto> getSelectedDatas() { <!-- edit bean --> <ProgramDto id='bean'/> - <!-- override data selection --> - <ListSelectionModel id='listSelectionModel' - onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedDatas(getSelectedDatas());'/> - <!-- override generic actions --> <JButton id='gotoSelectedChild'/> <JButton id='reopenChild'/> <JButton id='gotoOpenChild' styleClass='gotoOpenTrip'/> <JButton id='gotoOpenChild2' styleClass='gotoOpenTrip2'/> <JButton id='createChild'/> + <JButton id='moveSelectedChildren'/> <!-- extra actions --> <Table id="extraActions" fill='both' weightx='1' weighty='1' insets='0'> @@ -88,11 +73,6 @@ public final List<ReferenceDto> getSelectedDatas() { <JButton id='gotoOpenActivity2' styleClass='gotoOpenActivity2'/> </cell> </row> - <row weighty="1" weightx="1"> - <cell columns="2"> - <JButton id='moveSelectedTrips'/> - </cell> - </row> </Table> </fr.ird.observe.ui.content.list.ContentListUI> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java index 9efc69b..7236f31 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java @@ -22,15 +22,12 @@ package fr.ird.observe.ui.content.list.impl.seine; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.ui.content.list.ContentListUIModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import java.util.List; - /** * Created on 9/26/14. * @@ -46,31 +43,8 @@ public class TripSeinesUIModel extends ContentListUIModel<ProgramDto, TripSeineD */ private static final Log log = LogFactory.getLog(TripSeinesUIModel.class); - public static final String PROPERTY_SELECTED_DATAS = "selectedDatas"; - - /** entité sélectionnée dans la liste */ - protected List<ReferenceDto> selectedDatas; - public TripSeinesUIModel() { super(ProgramDto.class, TripSeineDto.class); } - public List<ReferenceDto> getSelectedDatas() { - return selectedDatas; - } - - public void setSelectedDatas(List<ReferenceDto> selectedDatas) { - List<ReferenceDto> old = getSelectedDatas(); - this.selectedDatas = selectedDatas; - if (log.isDebugEnabled()) { - log.debug("New selected datas : " + selectedDatas); - } - firePropertyChange(PROPERTY_SELECTED_DATAS, old, selectedDatas); - } - - @Override - public void setData(List<ReferenceDto> data) { - super.setData(data); - setSelectedDatas(null); - } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.