Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: fe160eca by Tony CHEMIT at 2017-08-14T17:28:21+02:00 Mauvais repositionnement de l'écran lors du changement du type d'opération FOB (See #831) - - - - - 4 changed files: - client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIHandler.java - client/src/main/java/fr/ird/observe/client/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx - client/src/main/java/fr/ird/observe/client/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java - client/src/main/java/fr/ird/observe/client/ui/storage/StorageUIHandler.java Changes: ===================================== client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIHandler.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIHandler.java +++ b/client/src/main/java/fr/ird/observe/client/ui/ObserveMainUIHandler.java @@ -54,4 +54,9 @@ public class ObserveMainUIHandler implements UIHandler<ObserveMainUI> { int dividerLocation = Math.min(splitpane2.getMinimumDividerLocation() + plusSize, splitpane2.getMaximumDividerLocation() - 100); splitpane2.setDividerLocation(dividerLocation); } + + public void updateContentSizeForce(int plusSize) { + JSplitPane splitpane2 = ui.getSplitpane2(); + splitpane2.setDividerLocation(plusSize); + } } ===================================== client/src/main/java/fr/ird/observe/client/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx +++ b/client/src/main/java/fr/ird/observe/client/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx @@ -100,7 +100,7 @@ </row> </Table> - <JPanel id="transmittingBuoys" constraints="BorderLayout.CENTER"/> + <JPanel id="transmittingBuoys" layout='{new GridLayout(0,1)}'/> <JComment id='comment' constraints="BorderLayout.SOUTH"/> @@ -122,7 +122,7 @@ <JLabel id='noBaliseEditor'/> - <Table id='transmittingBuoy1Editor' fill="horizontal"> + <Table id='transmittingBuoy1Editor' fill="both"> <row> <cell anchor='west'> <JLabel id='transmittingBuoyOperation1Label'/> @@ -180,7 +180,7 @@ </row> </Table> - <Table id='transmittingBuoy2Editor' fill="horizontal"> + <Table id='transmittingBuoy2Editor' fill="both"> <row> <cell anchor='west'> <JLabel id='transmittingBuoyOperation2Label'/> ===================================== client/src/main/java/fr/ird/observe/client/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java +++ b/client/src/main/java/fr/ird/observe/client/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java @@ -22,6 +22,7 @@ package fr.ird.observe.client.ui.content.impl.seine; import com.google.common.collect.Lists; +import fr.ird.observe.client.ObserveSwingApplicationContext; import fr.ird.observe.client.db.ClientDataContext; import fr.ird.observe.client.db.ObserveSwingDataSource; import fr.ird.observe.client.db.constants.DataContextType; @@ -40,10 +41,10 @@ import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyHelper; import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; import fr.ird.observe.services.dto.seine.TransmittingBuoyHelper; -import java.awt.GridLayout; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import javax.swing.JComponent; import javax.swing.JPanel; import javax.swing.SwingUtilities; import org.apache.commons.logging.Log; @@ -255,15 +256,16 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH TransmittingBuoyDto transmittingBuoy; ReferentialReference<TransmittingBuoyOperationDto> objectOperation; + JComponent focusOwner = null; switch (nbBalises) { case 0: // no balise - editorPanel.setLayout(new GridLayout()); editorPanel.add(ui.getNoBaliseEditor()); if (getModel().isEditing()) { ui.getValidatorBalise1().setBean(null); ui.getValidatorBalise2().setBean(null); } + focusOwner = ui.getComment().getComment2(); break; case 1: @@ -274,12 +276,13 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH bindEditBalise(ui.getTransmittingBuoy1(), objectOperation, transmittingBuoy); - editorPanel.setLayout(new GridLayout(1, 0)); editorPanel.add(ui.getTransmittingBuoy1Editor()); if (getModel().isEditing()) { ui.getValidatorBalise1().setBean(ui.getTransmittingBuoy1()); ui.getValidatorBalise2().setBean(null); } + + focusOwner = ui.getTransmittingBuoyType1(); break; case 2: @@ -292,20 +295,24 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH objectOperation = reset ? getObjectOperation(operations, codeOperations[1]) : null; bindEditBalise(ui.getTransmittingBuoy2(), objectOperation, transmittingBuoy); - editorPanel.setLayout(new GridLayout(2, 0)); editorPanel.add(ui.getTransmittingBuoy1Editor()); editorPanel.add(ui.getTransmittingBuoy2Editor()); if (getModel().isEditing()) { ui.getValidatorBalise1().setBean(ui.getTransmittingBuoy1()); ui.getValidatorBalise2().setBean(ui.getTransmittingBuoy2()); } + focusOwner = ui.getTransmittingBuoyType1(); break; } + JComponent finalFocusOwner = focusOwner; SwingUtilities.invokeLater(() -> { - // recalcul de la disposition - getUi().revalidate(); + ObserveSwingApplicationContext.get().getMainUI().getHandler().updateContentSizeForce(600); + + if (finalFocusOwner != null) { + UIHelper.askFocus(finalFocusOwner); + } }); } ===================================== client/src/main/java/fr/ird/observe/client/ui/storage/StorageUIHandler.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/storage/StorageUIHandler.java +++ b/client/src/main/java/fr/ird/observe/client/ui/storage/StorageUIHandler.java @@ -28,11 +28,11 @@ import fr.ird.observe.client.ObserveRunner; import fr.ird.observe.client.ObserveSwingApplicationContext; import fr.ird.observe.client.ObserveTextGenerator; import fr.ird.observe.client.configuration.ClientConfig; +import fr.ird.observe.client.constants.ConnexionStatus; import fr.ird.observe.client.constants.CreationMode; import fr.ird.observe.client.constants.DbMode; import fr.ird.observe.client.db.ObserveDataSourcesManager; import fr.ird.observe.client.db.ObserveSwingDataSource; -import fr.ird.observe.client.constants.ConnexionStatus; import fr.ird.observe.client.ui.ObserveKeyStrokes; import fr.ird.observe.client.ui.ObserveMainUI; import fr.ird.observe.client.ui.UIHelper; @@ -791,8 +791,10 @@ public class StorageUIHandler implements UIHandler<StorageUI> { } Boolean apply = (Boolean) abstractButton.getClientProperty("apply"); if (apply != null && apply) { - SwingUtilities.invokeLater(ui.getNextAction()::doClick); - SwingUtilities.invokeLater(ui.getApplyAction()::doClick); + SwingUtilities.invokeLater(() -> { + ui.getNextAction().doClick(); + ui.getApplyAction().doClick(); + }); } } }; View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/fe160ecadc36da4d56a5f28794e8... --- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/fe160ecadc36da4d56a5f28794e8... You're receiving this email because of your account on gitlab.com.