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 0b7f406203cb35c013dc5fc85077d7ddfb6ce4e9 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:00:42 2015 +0100 refactoring des actions du menu contextuel de l'arbre (refs #7622) --- .../main/java/fr/ird/observe/ui/ObserveMainUI.css | 48 +------- .../main/java/fr/ird/observe/ui/ObserveMainUI.jaxx | 14 +-- .../tree/ObserveNavigationTreeShowPopupAction.java | 133 ++++++++------------- .../observe-application-swing_en_GB.properties | 4 + .../observe-application-swing_es_ES.properties | 4 + .../observe-application-swing_fr_FR.properties | 6 +- 6 files changed, 70 insertions(+), 139 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css index f91e3c8..40e16b7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css @@ -49,57 +49,15 @@ JSplitPane { // trip menu -#navigationMoveTripAction { - text: "observe.navigationMenu.moveTrip"; - toolTipText: "observe.navigationMenu.moveTrip"; - actionIcon: "move-trips"; -} - -#navigationOpenTripAction { - text: "observe.navigationMenu.openTripAction"; - toolTipText: "observe.navigationMenu.openTripAction"; - enabled: {!dataContext.isOpenTrip()}; - action: {new fr.ird.observe.ui.actions.shared.ReOpenUIAction(this)}; -} - -#navigationCloseTripAction { - text: "observe.navigationMenu.closeTripAction"; - toolTipText: "observe.navigationMenu.closeTripAction"; - enabled: {!dataContext.isOpenRoute() && !dataContext.isOpenActivity()}; - action: {new fr.ird.observe.ui.actions.shared.CloseOpenUIAction(this)}; -} - -#navigationDeleteTripAction { - text: "observe.navigationMenu.deleteTripAction"; - toolTipText: "observe.navigationMenu.deleteTripAction"; - action: {new fr.ird.observe.ui.actions.shared.DeleteDataUIAction(this)}; -} - -// route menu - -#navigationMoveRouteAction { - text: "observe.navigationMenu.moveRoute"; - toolTipText: "observe.navigationMenu.moveRoute"; - actionIcon: "move-routes"; -} - -#navigationOpenRouteAction { - text: "observe.navigationMenu.openRouteAction"; - toolTipText: "observe.navigationMenu.openRouteAction"; - enabled: {!dataContext.isOpenRoute()}; +#navigationOpenAction { action: {new fr.ird.observe.ui.actions.shared.ReOpenUIAction(this)}; } -#navigationCloseRouteAction { - text: "observe.navigationMenu.closeRouteAction"; - toolTipText: "observe.navigationMenu.closeRouteAction"; - enabled: {!dataContext.isOpenActivity()}; +#navigationCloseAction { action: {new fr.ird.observe.ui.actions.shared.CloseOpenUIAction(this)}; } -#navigationDeleteRouteAction { - text: "observe.navigationMenu.deleteRouteAction"; - toolTipText: "observe.navigationMenu.deleteRouteAction"; +#navigationDeleteAction { action: {new fr.ird.observe.ui.actions.shared.DeleteDataUIAction(this)}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx index 480b1e3..9c5bbb9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx @@ -84,16 +84,10 @@ <JPopupMenu id='scopeDownPopup'/> <JPopupMenu id='navigationPopup'> <JMenuItem id="navigationNoAction"/> - <!-- Trip menu --> - <JMenu id="navigationMoveTripAction"/> - <JMenuItem id="navigationOpenTripAction"/> - <JMenuItem id="navigationCloseTripAction"/> - <JMenuItem id="navigationDeleteTripAction"/> - <!-- Route menu --> - <JMenu id="navigationMoveRouteAction"/> - <JMenuItem id="navigationOpenRouteAction"/> - <JMenuItem id="navigationCloseRouteAction"/> - <JMenuItem id="navigationDeleteRouteAction"/> + <JMenu id="navigationMoveAction"/> + <JMenuItem id="navigationOpenAction"/> + <JMenuItem id="navigationCloseAction"/> + <JMenuItem id="navigationDeleteAction"/> </JPopupMenu> <ObserveSwingApplicationConfig id='config' initializer='getContextValue(ObserveSwingApplicationConfig.class)'/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java index 04c80a3..87718a4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java @@ -27,6 +27,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ReferenceDto; @@ -39,11 +40,10 @@ import fr.ird.observe.services.service.seine.TripSeineService; import fr.ird.observe.ui.tree.actions.ChangeRouteTripActionListener; import fr.ird.observe.ui.tree.actions.ChangeTripProgramActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; +import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; -import org.nuiton.decorator.DecoratorUtil; -import org.nuiton.decorator.JXPathDecorator; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; @@ -62,6 +62,9 @@ import java.lang.reflect.Constructor; import java.util.LinkedHashSet; import java.util.List; +import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; + /** * Created on 1/8/15. * @@ -76,6 +79,11 @@ public class ObserveNavigationTreeShowPopupAction { private static final String TRIP_MENU_ITEMS = "trip"; private static final String ROUTE_MENU_ITEMS = "route"; + static { + n("observe.navigationMenu.move.trip"); + n("observe.navigationMenu.move.route"); + } + private final ObserveTreeHelper treeHelper; private final JScrollPane pane; @@ -85,6 +93,10 @@ public class ObserveNavigationTreeShowPopupAction { private final JTree tree; private final JMenuItem noAction; + private final JMenuItem openAction; + private final JMenuItem closeAction; + private final JMenuItem moveAction; + private final JMenuItem deleteAction; private final ImmutableMap<String, NavigationPopupMenuItems> menuItemsByNodeType; @@ -97,50 +109,35 @@ public class ObserveNavigationTreeShowPopupAction { JMenuItem noActionComponent = null; // trip menus - JMenuItem moveTripComponent = null; - JMenuItem openTripActionComponent = null; - JMenuItem closeTripActionComponent = null; - JMenuItem deleteTripActionComponent = null; - //route menus - JMenuItem moveRouteComponent = null; - JMenuItem openRouteActionComponent = null; - JMenuItem closeRouteActionComponent = null; - JMenuItem deleteRouteActionComponent = null; + JMenuItem moveComponent = null; + JMenuItem openActionComponent = null; + JMenuItem closeActionComponent = null; + JMenuItem deleteActionComponent = null; for (MenuElement menuElement : popup.getSubElements()) { if (menuElement.getComponent().getName().equals("navigationNoAction")) { noActionComponent = (JMenuItem) menuElement.getComponent(); } - // trip menus - if (menuElement.getComponent().getName().equals("navigationMoveTripAction")) { - moveTripComponent = (JMenuItem) menuElement.getComponent(); - } - if (menuElement.getComponent().getName().equals("navigationOpenTripAction")) { - openTripActionComponent = (JMenuItem) menuElement.getComponent(); - } - if (menuElement.getComponent().getName().equals("navigationCloseTripAction")) { - closeTripActionComponent = (JMenuItem) menuElement.getComponent(); - } - if (menuElement.getComponent().getName().equals("navigationDeleteTripAction")) { - deleteTripActionComponent = (JMenuItem) menuElement.getComponent(); + if (menuElement.getComponent().getName().equals("navigationMoveAction")) { + moveComponent = (JMenuItem) menuElement.getComponent(); } - // route menus - if (menuElement.getComponent().getName().equals("navigationMoveRouteAction")) { - moveRouteComponent = (JMenuItem) menuElement.getComponent(); + if (menuElement.getComponent().getName().equals("navigationOpenAction")) { + openActionComponent = (JMenuItem) menuElement.getComponent(); } - if (menuElement.getComponent().getName().equals("navigationOpenRouteAction")) { - openRouteActionComponent = (JMenuItem) menuElement.getComponent(); + if (menuElement.getComponent().getName().equals("navigationCloseAction")) { + closeActionComponent = (JMenuItem) menuElement.getComponent(); } - if (menuElement.getComponent().getName().equals("navigationCloseRouteAction")) { - closeRouteActionComponent = (JMenuItem) menuElement.getComponent(); - } - if (menuElement.getComponent().getName().equals("navigationDeleteRouteAction")) { - deleteRouteActionComponent = (JMenuItem) menuElement.getComponent(); + if (menuElement.getComponent().getName().equals("navigationDeleteAction")) { + deleteActionComponent = (JMenuItem) menuElement.getComponent(); } } this.noAction = noActionComponent; + this.openAction = openActionComponent; + this.closeAction = closeActionComponent; + this.moveAction = moveComponent; + this.deleteAction = deleteActionComponent; Function<String, List<ReferenceDto>> getProgramsFunction = new Function<String, List<ReferenceDto>>() { @@ -154,14 +151,12 @@ public class ObserveNavigationTreeShowPopupAction { .getReferentialReferenceSet(ProgramDto.class) .getReference(); - return Lists.newArrayList(ProgramDtos.filterReferencesByGearType(allPrograms, gearType)); + List<ReferenceDto> result = Lists.newArrayList(ProgramDtos.filterReferencesByGearType(allPrograms, gearType)); + + return result; } }; - NavigationPopupMenuItems tripItems = new NavigationPopupMenuItems(openTripActionComponent, - closeTripActionComponent, - moveTripComponent, - deleteTripActionComponent, - ProgramDto.class, + NavigationPopupMenuItems tripItems = new NavigationPopupMenuItems(ProgramDto.class, ChangeTripProgramActionListener.class, getProgramsFunction); @@ -179,11 +174,7 @@ public class ObserveNavigationTreeShowPopupAction { return Lists.newArrayList(allTripSeine); } }; - NavigationPopupMenuItems routeItems = new NavigationPopupMenuItems(openRouteActionComponent, - closeRouteActionComponent, - moveRouteComponent, - deleteRouteActionComponent, - TripSeineDto.class, + NavigationPopupMenuItems routeItems = new NavigationPopupMenuItems(TripSeineDto.class, ChangeRouteTripActionListener.class, getTripSeinesFunction); @@ -298,14 +289,23 @@ public class ObserveNavigationTreeShowPopupAction { // clean popup popup.removeAll(); + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + DataContext dataContext = applicationContext.getDataContext(); + if (selectedNode.isTripNode()) { beforeOpenMenu(selectedNode, TRIP_MENU_ITEMS); + openAction.setEnabled(!dataContext.isOpenTrip()); + closeAction.setEnabled(!dataContext.isOpenRoute() && !dataContext.isOpenActivity()); + } else if (selectedNode.isRouteNode()) { beforeOpenMenu(selectedNode, ROUTE_MENU_ITEMS); + openAction.setEnabled(!dataContext.isOpenRoute()); + closeAction.setEnabled(!dataContext.isOpenActivity()); + } else { popup.add(noAction); @@ -318,10 +318,6 @@ public class ObserveNavigationTreeShowPopupAction { } NavigationPopupMenuItems items = menuItemsByNodeType.get(nodeType); - JMenuItem openAction = items.getOpenAction(); - JMenuItem closeAction = items.getCloseAction(); - JMenuItem movePopup = items.getMovePopup(); - JMenuItem deleteAction = items.getDeleteAction(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); @@ -330,9 +326,12 @@ public class ObserveNavigationTreeShowPopupAction { closeAction.putClientProperty("ui", applicationContext.getSelectedContentUI()); popup.add(closeAction); - popup.add(movePopup); + moveAction.setText(t("observe.navigationMenu.move." + nodeType)); + moveAction.setToolTipText(t("observe.navigationMenu.move." + nodeType)); + moveAction.setIcon(SwingUtil.getUIManagerActionIcon("move-" + nodeType)); + popup.add(moveAction); - movePopup.removeAll(); + moveAction.removeAll(); // get the available program for the trip @@ -350,8 +349,6 @@ public class ObserveNavigationTreeShowPopupAction { Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, parentClass.getSimpleName()); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto>) decorator, parents, 0); - for (ReferenceDto parent : parents) { String parentId = parent.getId(); @@ -373,7 +370,7 @@ public class ObserveNavigationTreeShowPopupAction { id, parentId)); - movePopup.add(item); + moveAction.add(item); } catch (ReflectiveOperationException e) { if (log.isErrorEnabled()) { @@ -435,46 +432,18 @@ public class ObserveNavigationTreeShowPopupAction { private class NavigationPopupMenuItems { - private final JMenuItem openAction; - private final JMenuItem closeAction; - private final JMenuItem movePopup; - private final JMenuItem deleteAction; private final Class<?> parentClass; private final Class<? extends NodeChangeActionListener> changeActionListenerClass; private final Function<String, List<ReferenceDto>> getParentsFunction; - public NavigationPopupMenuItems(JMenuItem openAction, - JMenuItem closeAction, - JMenuItem movePopup, - JMenuItem deleteAction, - Class<?> parentClass, + public NavigationPopupMenuItems(Class<?> parentClass, Class<? extends NodeChangeActionListener> changeActionListenerClass, Function<String, List<ReferenceDto>> getParentsFunction) { - this.openAction = openAction; - this.closeAction = closeAction; - this.movePopup = movePopup; - this.deleteAction = deleteAction; this.parentClass = parentClass; this.changeActionListenerClass = changeActionListenerClass; this.getParentsFunction = getParentsFunction; } - public JMenuItem getCloseAction() { - return closeAction; - } - - public JMenuItem getDeleteAction() { - return deleteAction; - } - - public JMenuItem getMovePopup() { - return movePopup; - } - - public JMenuItem getOpenAction() { - return openAction; - } - public Class<?> getParentClass() { return parentClass; } diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties index c07a3b7..f6f520e 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties @@ -286,6 +286,8 @@ observe.action.mitigationType.save.tip= observe.action.modify=Modify observe.action.move.maree= observe.action.move.maree.tip= +observe.action.move.routes= +observe.action.move.routes.tip= observe.action.move.trips= observe.action.move.trips.tip= observe.action.new.entry=Add @@ -1558,6 +1560,8 @@ observe.navigationMenu.closeRouteAction= observe.navigationMenu.closeTripAction= observe.navigationMenu.deleteRouteAction= observe.navigationMenu.deleteTripAction= +observe.navigationMenu.move.route= +observe.navigationMenu.move.trip= observe.navigationMenu.moveRoute= observe.navigationMenu.moveTrip=Change program observe.navigationMenu.noAction=< No action > diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties index d17ed34..48f5351 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties @@ -286,6 +286,8 @@ observe.action.mitigationType.save.tip= observe.action.modify=Modificar observe.action.move.maree= observe.action.move.maree.tip= +observe.action.move.routes= +observe.action.move.routes.tip= observe.action.move.trips= observe.action.move.trips.tip= observe.action.new.entry=Nuevo @@ -1560,6 +1562,8 @@ observe.navigationMenu.closeRouteAction= observe.navigationMenu.closeTripAction= observe.navigationMenu.deleteRouteAction= observe.navigationMenu.deleteTripAction= +observe.navigationMenu.move.route= +observe.navigationMenu.move.trip= observe.navigationMenu.moveRoute= observe.navigationMenu.moveTrip= observe.navigationMenu.noAction= diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties index 0d8490c..82cbf09 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties @@ -282,6 +282,8 @@ observe.action.mitigationType.detail.tip=Voir les détails du type de mesure d'a observe.action.mitigationType.modify.tip=Modifier le type de mesure d'atténuation sélectionné observe.action.mitigationType.save.tip=Sauver les modifications du type de mesure d'atténuation observe.action.modify=Modifier +observe.action.move.routes= +observe.action.move.routes.tip= observe.action.move.trips=Changer de programme observe.action.move.trips.tip=Changer le programme des marées sélectionnées observe.action.new.entry=Nouveau @@ -1549,8 +1551,8 @@ observe.navigationMenu.closeRouteAction=Clôturer la route observe.navigationMenu.closeTripAction=Clôturer la marée observe.navigationMenu.deleteRouteAction=Supprimer la route observe.navigationMenu.deleteTripAction=Supprimer la marée -observe.navigationMenu.moveRoute=Changer de marée -observe.navigationMenu.moveTrip=Réallocation du programme +observe.navigationMenu.move.route=Changer de marée +observe.navigationMenu.move.trip=Réallocation du programme observe.navigationMenu.noAction=< Aucune action définie > observe.navigationMenu.openRouteAction=Réouvrir la route observe.navigationMenu.openTripAction=Réouvrir la marée -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.