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 54a56187e341dcf9117344bbaaf6200a5d565a8d Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Feb 9 17:57:48 2015 +0100 fixes #6626: [CAPTURE] écran résumé activer saisie par entrée --- .../tutti/ui/swing/util/catches/EnterWeightUI.jaxx | 6 +- .../swing/util/catches/EnterWeightUIHandler.java | 72 ++++++++++++++++++++-- 2 files changed, 70 insertions(+), 8 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUI.jaxx index cc4e08b..ca2c3f0 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUI.jaxx @@ -19,7 +19,7 @@ <http://www.gnu.org/licenses/gpl-3.0.html>. #L% --> -<JDialog id='dialog' layout='{new BorderLayout()}' minimumSize="{new Dimension(350,100)}" resizable="false" +<JDialog id='dialog' layout='{new BorderLayout()}' minimumSize="{new Dimension(350,100)}" resizable="false" implements='fr.ifremer.tutti.ui.swing.util.TuttiUI<TuttiUIContext, EnterWeightUIHandler>'> <import> fr.ifremer.tutti.type.WeightUnit; @@ -59,7 +59,7 @@ public Float openAndGetWeightValue(String weightLabel, Float originalWeight, Wei </row> </Table> <JPanel layout='{new GridLayout(1,0)}' constraints='BorderLayout.SOUTH'> - <JButton id='cancelButton' onActionPerformed='editor.getModel().setNumberValue(originalWeight); dispose();'/> - <JButton id='validateButton' onActionPerformed='dispose();'/> + <JButton id='cancelButton'/> + <JButton id='validateButton'/> </JPanel> </JDialog> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUIHandler.java index c28c88d..cc26339 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/catches/EnterWeightUIHandler.java @@ -25,13 +25,19 @@ package fr.ifremer.tutti.ui.swing.util.catches; import fr.ifremer.tutti.type.WeightUnit; import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; -import fr.ifremer.tutti.ui.swing.util.species.EnterMelagWeightUI; import jaxx.runtime.JAXXUtil; import jaxx.runtime.SwingUtil; import jaxx.runtime.validator.swing.SwingValidator; -import javax.swing.*; -import java.awt.*; +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JRootPane; +import javax.swing.KeyStroke; +import java.awt.Component; +import java.awt.event.ActionEvent; +import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; @@ -45,6 +51,10 @@ import static org.nuiton.i18n.I18n.t; */ public class EnterWeightUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, EnterWeightUI> { + public static final String CANCEL_ACTION = "cancelAction"; + + public static final String VALIDATE_ACTION = "validateAction"; + @Override public void onCloseUI() { } @@ -62,9 +72,60 @@ public class EnterWeightUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, @Override public void afterInit(EnterWeightUI ui) { + initUI(ui); + + Action cancelAction = new AbstractAction() { + + private static final long serialVersionUID = 1L; + + @Override + public void actionPerformed(ActionEvent e) { + + Float originalWeight = getUI().getOriginalWeight(); + getUI().editor.getModel().setNumberValue(originalWeight); + getUI().dispose(); + + } + }; + JButton cancelButton = ui.getCancelButton(); + + cancelAction.putValue(Action.SMALL_ICON, cancelButton.getIcon()); + cancelAction.putValue(Action.LARGE_ICON_KEY, cancelButton.getIcon()); + cancelAction.putValue(Action.ACTION_COMMAND_KEY, CANCEL_ACTION); + cancelAction.putValue(Action.NAME, cancelButton.getText()); + cancelAction.putValue(Action.SHORT_DESCRIPTION, cancelButton.getToolTipText()); + cancelAction.putValue(Action.MNEMONIC_KEY, cancelButton.getMnemonic()); + cancelButton.setAction(cancelAction); + + Action validateAction = new AbstractAction() { + + private static final long serialVersionUID = 1L; + + @Override + public void actionPerformed(ActionEvent e) { + + getUI().dispose(); + + } + }; + + JButton validateButton = ui.getValidateButton(); + validateAction.putValue(Action.SMALL_ICON, validateButton.getIcon()); + validateAction.putValue(Action.LARGE_ICON_KEY, validateButton.getIcon()); + validateAction.putValue(Action.ACTION_COMMAND_KEY, VALIDATE_ACTION); + validateAction.putValue(Action.NAME, validateButton.getText()); + validateAction.putValue(Action.SHORT_DESCRIPTION, validateButton.getToolTipText()); + validateAction.putValue(Action.MNEMONIC_KEY, validateButton.getMnemonic()); + validateButton.setAction(validateAction); + + JRootPane rootPane = ui.getRootPane(); + // add a auto-close action - ui.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put( - getConfig().getShortcutClosePopup(), "close"); + rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), CANCEL_ACTION); + rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), VALIDATE_ACTION); + + rootPane.getActionMap().put(CANCEL_ACTION, cancelAction); + rootPane.getActionMap().put(VALIDATE_ACTION, validateAction); ui.addWindowListener(new WindowAdapter() { @@ -74,6 +135,7 @@ public class EnterWeightUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, JAXXUtil.destroy(ui); } }); + initUI(ui); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.