aboutsummaryrefslogtreecommitdiff
path: root/devel/charva/files/patch-java_src_charva_awt_Component.java
blob: 9e28008e993ae1052db49918432fcf66100b6d22 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--- java/src/charva/awt/Component.java.orig	2016-06-20 12:40:44 UTC
+++ java/src/charva/awt/Component.java
@@ -118,6 +118,17 @@ public abstract class Component {
     }
 
     /**
+     * Determines whether this component will be displayed on the screen
+     * if it's displayable.
+     * @return <code>true</code> if the component and all of its ancestors
+     *          are visible, <code>false</code> otherwise
+     */
+    public boolean isRecursivelyVisible() {
+	Container parent = getParent();
+        return _visible && (parent == null || parent.isRecursivelyVisible());
+    }
+
+    /**
      * To be implemented by concrete subclasses.
      */
     public abstract void draw();
@@ -449,7 +460,7 @@ public abstract class Component {
      * traversal.
      */
     public boolean isFocusTraversable() {
-        return (_enabled && _visible);
+        return (_enabled && isRecursivelyVisible());
     }
 
     /**