branch develop updated (3b49b43 -> 13a6581)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository jaxx. See http://git.nuiton.org/jaxx.git from 3b49b43 refs #3580 improve enabled new 13a6581 fixes #3583: Pass a predicate to BooleanCellRenderer 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 13a6581dde15969d9cf2ecb686be3169faf86335 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 29 14:27:06 2014 +0100 fixes #3583: Pass a predicate to BooleanCellRenderer Summary of changes: .../src/main/java/jaxx/runtime/SwingUtil.java | 6 +++ .../swing/renderer/BooleanCellRenderer.java | 46 +++++++++++++++++----- 2 files changed, 42 insertions(+), 10 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 http://git.nuiton.org/jaxx.git commit 13a6581dde15969d9cf2ecb686be3169faf86335 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 29 14:27:06 2014 +0100 fixes #3583: Pass a predicate to BooleanCellRenderer --- .../src/main/java/jaxx/runtime/SwingUtil.java | 6 +++ .../swing/renderer/BooleanCellRenderer.java | 46 +++++++++++++++++----- 2 files changed, 42 insertions(+), 10 deletions(-) diff --git a/jaxx-runtime/src/main/java/jaxx/runtime/SwingUtil.java b/jaxx-runtime/src/main/java/jaxx/runtime/SwingUtil.java index a9911a6..3168bbe 100644 --- a/jaxx-runtime/src/main/java/jaxx/runtime/SwingUtil.java +++ b/jaxx-runtime/src/main/java/jaxx/runtime/SwingUtil.java @@ -21,6 +21,7 @@ */ package jaxx.runtime; +import com.google.common.base.Predicate; import jaxx.runtime.swing.Item; import jaxx.runtime.swing.JAXXComboBox; import jaxx.runtime.swing.editor.BooleanCellEditor; @@ -1032,6 +1033,11 @@ public class SwingUtil extends JAXXUtil { return new BooleanCellRenderer(renderer); } + public static TableCellRenderer newBooleanTableCellRenderer( + TableCellRenderer renderer, Predicate<?> predicate) { + return new BooleanCellRenderer(renderer, predicate); + } + public static TableCellRenderer newBooleanTableCellEditorAndRenderer( TableCellRenderer renderer) { return new BooleanCellEditor(renderer); diff --git a/jaxx-runtime/src/main/java/jaxx/runtime/swing/renderer/BooleanCellRenderer.java b/jaxx-runtime/src/main/java/jaxx/runtime/swing/renderer/BooleanCellRenderer.java index d35759c..e62383e 100644 --- a/jaxx-runtime/src/main/java/jaxx/runtime/swing/renderer/BooleanCellRenderer.java +++ b/jaxx-runtime/src/main/java/jaxx/runtime/swing/renderer/BooleanCellRenderer.java @@ -21,6 +21,8 @@ */ package jaxx.runtime.swing.renderer; +import com.google.common.base.Predicate; + import javax.swing.Icon; import javax.swing.JCheckBox; import javax.swing.JComponent; @@ -39,25 +41,46 @@ public class BooleanCellRenderer extends JPanel implements TableCellRenderer { private static final long serialVersionUID = 1L; - protected TableCellRenderer defaultDelegate; + protected final TableCellRenderer defaultDelegate; + + protected final JCheckBox checkBox; + + private final Predicate predicate; + + private static final Predicate<Object> DEFAULT_PREDICATE = new Predicate<Object>() { + @Override + public boolean apply(Object input) { + return (input != null && (Boolean) input); + } + }; - protected JCheckBox checkBox; + public BooleanCellRenderer(TableCellRenderer delegate, Predicate<?> predicate) { + this(delegate, new JCheckBox(), predicate); + } public BooleanCellRenderer(TableCellRenderer delegate) { //super(new BorderLayout()); - this.checkBox = new JCheckBox(); - checkBox.setHorizontalAlignment(JLabel.CENTER); - checkBox.setBorderPainted(true); - this.defaultDelegate = delegate; + this(delegate, DEFAULT_PREDICATE); + + } + + public BooleanCellRenderer(TableCellRenderer delegate, Icon icon, Predicate<?> predicate) { + this(delegate, new JCheckBox(icon), predicate); } public BooleanCellRenderer(TableCellRenderer delegate, Icon icon) { //super(new BorderLayout()); - this.checkBox = new JCheckBox(icon); - checkBox.setHorizontalAlignment(JLabel.CENTER); + this(delegate, icon, DEFAULT_PREDICATE); checkBox.setVerticalTextPosition(JLabel.TOP); - checkBox.setBorderPainted(true); + + } + + public BooleanCellRenderer(TableCellRenderer delegate, JCheckBox checkBox, Predicate<?> predicate) { this.defaultDelegate = delegate; + this.predicate = predicate; + this.checkBox = checkBox; + this.checkBox.setBorderPainted(true); + this.checkBox.setHorizontalAlignment(JLabel.CENTER); } @Override @@ -75,7 +98,10 @@ public class BooleanCellRenderer extends JPanel implements TableCellRenderer { setBackground(Color.WHITE); } } - checkBox.setSelected((value != null && (Boolean) value)); + + boolean selectCheckBox = predicate.apply(value); + checkBox.setSelected(selectCheckBox); + setBorder(render.getBorder()); return checkBox; } -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm