branch develop updated (5a17dd9 -> 3ebd2ad)
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 5a17dd9 fixes #3468: Use JLayer instead of JXLayer (but requires to up jdk level to 1.7) Merge branch 'feature/3468' into develop new f2d018c Can now specify components to accept by their type (refs #3678) new 3ebd2ad fixes #3678: Authorize component by their type in BlockingLayerUI Merge branch 'feature/3678' into develop The 2 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 3ebd2added31316249ab7c8438141f435605358c Merge: 5a17dd9 f2d018c Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Apr 22 18:41:14 2015 +0200 fixes #3678: Authorize component by their type in BlockingLayerUI Merge branch 'feature/3678' into develop commit f2d018c61c48b7ef812aab828452ae0e5c847ad9 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: .../jaxx/swing/extra/layer/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 develop in repository jaxx. See http://git.nuiton.org/jaxx.git commit f2d018c61c48b7ef812aab828452ae0e5c847ad9 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) --- .../jaxx/swing/extra/layer/BlockingLayerUI.java | 143 +++++++++++---------- 1 file changed, 73 insertions(+), 70 deletions(-) diff --git a/jaxx-swing-extra/src/main/java/org/nuiton/jaxx/swing/extra/layer/BlockingLayerUI.java b/jaxx-swing-extra/src/main/java/org/nuiton/jaxx/swing/extra/layer/BlockingLayerUI.java index 8061ca5..71099b3 100644 --- a/jaxx-swing-extra/src/main/java/org/nuiton/jaxx/swing/extra/layer/BlockingLayerUI.java +++ b/jaxx-swing-extra/src/main/java/org/nuiton/jaxx/swing/extra/layer/BlockingLayerUI.java @@ -36,13 +36,15 @@ 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.beans.PropertyChangeEvent; 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 @@ -100,10 +102,25 @@ public class BlockingLayerUI extends LayerUI<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); } @@ -199,21 +216,10 @@ public class BlockingLayerUI extends LayerUI<JComponent> { protected void processKeyEvent(KeyEvent e, JLayer<? 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(); - } } } @@ -222,20 +228,10 @@ public class BlockingLayerUI extends LayerUI<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(); - } } } @@ -255,35 +251,23 @@ public class BlockingLayerUI extends LayerUI<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; } + } } @@ -294,27 +278,46 @@ public class BlockingLayerUI extends LayerUI<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>.
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 3ebd2added31316249ab7c8438141f435605358c Merge: 5a17dd9 f2d018c Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Apr 22 18:41:14 2015 +0200 fixes #3678: Authorize component by their type in BlockingLayerUI Merge branch 'feature/3678' into develop .../jaxx/swing/extra/layer/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>.
participants (1)
-
nuiton.org scm