branch develop-2.x updated (5ccb898 -> b2cfbb8)
This is an automated email from the git hooks/post-receive script. New change to branch develop-2.x in repository jaxx. See http://git.nuiton.org/jaxx.git from 5ccb898 Got some ui error while opening the ActionUI (so swallow any exception while opening ActionUI). Fixes #3774 Merge branch 'feature/3774' into develop-2.x new b2cfbb8 Having the choice of the wildcard character in the filterable combobox fixes #3776 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 b2cfbb8a463b826c532044cb6241fce903886e1a Author: Kevin Morin <morin@codelutin.com> Date: Mon Sep 7 15:14:49 2015 +0200 Having the choice of the wildcard character in the filterable combobox fixes #3776 Summary of changes: .../swing/model/JaxxFilterableComboBoxModel.java | 40 +++++++++++++++++----- 1 file changed, 32 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-2.x in repository jaxx. See http://git.nuiton.org/jaxx.git commit b2cfbb8a463b826c532044cb6241fce903886e1a Author: Kevin Morin <morin@codelutin.com> Date: Mon Sep 7 15:14:49 2015 +0200 Having the choice of the wildcard character in the filterable combobox fixes #3776 --- .../swing/model/JaxxFilterableComboBoxModel.java | 40 +++++++++++++++++----- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/jaxx-runtime/src/main/java/jaxx/runtime/swing/model/JaxxFilterableComboBoxModel.java b/jaxx-runtime/src/main/java/jaxx/runtime/swing/model/JaxxFilterableComboBoxModel.java index c35d81f..fffc405 100644 --- a/jaxx-runtime/src/main/java/jaxx/runtime/swing/model/JaxxFilterableComboBoxModel.java +++ b/jaxx-runtime/src/main/java/jaxx/runtime/swing/model/JaxxFilterableComboBoxModel.java @@ -24,15 +24,16 @@ package jaxx.runtime.swing.model; import com.google.common.base.Predicate; import com.google.common.collect.Lists; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.JXPathDecorator; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.regex.Pattern; + /** * ComboBoxModel which can filter the elements displayed in the popup. * @@ -46,10 +47,14 @@ public class JaxxFilterableComboBoxModel<E> extends JaxxDefaultComboBoxModel<E> /** Logger. */ private static final Log log = LogFactory.getLog(JaxxFilterableComboBoxModel.class); + public static final Character DEFAULT_WILDCARD_CHARACTER = '*'; + protected List<E> filteredItems = Lists.newArrayList(); protected String filterText; + protected Character wildcardCharacter = DEFAULT_WILDCARD_CHARACTER; + /** the decorator of data */ protected JXPathDecorator<E> decorator; @@ -143,6 +148,16 @@ public class JaxxFilterableComboBoxModel<E> extends JaxxDefaultComboBoxModel<E> refilter(); } + public Character getWildcardCharacter() { + return wildcardCharacter; + } + + public void setWildcardCharacter(Character wildcardCharacter) { + this.wildcardCharacter = wildcardCharacter; + refilter(); + + } + public JXPathDecorator<E> getDecorator() { return decorator; } @@ -173,16 +188,25 @@ public class JaxxFilterableComboBoxModel<E> extends JaxxDefaultComboBoxModel<E> protected void refilter() { filteredItems.clear(); - if (StringUtils.isEmpty(StringUtils.remove(filterText, '*')) + if ((StringUtils.isEmpty(filterText) + || wildcardCharacter != null && StringUtils.isEmpty(StringUtils.remove(filterText, wildcardCharacter))) && filters.isEmpty()) { filteredItems.addAll(delegate); } else { Pattern pattern = null; if (!StringUtils.isBlank(filterText)) { - String patternText = Pattern.quote(filterText).replace("*", "\\E.*\\Q") + ".*"; - pattern = Pattern.compile(patternText, Pattern.CASE_INSENSITIVE); + String patternText= Pattern.quote(filterText); + + if (wildcardCharacter == null) { + patternText = ".*" + patternText; + + } else { + patternText = patternText.replace(wildcardCharacter.toString(), "\\E.*\\Q"); + } + pattern = Pattern.compile(patternText + ".*", Pattern.CASE_INSENSITIVE); } + for (E element : delegate) { boolean addElement = true; for (Predicate<E> filter : filters) { @@ -203,7 +227,7 @@ public class JaxxFilterableComboBoxModel<E> extends JaxxDefaultComboBoxModel<E> } if (log.isInfoEnabled()) { - log.info("After refilter, nb items: "+getSize()); + log.info("After refilter, nb items: " + getSize()); } fireContentsChanged(this, 0, getSize()); -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm