branch support/2.x updated (333683b -> c5516e1)
This is an automated email from the git hooks/post-receive script. New change to branch support/2.x in repository jaxx. See http://git.nuiton.org/jaxx.git from 333683b jaxx-compiler tests are using jdk7 api new c5516e1 Can now specify components to accept by their type (refs #3678) 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 c5516e15bb2b078fae35847705f32546f9c4bb62 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Apr 22 18:41:09 2015 +0200 Can now specify components to accept by their type (refs #3678) Summary of changes: .../java/jaxx/runtime/swing/BlockingLayerUI.java | 143 +++++++++++---------- 1 file changed, 73 insertions(+), 70 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 support/2.x in repository jaxx. See http://git.nuiton.org/jaxx.git commit c5516e15bb2b078fae35847705f32546f9c4bb62 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Apr 22 18:41:09 2015 +0200 Can now specify components to accept by their type (refs #3678) --- .../java/jaxx/runtime/swing/BlockingLayerUI.java | 143 +++++++++++---------- 1 file changed, 73 insertions(+), 70 deletions(-) diff --git a/jaxx-runtime/src/main/java/jaxx/runtime/swing/BlockingLayerUI.java b/jaxx-runtime/src/main/java/jaxx/runtime/swing/BlockingLayerUI.java index 1729e0d..d9a9828 100644 --- a/jaxx-runtime/src/main/java/jaxx/runtime/swing/BlockingLayerUI.java +++ b/jaxx-runtime/src/main/java/jaxx/runtime/swing/BlockingLayerUI.java @@ -34,12 +34,14 @@ import java.awt.Graphics2D; import java.awt.Point; import java.awt.RenderingHints; import java.awt.event.ActionEvent; +import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.awt.event.MouseWheelEvent; import java.awt.image.BufferedImage; import java.util.Arrays; -import java.util.List; +import java.util.HashSet; +import java.util.Set; /** * A JXLayer ui implementation that permits to block a component but still @@ -96,10 +98,25 @@ public class BlockingLayerUI extends AbstractLayerUI<JComponent> { protected boolean block; /** Extra components names to accept even in block mode */ - protected List<String> acceptedComponentNames; + protected final Set<String> acceptedComponentNames; + + /** Extra components types to accept even in block mode */ + protected final Set<Class<?>> acceptedComponentTypes; + + public BlockingLayerUI() { + acceptedComponentNames = new HashSet<String>(); + acceptedComponentTypes = new HashSet<Class<?>>(); + } public void setAcceptedComponentNames(String... acceptedComponentNames) { - this.acceptedComponentNames = Arrays.asList(acceptedComponentNames); + this.acceptedComponentNames.clear(); + this.acceptedComponentNames.addAll(Arrays.asList(acceptedComponentNames)); + setDirty(true); + } + + public void setAcceptedComponentTypes(Class<?>... acceptedComponentTypes) { + this.acceptedComponentTypes.clear(); + this.acceptedComponentTypes.addAll(Arrays.asList(acceptedComponentTypes)); setDirty(true); } @@ -187,21 +204,10 @@ public class BlockingLayerUI extends AbstractLayerUI<JComponent> { protected void processKeyEvent(KeyEvent e, JXLayer<? extends JComponent> l) { if (useIcon) { e.consume(); - return; - } + } else if (block) { + + acceptEventOrConsumeIt(e); - if (block) { - Object source = e.getSource(); - if (!(source instanceof JComponent)) { - e.consume(); - return; - } - JComponent comp = (JComponent) source; - String compName = comp.getName(); - if (acceptedComponentNames == null || - !acceptedComponentNames.contains(compName)) { - e.consume(); - } } } @@ -210,20 +216,10 @@ public class BlockingLayerUI extends AbstractLayerUI<JComponent> { if (useIcon) { updateCanClickState(l, e); e.consume(); - } + } else if (block) { + + acceptEventOrConsumeIt(e); - if (block) { - Object source = e.getSource(); - if (!(source instanceof JComponent)) { - e.consume(); - return; - } - JComponent comp = (JComponent) source; - String compName = comp.getName(); - if (acceptedComponentNames == null || - !acceptedComponentNames.contains(compName)) { - e.consume(); - } } } @@ -243,35 +239,23 @@ public class BlockingLayerUI extends AbstractLayerUI<JComponent> { } break; } - } - if (useIcon) { - e.consume(); - return; - } + } else if (block) { + + if (acceptEventOrConsumeIt(e)) { + + switch (e.getID()) { + case MouseEvent.MOUSE_ENTERED: + break; + case MouseEvent.MOUSE_EXITED: + break; + case MouseEvent.MOUSE_CLICKED: + acceptEvent(e, l); + break; + } - if (block) { - Object source = e.getSource(); - if (!(source instanceof JComponent)) { - e.consume(); - return; - } - JComponent comp = (JComponent) source; - String compName = comp.getName(); - if (acceptedComponentNames == null || - !acceptedComponentNames.contains(compName)) { - e.consume(); - return; - } - switch (e.getID()) { - case MouseEvent.MOUSE_ENTERED: - break; - case MouseEvent.MOUSE_EXITED: - break; - case MouseEvent.MOUSE_CLICKED: - acceptEvent(e, l); - break; } + } } @@ -282,27 +266,46 @@ public class BlockingLayerUI extends AbstractLayerUI<JComponent> { if (useIcon) { e.consume(); - return; - } + } else if (block) { - if (block) { - Object source = e.getSource(); - if (!(source instanceof JComponent)) { - e.consume(); - return; + if (acceptEventOrConsumeIt(e)) { + acceptEvent(e, l); } - JComponent comp = (JComponent) source; - String compName = comp.getName(); - if (acceptedComponentNames == null || - !acceptedComponentNames.contains(compName)) { - e.consume(); - return; + + } + + } + + protected boolean acceptEventOrConsumeIt(InputEvent e) { + + Object source = e.getSource(); + + boolean accept = source instanceof JComponent; + if (accept) { + + JComponent component = (JComponent) source; + + accept = acceptedComponentNames.contains(component.getName()); + + if (!accept) { + + for (Class<?> acceptedComponentType : acceptedComponentTypes) { + accept = acceptedComponentType.isAssignableFrom(component.getClass()); + if (accept) { + break; + } + } + } - acceptEvent(e, l); + } + if (!accept) { + e.consume(); } + return accept; + } @Override -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm