This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit 8320b30b95fc2b48a7c2e3142c73214e1d6fb7a5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 16 16:58:15 2014 +0100 renseigner automatiquement l'autre champs lors de la modification de l'un + amélioration css --- .../catches/species/ImportPupitriPopupUI.css | 10 ++- .../catches/species/ImportPupitriPopupUI.jaxx | 10 +-- .../species/ImportPupitriPopupUIHandler.java | 86 +++++++++++++++++++++- 3 files changed, 90 insertions(+), 16 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUI.css b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUI.css index a583c44..4630a75 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUI.css +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUI.css @@ -20,6 +20,12 @@ * #L% */ +FileEditor { + showReset:true; + directoryEnabled: false; + acceptAllFileFilterUsed: false; +} + #importPupitriDialog { modal: true; title: "tutti.importPupitri.title"; @@ -31,10 +37,8 @@ } #trunkFile { - directoryEnabled: false; exts: {t("tutti.importPupitri.trunkFile.extension")}; extsDescription: {t("tutti.importPupitri.trunkFile.extension.description")}; - acceptAllFileFilterUsed: false; } #carrouselFileLabel { @@ -43,10 +47,8 @@ } #carrouselFile { - directoryEnabled: false; exts: {t("tutti.importPupitri.carrouselFile.extension")}; extsDescription: {t("tutti.importPupitri.carrouselFile.extension.description")}; - acceptAllFileFilterUsed: false; } #cancelButton { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUI.jaxx index 504f775..c6db5c9 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUI.jaxx @@ -26,8 +26,6 @@ fr.ifremer.tutti.ui.swing.util.TuttiUIUtil jaxx.runtime.swing.editor.FileEditor - org.jdesktop.swingx.JXTitledPanel - javax.swing.JComponent </import> <script><![CDATA[ @@ -42,10 +40,6 @@ public void open() { } ]]></script> - <!-- if true, display the form to add attachments - and the button to remove existing attachments --> - <Boolean id='editable' javaBean='true'/> - <Table id='mainPanel' fill='both'> <row> @@ -53,7 +47,7 @@ public void open() { <JLabel id='trunkFileLabel'/> </cell> <cell weightx='1'> - <FileEditor id='trunkFile'/> + <FileEditor id='trunkFile' onActionPerformed='handler.updateCarrouselFile()'/> </cell> </row> @@ -62,7 +56,7 @@ public void open() { <JLabel id='carrouselFileLabel'/> </cell> <cell weightx='1'> - <FileEditor id='carrouselFile'/> + <FileEditor id='carrouselFile' onActionPerformed='handler.updateTrunkFile()'/> </cell> </row> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUIHandler.java index dbbec94..0cb0e8a 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriPopupUIHandler.java @@ -22,11 +22,15 @@ package fr.ifremer.tutti.ui.swing.content.operation.catches.species; * #L% */ +import com.google.common.io.Files; import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; import jaxx.runtime.SwingUtil; import jaxx.runtime.spi.UIHandler; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import javax.swing.JOptionPane; +import java.io.File; import static org.nuiton.i18n.I18n.t; @@ -37,6 +41,9 @@ import static org.nuiton.i18n.I18n.t; */ public class ImportPupitriPopupUIHandler implements UIHandler<ImportPupitriPopupUI> { + /** Logger. */ + private static final Log log = LogFactory.getLog(ImportPupitriPopupUIHandler.class); + protected ImportPupitriPopupUI ui; @Override @@ -52,9 +59,72 @@ public class ImportPupitriPopupUIHandler implements UIHandler<ImportPupitriPopup ui.setResizable(true); } - protected void resetFields() { - ui.getTrunkFile().setSelectedFilePath(null); - ui.getCarrouselFile().setSelectedFilePath(null); + private boolean objectIsAdjusting; + + public void updateTrunkFile() { + + if (objectIsAdjusting) { + // avoid re-entrant code + return; + } + File carrouselFile = ui.getCarrouselFile().getSelectedFile(); + + if (carrouselFile != null) { + String nameWithoutExtension = Files.getNameWithoutExtension(carrouselFile.getName()); + File trunkFile = new File(carrouselFile.getParentFile(), nameWithoutExtension + ".tnk"); + if (trunkFile.exists()) { + + if (log.isInfoEnabled()) { + log.info("Select from carrousel file, trunk file: " + trunkFile); + } + + objectIsAdjusting = true; + try { + ui.getTrunkFile().setSelectedFile(trunkFile); + } finally { + objectIsAdjusting = false; + } + + } else { + if (log.isDebugEnabled()) { + log.debug("No trunk file at " + trunkFile); + } + } + } + + } + + public void updateCarrouselFile() { + + if (objectIsAdjusting) { + // avoid re-entrant code + return; + } + + File trunkFile = ui.getTrunkFile().getSelectedFile(); + if (trunkFile != null) { + String nameWithoutExtension = Files.getNameWithoutExtension(trunkFile.getName()); + File carrouselFile = new File(trunkFile.getParentFile(), nameWithoutExtension + ".car"); + if (carrouselFile.exists()) { + + if (log.isInfoEnabled()) { + log.info("Select from trunk file, carrousel file: " + carrouselFile); + } + + objectIsAdjusting = true; + try { + ui.getCarrouselFile().setSelectedFile(carrouselFile); + } finally { + objectIsAdjusting = false; + } + + } else { + if (log.isDebugEnabled()) { + log.debug("No carrousel file at " + carrouselFile); + } + } + } + } public void open() { @@ -70,7 +140,10 @@ public class ImportPupitriPopupUIHandler implements UIHandler<ImportPupitriPopup public void validate() { if (ui.getTrunkFile().getSelectedFile() != null - && ui.getCarrouselFile().getSelectedFile() != null) { + && ui.getTrunkFile().getSelectedFile().exists() + && ui.getCarrouselFile().getSelectedFile() != null + && ui.getCarrouselFile().getSelectedFile().exists()) { + ui.dispose(); } else { @@ -81,4 +154,9 @@ public class ImportPupitriPopupUIHandler implements UIHandler<ImportPupitriPopup } } + protected void resetFields() { + ui.getTrunkFile().setSelectedFilePath(null); + ui.getCarrouselFile().setSelectedFilePath(null); + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.