Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 94ba8702 by Tony Chemit at 2020-07-10T16:30:13+02:00 Correction création LL Logbook Set - - - - - 9f5f153f by Tony Chemit at 2020-07-10T16:32:05+02:00 LL Observations / Echec d'enregistrement d'une capture - Closes #1519 (set focus Owner event if not in our focus handler...) - - - - - 2 changed files: - client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/ContentUIHandler.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ll/logbook/ActivityLonglineLogbookNavigationTreeNode.java Changes: ===================================== client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/content/ContentUIHandler.java ===================================== @@ -91,6 +91,7 @@ import javax.swing.JTabbedPane; import javax.swing.JToolBar; import javax.swing.SwingUtilities; import java.awt.Component; +import java.awt.FocusTraversalPolicy; import java.awt.KeyboardFocusManager; import java.beans.PropertyChangeListener; import java.util.Arrays; @@ -459,6 +460,7 @@ public abstract class ContentUIHandler<U extends ContentUI> implements ObserveSe // dettach all validators uninstallValidators(); } + public void resetFromPreviousUi(U ui) { if (tabbedPaneValidator != null) { JTabbedPane mainTabbedPane = (JTabbedPane) ui.getObjectById(JaxxObjectInitializer.MAIN_TABBED_PANE); @@ -467,6 +469,7 @@ public abstract class ContentUIHandler<U extends ContentUI> implements ObserveSe } } } + final void destroyUI() { if (ui == null) { return; @@ -904,8 +907,14 @@ public abstract class ContentUIHandler<U extends ContentUI> implements ObserveSe } public final void setFormFocusOwner(Component formFocusOwner) { - ObserveLayoutFocusTraversalPolicy<?> focusTraversalPolicy = (ObserveLayoutFocusTraversalPolicy<?>) ui.getFocusTraversalPolicy(); - Component realFocusComponent = focusTraversalPolicy.getRealFocusComponent(formFocusOwner); + FocusTraversalPolicy focusTraversalPolicy = ui.getFocusTraversalPolicy(); + Component realFocusComponent; + if (focusTraversalPolicy instanceof ObserveLayoutFocusTraversalPolicy) { + ObserveLayoutFocusTraversalPolicy<?> focusTraversalPolicy1 = (ObserveLayoutFocusTraversalPolicy<?>) ui.getFocusTraversalPolicy(); + realFocusComponent = focusTraversalPolicy1.getRealFocusComponent(formFocusOwner); + } else { + realFocusComponent = focusTraversalPolicy.getFirstComponent(ui.getContentContainer()); + } ui.getModel().setFormFocusOwner(realFocusComponent); } ===================================== client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/tree/navigation/nodes/data/ll/logbook/ActivityLonglineLogbookNavigationTreeNode.java ===================================== @@ -30,6 +30,7 @@ import fr.ird.observe.dto.data.ll.logbook.ActivityReference; import fr.ird.observe.dto.data.ll.logbook.SampleReference; import fr.ird.observe.dto.data.ll.logbook.SetDto; import fr.ird.observe.dto.data.ll.logbook.SetReference; +import fr.ird.observe.dto.reference.DtoReference; import fr.ird.observe.navigation.model.edit.longline.node.ObserveLonglineLogbookActivityEditNode; import fr.ird.observe.navigation.model.select.longline.node.ObserveLonglineLogbookActivitySelectNode; import fr.ird.observe.navigation.tree.SingleReferenceContainerNode; @@ -107,4 +108,17 @@ public class ActivityLonglineLogbookNavigationTreeNode extends ReferenceNavigati public SetLonglineLogbookNavigationTreeNode newSingleChildNode(String parentId) { return newSingleChildNode(new SetReference(new SetDto(), null)); } + + public int getNewPosition(DtoReference beanReference) { + if (beanReference instanceof SetReference) { + return 0; + } + if (beanReference instanceof SampleReference) { + if (getData().getSet() == null) { + return 0; + } + return 1; + } + throw new IllegalStateException(String.format("Can't manage bean: %s", beanReference)); + } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/780acacd477ecfc3288131b53... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/780acacd477ecfc3288131b53... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT