branch develop updated (31ce2dc -> b15436d)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository jaxx. See https://gitlab.nuiton.org/nuiton/jaxx.git from 31ce2dc update readme new b15436d Be able to force the selected item in BeanComboBox (report from 2.x) (Closes #1902) The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit b15436df552a0f34c89ddceddf0e7474160e10eb Author: Tony CHEMIT <dev@tchemit.fr> Date: Wed Mar 8 16:31:06 2017 +0100 Be able to force the selected item in BeanComboBox (report from 2.x) (Closes #1902) Summary of changes: .../nuiton/jaxx/widgets/select/BeanComboBox.jaxx | 2 ++ .../jaxx/widgets/select/BeanComboBoxHandler.java | 22 ++++++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository jaxx. See https://gitlab.nuiton.org/nuiton/jaxx.git commit b15436df552a0f34c89ddceddf0e7474160e10eb Author: Tony CHEMIT <dev@tchemit.fr> Date: Wed Mar 8 16:31:06 2017 +0100 Be able to force the selected item in BeanComboBox (report from 2.x) (Closes #1902) --- .../nuiton/jaxx/widgets/select/BeanComboBox.jaxx | 2 ++ .../jaxx/widgets/select/BeanComboBoxHandler.java | 22 ++++++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/jaxx-widgets-select/src/main/java/org/nuiton/jaxx/widgets/select/BeanComboBox.jaxx b/jaxx-widgets-select/src/main/java/org/nuiton/jaxx/widgets/select/BeanComboBox.jaxx index 971fa01..dd32109 100644 --- a/jaxx-widgets-select/src/main/java/org/nuiton/jaxx/widgets/select/BeanComboBox.jaxx +++ b/jaxx-widgets-select/src/main/java/org/nuiton/jaxx/widgets/select/BeanComboBox.jaxx @@ -86,6 +86,8 @@ <String id='i18nPrefix' javaBean='"entitycombobox.common."'/> + <Boolean id='force' javaBean='false'/> + <!-- popup to change sorted property--> <JPopupMenu id='popup' onPopupMenuWillBecomeInvisible='getChangeDecorator().setSelected(false)' diff --git a/jaxx-widgets-select/src/main/java/org/nuiton/jaxx/widgets/select/BeanComboBoxHandler.java b/jaxx-widgets-select/src/main/java/org/nuiton/jaxx/widgets/select/BeanComboBoxHandler.java index 7b9a064..802d04a 100644 --- a/jaxx-widgets-select/src/main/java/org/nuiton/jaxx/widgets/select/BeanComboBoxHandler.java +++ b/jaxx-widgets-select/src/main/java/org/nuiton/jaxx/widgets/select/BeanComboBoxHandler.java @@ -30,14 +30,12 @@ import org.nuiton.decorator.DecoratorUtil; import org.nuiton.decorator.JXPathDecorator; import org.nuiton.decorator.MultiJXPathDecorator; import org.nuiton.jaxx.runtime.spi.UIHandler; -import org.nuiton.jaxx.runtime.swing.SwingUtil; import org.nuiton.jaxx.runtime.swing.JAXXButtonGroup; +import org.nuiton.jaxx.runtime.swing.SwingUtil; import org.nuiton.jaxx.runtime.swing.renderer.DecoratorListCellRenderer; import org.nuiton.util.beans.BeanUtil; -import javax.swing.JComboBox; -import javax.swing.JComponent; -import javax.swing.JPopupMenu; +import javax.swing.*; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; import javax.swing.text.Document; @@ -49,6 +47,7 @@ import java.beans.PropertyChangeListener; import java.lang.reflect.Method; import java.util.Collections; import java.util.List; +import java.util.Objects; /** * Le handler d'un {@link BeanComboBox}. @@ -144,13 +143,18 @@ public class BeanComboBoxHandler<O> implements PropertyChangeListener, UIHandler public void popupMenuWillBecomeInvisible(PopupMenuEvent e) { O newSelectedItem = (O) combobox.getSelectedItem(); + log.debug(String.format("old ui value: %s, new value: %s :: %s", ui.getSelectedItem(), newSelectedItem, Objects.equals(ui.getSelectedItem(), newSelectedItem))); + log.debug(String.format("old value: %s, new value: %s :: %s", selectedItem, newSelectedItem, Objects.equals(selectedItem, newSelectedItem))); + if (canceled) { ui.setSelectedItem(null); - } else if ((newSelectedItem == null ^ selectedItem == null) - || (newSelectedItem != null - && !selectedItem.equals(newSelectedItem))) { - ui.setSelectedItem(newSelectedItem); + } else { + + if (ui.isForce()) { + ui.setSelectedItem(null); + } + setSelectedItem(selectedItem, newSelectedItem); } selectedItem = null; canceled = false; @@ -434,6 +438,8 @@ public class BeanComboBoxHandler<O> implements PropertyChangeListener, UIHandler * @param newValue la nouvelle valeur */ protected void setSelectedItem(O oldValue, O newValue) { + log.debug(String.format("old value: %s, new value: %s", oldValue, newValue)); + if (ui.getBean() == null) { return; } -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm