This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 1ec820b0185e6e9096328c2cc77a3d516bd46706 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Dec 4 11:51:33 2016 +0100 refs #8429 ajout raccourcis vers actions globales + revue de la partie Floating Object --- .../swing/decoration/DecoratorService.java | 4 ++-- .../application/swing/ui/MnemonicHelper.java | 15 ++++++++++-- .../impl/longline/LonglineDetailCompositionUI.jaxx | 2 ++ .../impl/longline/LonglineDetailCompositionUI.jcss | 9 +++++++ .../impl/longline/LonglineGlobalCompositionUI.jaxx | 2 ++ .../impl/longline/LonglineGlobalCompositionUI.jcss | 7 ++++++ .../ui/content/impl/longline/SetLonglineUI.jaxx | 5 ++++ .../ui/content/impl/longline/SetLonglineUI.jcss | 16 +++++++++++++ .../FloatingObjectTransmittingBuoyOperationUI.jaxx | 3 +++ .../FloatingObjectTransmittingBuoyOperationUI.jcss | 2 ++ .../ui/content/impl/seine/FloatingObjectUI.jaxx | 3 +++ .../ui/content/impl/seine/FloatingObjectUI.jcss | 4 ++++ .../impl/seine/FloatingObjectUIHandler.java | 4 +--- .../swing/ui/content/impl/seine/SetSeineUI.jaxx | 12 ++++++---- .../swing/ui/content/impl/seine/SetSeineUI.jcss | 14 +++++++++++ .../swing/ui/content/list/ContentListUI.jaxx | 6 +---- .../swing/ui/content/open/ContentOpenableUI.jaxx | 6 +++++ .../swing/ui/content/open/ContentOpenableUI.jcss | 7 +++++- .../swing/ui/content/table/ContentTableUI.jaxx | 4 ++++ .../swing/ui/content/table/ContentTableUI.jcss | 4 ++++ .../swing/ui/tree/navigation/NavigationTree.java | 18 +++++++++----- .../nodes/ReferenceNavigationTreeNodeSupport.java | 3 +++ .../FloatingObjectSeineNavigationTreeNode.java | 19 ++++++++++++++- ...ngObjectTransmittingBuoyNavigationTreeNode.java | 28 ++++++++++++++++++++++ .../ObjectObservedSpeciesNavigationTreeNode.java | 28 ++++++++++++++++++++++ .../ObjectSchoolEstimateNavigationTreeNode.java | 28 ++++++++++++++++++++++ 26 files changed, 228 insertions(+), 25 deletions(-) diff --git a/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java b/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java index 74ae5bb..e8a076e 100644 --- a/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java +++ b/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java @@ -343,8 +343,8 @@ public class DecoratorService extends DecoratorProvider { registerDataAndDataReferenceDecorator(FloatingObjectObservedSpeciesDto.class, t("observe.type.floatingObjectObservedSpecies")); registerDataAndDataReferenceDecorator(ObjectSchoolEstimateDto.class, - "${species/scientificLabel}$s##${weight}$d", - "${species}$s##${weight}$d"); + "${species/scientificLabel}$s##${totalWeight}$d", + "${species}$s##${totalWeight}$d"); registerDataAndDataReferenceDecorator(SchoolEstimateDto.class, "${species/scientificLabel}$s##${totalWeight}$d##${meanWeight}$d", "${species}$s##${totalWeight}$d##${meanWeight}$d"); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/MnemonicHelper.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/MnemonicHelper.java index 631af79..d928fba 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/MnemonicHelper.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/MnemonicHelper.java @@ -13,6 +13,7 @@ import java.util.LinkedHashSet; import java.util.Objects; import java.util.Set; +import static fr.ird.observe.application.swing.ui.content.ContentUIInitializer.GLOBAL_ACTION; import static javax.swing.Action.ACCELERATOR_KEY; import static javax.swing.Action.NAME; import static javax.swing.Action.SHORT_DESCRIPTION; @@ -47,11 +48,11 @@ public class MnemonicHelper { boolean showMnemonic = isShowMnemonic(); if (showMnemonic) { String actionStr = keyStrokeToStr(actionKey); - if (component.getText() != null) { + if (component.getText() != null && !component.getText().contains(actionStr)) { String text = component.getText() + actionStr; component.setText(text); } - if (component.getToolTipText() != null) { + if (component.getToolTipText() != null && !component.getToolTipText().contains(actionStr)) { String tip = component.getToolTipText() + actionStr; component.setToolTipText(tip); } @@ -94,6 +95,16 @@ public class MnemonicHelper { editor.setText(text); } + if (text != null || tip != null) { + String actionId = (String) editor.getClientProperty(GLOBAL_ACTION); + if (actionId != null) { + AbstractUIAction action = (AbstractUIAction) ObserveSwingApplicationContext.get().getActionMap().get(actionId); + Objects.requireNonNull(action, "action [" + actionId + "] not found"); + KeyStroke acceleratorKey = action.getAcceleratorKey(); + addKeyStroke(editor, acceleratorKey); + } + } + } public static void addKeyStrokeFromMnemonic(AbstractButton editor) { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUI.jaxx index f3a398a..8927108 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUI.jaxx @@ -27,6 +27,8 @@ fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto fr.ird.observe.application.swing.ui.actions.content.ResetEditUIAction fr.ird.observe.application.swing.ui.actions.content.SaveEditUIAction + fr.ird.observe.application.swing.ui.actions.global.ResetDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.SaveDataGlobalUIAction fr.ird.observe.application.swing.ui.util.JVetoableTabbedPane diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUI.jcss index 5c70a50..4bc3373 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineDetailCompositionUI.jcss @@ -194,3 +194,12 @@ icon: {getHandler().getErrorIconIfFalse(model.isBranchlineDetailTabValid())}; enabled: {compositionTab.isEnabled() && model.isCompositionTabValid() && !branchlinesTableModel.isSelectionEmpty()}; } + + +#save { + _globalAction:{SaveDataGlobalUIAction.ACTION_NAME}; +} + +#reset { + _globalAction:{ResetDataGlobalUIAction.ACTION_NAME}; +} diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx index 372a383..9004083 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx @@ -30,6 +30,8 @@ fr.ird.observe.services.dto.referential.longline.MitigationTypeDto fr.ird.observe.application.swing.ui.actions.content.ResetEditUIAction fr.ird.observe.application.swing.ui.actions.content.SaveEditUIAction + fr.ird.observe.application.swing.ui.actions.global.ResetDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.SaveDataGlobalUIAction fr.ird.observe.application.swing.ui.content.table.impl.longline.BaitsCompositionUI fr.ird.observe.application.swing.ui.content.table.impl.longline.BaitsCompositionUIModel fr.ird.observe.application.swing.ui.content.table.impl.longline.BranchlinesCompositionUI diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineGlobalCompositionUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineGlobalCompositionUI.jcss index b4c4541..fa4a7fb 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineGlobalCompositionUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/LonglineGlobalCompositionUI.jcss @@ -61,3 +61,10 @@ selectedLabel:{t("observe.content.longlineGlobalComposition.selectedMitigationType")}; } +#save { + _globalAction:{SaveDataGlobalUIAction.ACTION_NAME}; +} + +#reset { + _globalAction:{ResetDataGlobalUIAction.ACTION_NAME}; +} diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/SetLonglineUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/SetLonglineUI.jaxx index 36225bd..eca9510 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/SetLonglineUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/SetLonglineUI.jaxx @@ -36,6 +36,11 @@ fr.ird.observe.application.swing.ui.actions.content.DeleteDataUIAction fr.ird.observe.application.swing.ui.actions.content.ResetEditUIAction fr.ird.observe.application.swing.ui.actions.content.SaveEditUIAction + fr.ird.observe.application.swing.ui.actions.global.DeleteDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.NewNextDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.ResetDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.SaveDataGlobalUIAction + fr.ird.observe.application.swing.ui.content.ContentUIModel fr.ird.observe.application.swing.ui.util.BooleanEditor diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/SetLonglineUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/SetLonglineUI.jcss index fd6d0e1..bd32966 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/SetLonglineUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/longline/SetLonglineUI.jcss @@ -406,3 +406,19 @@ numberPattern:{fr.ird.observe.application.swing.ui.UIHelper.INT_6_DIGITS_PATTERN}; _validatorLabel:{t("observe.content.setLongline.haulingBreaks")}; } + +#delete { + _globalAction:{DeleteDataGlobalUIAction.ACTION_NAME}; +} + +#save { + _globalAction:{SaveDataGlobalUIAction.ACTION_NAME}; +} + +#cancel { + _globalAction:{ResetDataGlobalUIAction.ACTION_NAME}; +} + +#reset { + _globalAction:{ResetDataGlobalUIAction.ACTION_NAME}; +} diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx index 8bfa13f..3485cc9 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx @@ -35,6 +35,9 @@ fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto fr.ird.observe.application.swing.ui.actions.content.ResetEditUIAction fr.ird.observe.application.swing.ui.actions.content.SaveEditUIAction + fr.ird.observe.application.swing.ui.actions.global.ResetDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.SaveDataGlobalUIAction + jaxx.runtime.swing.editor.bean.BeanComboBox java.awt.Dimension diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jcss index b048673..8e33bfc 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jcss @@ -185,12 +185,14 @@ #reset { _observeAction:{ResetEditUIAction.ACTION_NAME}; + _globalAction:{ResetDataGlobalUIAction.ACTION_NAME}; visible:{model.isEnabled()}; enabled:{model.isModified()}; } #save { _observeAction:{SaveEditUIAction.ACTION_NAME}; + _globalAction:{SaveDataGlobalUIAction.ACTION_NAME}; visible:{model.isEnabled()}; enabled:{model.isModified() && model.isValid()}; } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jaxx index ae8fae4..f9824f2 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jaxx @@ -33,6 +33,9 @@ fr.ird.observe.application.swing.ui.actions.content.DeleteDataUIAction fr.ird.observe.application.swing.ui.actions.content.ResetEditUIAction fr.ird.observe.application.swing.ui.actions.content.SaveEditUIAction + fr.ird.observe.application.swing.ui.actions.global.DeleteDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.ResetDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.SaveDataGlobalUIAction jaxx.runtime.swing.editor.NumberEditor jaxx.runtime.swing.editor.bean.BeanComboBox diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jcss index 81ba641..f3f1efa 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUI.jcss @@ -88,23 +88,27 @@ BeanComboBox { #cancel { _observeAction:{CancelCreateUIAction.ACTION_NAME}; + _globalAction:{ResetDataGlobalUIAction.ACTION_NAME}; visible:{model.isCreatingMode()}; } #reset { _observeAction:{ResetEditUIAction.ACTION_NAME}; + _globalAction:{ResetDataGlobalUIAction.ACTION_NAME}; visible:{model.isUpdatingMode()}; enabled:{model.isModified()}; } #save { _observeAction:{SaveEditUIAction.ACTION_NAME}; + _globalAction:{SaveDataGlobalUIAction.ACTION_NAME}; visible:{!model.isReadingMode()}; enabled:{model.isModified() && model.isValid()}; } #delete { _observeAction:{DeleteDataUIAction.ACTION_NAME}; + _globalAction:{DeleteDataGlobalUIAction.ACTION_NAME}; visible:{model.isUpdatingMode()}; _toolTipText:{t("observe.action.delete.floatingObject.tip")}; } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUIHandler.java index f21b658..7974089 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/FloatingObjectUIHandler.java @@ -193,9 +193,7 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto, } } else { - // select ancestor node -// treeHelper.refreshNode(node, false); - treeHelper.reloadSelectedNode(false, false); + treeHelper.refreshSelectedNode(); } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jaxx index 784199b..6643322 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jaxx @@ -32,6 +32,11 @@ fr.ird.observe.application.swing.ui.actions.content.DeleteDataUIAction fr.ird.observe.application.swing.ui.actions.content.ResetEditUIAction fr.ird.observe.application.swing.ui.actions.content.SaveEditUIAction + + fr.ird.observe.application.swing.ui.actions.global.DeleteDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.ResetDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.SaveDataGlobalUIAction + fr.ird.observe.application.swing.ui.util.BooleanEditor jaxx.runtime.swing.editor.NumberEditor @@ -57,11 +62,8 @@ <SetSeineDto id='bean'/> <!-- validator --> - <BeanValidator id='validator' - autoField='true' - beanClass='fr.ird.observe.services.dto.seine.SetSeineDto' - errorTableModel='{getErrorTableModel()}' - context='ui-update'> + <BeanValidator id='validator' autoField='true' beanClass='fr.ird.observe.services.dto.seine.SetSeineDto' + errorTableModel='{getErrorTableModel()}' context='ui-update'> </BeanValidator> <!-- formulaire --> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jcss index c363595..6d0b394 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/impl/seine/SetSeineUI.jcss @@ -216,4 +216,18 @@ #delete { _toolTipText:{t("observe.action.delete.set.tip")}; + _globalAction:{DeleteDataGlobalUIAction.ACTION_NAME}; } + +#save { + _globalAction:{SaveDataGlobalUIAction.ACTION_NAME}; +} + +#cancel { + _globalAction:{ResetDataGlobalUIAction.ACTION_NAME}; +} + +#reset { + _globalAction:{ResetDataGlobalUIAction.ACTION_NAME}; +} + diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUI.jaxx index 0f51db3..2fd605b 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/list/ContentListUI.jaxx @@ -24,14 +24,10 @@ genericType='E extends IdDto, C extends DataDto, U extends ContentListUI<E,C, U>'> <import> - fr.ird.observe.application.swing.ui.actions.content.CloseOpenUIAction - fr.ird.observe.application.swing.ui.actions.content.CreateOpenUIAction - fr.ird.observe.application.swing.ui.actions.content.ReOpenUIAction - fr.ird.observe.application.swing.ui.actions.content.SelectNodeUIAction fr.ird.observe.application.swing.ui.tree.navigation.nodes.NavigationTreeNodeSupport - fr.ird.observe.services.dto.IdDto fr.ird.observe.services.dto.DataDto + fr.ird.observe.services.dto.IdDto fr.ird.observe.services.dto.DataReference jaxx.runtime.swing.editor.bean.BeanListHeader diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUI.jaxx index 795e0cf..f142c18 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUI.jaxx @@ -34,6 +34,12 @@ fr.ird.observe.application.swing.ui.actions.content.ResetEditUIAction fr.ird.observe.application.swing.ui.actions.content.SaveEditUIAction + fr.ird.observe.application.swing.ui.actions.global.DeleteDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.NewNextDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.OpenCloseDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.ResetDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.SaveDataGlobalUIAction + javax.swing.SwingConstants </import> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUI.jcss index f1255cc..0769247 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/ContentOpenableUI.jcss @@ -29,15 +29,18 @@ visible:{!model.isReadingMode()}; enabled:{model.isCreatingMode() ? true : model.isModified()}; horizontalTextPosition:{SwingConstants.RIGHT}; + _globalAction:{ResetDataGlobalUIAction.ACTION_NAME}; } #save { _observeAction:{SaveEditUIAction.ACTION_NAME}; + _globalAction:{SaveDataGlobalUIAction.ACTION_NAME}; enabled:{model.isModified() && model.isValid()}; } #delete { _observeAction:{DeleteDataUIAction.ACTION_NAME}; + _globalAction:{DeleteDataGlobalUIAction.ACTION_NAME}; visible:{model.isUpdatingMode()}; } @@ -47,19 +50,21 @@ #reopen { _observeAction:{ReOpenUIAction.ACTION_NAME}; + _globalAction:{OpenCloseDataGlobalUIAction.ACTION_NAME}; visible:{model.isReadingMode() && model.isCanReopen()}; enabled:{model.isReadingMode() && model.isCanReopen()}; - } #close { _observeAction:{CloseOpenUIAction.ACTION_NAME}; + _globalAction:{OpenCloseDataGlobalUIAction.ACTION_NAME}; visible:{model.isUpdatingMode()}; enabled:{model.isUpdatingMode()}; } #closeAndCreate { _observeAction:{CloseAndCreateUIAction.ACTION_NAME}; + _globalAction:{NewNextDataGlobalUIAction.ACTION_NAME}; visible:{model.isUpdatingMode()}; enabled:{model.isUpdatingMode()}; } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jaxx index 52661bb..dc143fc 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jaxx @@ -32,6 +32,10 @@ fr.ird.observe.application.swing.ui.actions.content.ResetTableEntryUIAction fr.ird.observe.application.swing.ui.actions.content.SaveTableEntryUIAction fr.ird.observe.application.swing.ui.actions.content.DeleteTableEntryUIAction + fr.ird.observe.application.swing.ui.actions.global.DeleteDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.NewNextDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.ResetDataGlobalUIAction + fr.ird.observe.application.swing.ui.actions.global.SaveDataGlobalUIAction jaxx.runtime.swing.BlockingLayerUI jaxx.runtime.validator.swing.SwingValidator diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jcss index c4e9296..68cb4ea 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/table/ContentTableUI.jcss @@ -74,6 +74,7 @@ #newEntry { _observeAction:{NewTableEntryUIAction.ACTION_NAME}; + _globalAction:{NewNextDataGlobalUIAction.ACTION_NAME}; _text:{t(getNewEntryText())}; _toolTipText:{t(getNewEntryTip())}; visible:{tableModel.isEditable() && !tableModel.isCreate()}; @@ -117,6 +118,7 @@ #deleteEntry { _observeAction:{DeleteTableEntryUIAction.ACTION_NAME}; + _globalAction:{DeleteDataGlobalUIAction.ACTION_NAME}; _text:{t(getDeleteEntryText())}; _toolTipText:{t(getDeleteEntryTip())}; actionIcon:"delete"; @@ -130,12 +132,14 @@ #reset { _observeAction:{ResetEditUIAction.ACTION_NAME}; + _globalAction:{ResetDataGlobalUIAction.ACTION_NAME}; visible:{model.isEnabled()}; enabled:{model.isModified()}; } #save { _observeAction:{SaveEditUIAction.ACTION_NAME}; + _globalAction:{SaveDataGlobalUIAction.ACTION_NAME}; _toolTipText:{t("observe.action.save.all.tip")}; visible:{model.isEnabled()}; enabled:{model.isModified() && model.isValid() && !tableModel.isCreate()}; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTree.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTree.java index 51c59e8..190da68 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTree.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/NavigationTree.java @@ -26,6 +26,7 @@ import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.db.DataContext; import fr.ird.observe.application.swing.db.ObserveSwingDataSource; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.NavigationTreeNodeSupport; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.ReferenceNavigationTreeNodeSupport; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.RootNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.longline.ActivitiesLonglineNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.longline.ActivityLonglineNavigationTreeNode; @@ -167,7 +168,7 @@ public class NavigationTree extends JXTree { TreePath path = new TreePath(getTreeModel().getPathToRoot(node)); setSelectionPath(path); - scrollPathToVisible(path); + SwingUtilities.invokeLater(() -> scrollPathToVisible(path)); } public NavigationTreeNodeSupport getChild(NavigationTreeNodeSupport node, String id) { @@ -205,7 +206,7 @@ public class NavigationTree extends JXTree { log.debug("will select previous ids " + selectedIds); } - NavigationTreeNodeSupport selectedNode = getTreeModel().findNode(getRootNode(), selectedIds); + NavigationTreeNodeSupport selectedNode = getTreeModel().findNode(getRootNode(), selectedIds.toArray()); if (selectedNode != null) { @@ -328,11 +329,10 @@ public class NavigationTree extends JXTree { NavigationTreeNodeSupport selectedNode = getSelectedNode(); while (selectedNode != null && !selectedNode.isRoot()) { - String id = selectedNode.getId(); - if (id == null) { - result.add(selectedNode.getClass()); + if (selectedNode instanceof ReferenceNavigationTreeNodeSupport) { + result.add(selectedNode.getId()); } else { - result.add(id); + result.add(selectedNode.getClass()); } selectedNode = selectedNode.getParent(); } @@ -595,4 +595,10 @@ public class NavigationTree extends JXTree { NavigationTreeNodeSupport routeNode = getRouteNode(programId, tripSeineId, routeId); return getActivitySeineNode(routeNode, activitySeineId); } + + public void refreshSelectedNode() { + NavigationTreeNodeSupport selectedNode = getSelectedNode(); + selectedNode.reload(); + getTreeModel().nodeChanged(selectedNode); + } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/ReferenceNavigationTreeNodeSupport.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/ReferenceNavigationTreeNodeSupport.java index 7fba96d..b8db2ea 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/ReferenceNavigationTreeNodeSupport.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/ReferenceNavigationTreeNodeSupport.java @@ -35,6 +35,9 @@ import org.nuiton.decorator.Decorator; */ public abstract class ReferenceNavigationTreeNodeSupport<D extends IdDto, O extends AbstractReference<D>> extends NavigationTreeNodeSupport<O> { + public boolean isPersisted() { + return getId()!=null; + } @Override public String getId() { return getData().getId(); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/FloatingObjectSeineNavigationTreeNode.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/FloatingObjectSeineNavigationTreeNode.java index e8d16a4..905912e 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/FloatingObjectSeineNavigationTreeNode.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/FloatingObjectSeineNavigationTreeNode.java @@ -27,6 +27,7 @@ import fr.ird.observe.application.swing.ui.tree.navigation.NavigationTreeModel; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.ReferenceNavigationTreeNodeSupport; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.service.data.seine.FloatingObjectService; /** * Created on 14/11/16. @@ -38,11 +39,28 @@ public class FloatingObjectSeineNavigationTreeNode extends ReferenceNavigationTr public FloatingObjectSeineNavigationTreeNode(DataReference<FloatingObjectDto> data) { super(data, true); + if (isPersisted()) { + add(new FloatingObjectTransmittingBuoyNavigationTreeNode()); + add(new ObjectSchoolEstimateNavigationTreeNode()); + add(new ObjectObservedSpeciesNavigationTreeNode()); + } } @Override public void reload() { + FloatingObjectService service = getMainDataSourceServicesProvider().newFloatingObjectService(); + DataReference<FloatingObjectDto> reference = service.loadReferenceToRead(getId()); + setData(reference); + } + @Override + public boolean isLeaf() { + return !isPersisted(); + } + + @Override + public boolean isOpen() { + return getParent().isOpen(); } @Override @@ -52,6 +70,5 @@ public class FloatingObjectSeineNavigationTreeNode extends ReferenceNavigationTr @Override public void populateChilds0(NavigationTreeModel treeModel) { - removeAllChildren(); } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/FloatingObjectTransmittingBuoyNavigationTreeNode.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/FloatingObjectTransmittingBuoyNavigationTreeNode.java new file mode 100644 index 0000000..45a6ee2 --- /dev/null +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/FloatingObjectTransmittingBuoyNavigationTreeNode.java @@ -0,0 +1,28 @@ +package fr.ird.observe.application.swing.ui.tree.navigation.nodes.seine; + +import fr.ird.observe.application.swing.ui.content.impl.seine.FloatingObjectTransmittingBuoyOperationUI; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.ClassNavigationTreeNode; +import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; + +/** + * Created on 04/12/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 6.0 + */ +public class FloatingObjectTransmittingBuoyNavigationTreeNode extends ClassNavigationTreeNode<ObjectOperationDto> { + + public FloatingObjectTransmittingBuoyNavigationTreeNode() { + super(ObjectOperationDto.class); + } + + @Override + public Class<FloatingObjectTransmittingBuoyOperationUI> getContentClass() { + return FloatingObjectTransmittingBuoyOperationUI.class; + } + + @Override + public boolean isLeaf() { + return true; + } +} \ No newline at end of file diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/ObjectObservedSpeciesNavigationTreeNode.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/ObjectObservedSpeciesNavigationTreeNode.java new file mode 100644 index 0000000..4e0a791 --- /dev/null +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/ObjectObservedSpeciesNavigationTreeNode.java @@ -0,0 +1,28 @@ +package fr.ird.observe.application.swing.ui.tree.navigation.nodes.seine; + +import fr.ird.observe.application.swing.ui.content.table.impl.seine.ObjectObservedSpeciesUI; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.ClassNavigationTreeNode; +import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; + +/** + * Created on 04/12/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 6.0 + */ +public class ObjectObservedSpeciesNavigationTreeNode extends ClassNavigationTreeNode<ObjectObservedSpeciesDto> { + + public ObjectObservedSpeciesNavigationTreeNode() { + super(ObjectObservedSpeciesDto.class); + } + + @Override + public Class<ObjectObservedSpeciesUI> getContentClass() { + return ObjectObservedSpeciesUI.class; + } + + @Override + public boolean isLeaf() { + return true; + } +} \ No newline at end of file diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/ObjectSchoolEstimateNavigationTreeNode.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/ObjectSchoolEstimateNavigationTreeNode.java new file mode 100644 index 0000000..7bbd2e5 --- /dev/null +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/navigation/nodes/seine/ObjectSchoolEstimateNavigationTreeNode.java @@ -0,0 +1,28 @@ +package fr.ird.observe.application.swing.ui.tree.navigation.nodes.seine; + +import fr.ird.observe.application.swing.ui.content.table.impl.seine.ObjectSchoolEstimateUI; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.ClassNavigationTreeNode; +import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; + +/** + * Created on 04/12/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 6.0 + */ +public class ObjectSchoolEstimateNavigationTreeNode extends ClassNavigationTreeNode<ObjectSchoolEstimateDto> { + + public ObjectSchoolEstimateNavigationTreeNode() { + super(ObjectSchoolEstimateDto.class); + } + + @Override + public Class<ObjectSchoolEstimateUI> getContentClass() { + return ObjectSchoolEstimateUI.class; + } + + @Override + public boolean isLeaf() { + return true; + } +} \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.