From 422f80bac1cace72c7f9d1297280e4628d755b11 Mon Sep 17 00:00:00 2001 From: mdb Date: Mon, 18 Apr 2005 02:57:56 +0000 Subject: [PATCH] Allow applyToHierarchy() to be depth limited. git-svn-id: https://samskivert.googlecode.com/svn/trunk@1635 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- .../java/com/samskivert/swing/util/SwingUtil.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/projects/samskivert/src/java/com/samskivert/swing/util/SwingUtil.java b/projects/samskivert/src/java/com/samskivert/swing/util/SwingUtil.java index 02fa1ef6..bc942976 100644 --- a/projects/samskivert/src/java/com/samskivert/swing/util/SwingUtil.java +++ b/projects/samskivert/src/java/com/samskivert/swing/util/SwingUtil.java @@ -273,17 +273,27 @@ public class SwingUtil * and then all its descendants. */ public static void applyToHierarchy (Component comp, ComponentOp op) + { + applyToHierarchy(comp, Integer.MAX_VALUE, op); + } + + /** + * Apply the specified ComponentOp to the supplied component + * and then all its descendants, up to the specified maximum depth. + */ + public static void applyToHierarchy ( + Component comp, int depth, ComponentOp op) { if (comp == null) { return; } op.apply(comp); - if (comp instanceof Container) { + if (comp instanceof Container && --depth >= 0) { Container c = (Container) comp; int ccount = c.getComponentCount(); for (int ii = 0; ii < ccount; ii++) { - applyToHierarchy(c.getComponent(ii), op); + applyToHierarchy(c.getComponent(ii), depth, op); } } }