KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > enhydra > barracuda > core > comp > renderer > html > EnabledHelper


1 /*
2  * Copyright (C) 2003 Christian Cryder [christianc@granitepeaks.com]
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * $Id: EnabledHelper.java,v 1.5 2004/02/01 05:16:27 christianc Exp $
19  */

20 package org.enhydra.barracuda.core.comp.renderer.html;
21
22 import java.util.*;
23
24 import org.w3c.dom.*;
25 import org.w3c.dom.html.*;
26
27 import org.enhydra.barracuda.core.comp.*;
28 import org.enhydra.barracuda.core.comp.renderer.*;
29
30 /**
31  * This class makes sure that components are rendered properly
32  * for enabled or disabled states
33  */

34 public class EnabledHelper extends DOMComponentRenderer {
35
36     /**
37      * For given elements, set their disabled attribute
38      */

39     public void setEnabled(Node node, boolean enabled) {
40
41         //..HTMLAnchorElement - clear the "href" and "target" attributes
42
if (node instanceof HTMLAnchorElement) {
43             Element el = (Element) node;
44             if (!enabled) el.removeAttribute("href");
45             if (!enabled) el.removeAttribute("target");
46
47         //..HTMLButtonElement - set the "disabled" attribute
48
} else if (node instanceof HTMLButtonElement) {
49             ((HTMLButtonElement) node).setDisabled(!enabled);
50
51         //..HTMLInputElement - set the "disabled" attribute
52
} else if (node instanceof HTMLInputElement) {
53             ((HTMLInputElement) node).setDisabled(!enabled);
54
55         //..HTMLOptGroupElement - set the "disabled" attribute
56
} else if (node instanceof HTMLOptGroupElement) {
57             ((HTMLOptGroupElement) node).setDisabled(!enabled);
58
59         //..HTMLOptionElement - set the "disabled" attribute
60
} else if (node instanceof HTMLOptionElement) {
61             ((HTMLOptionElement) node).setDisabled(!enabled);
62
63         //..HTMLSelectElement - set the "disabled" attribute
64
} else if (node instanceof HTMLSelectElement) {
65             ((HTMLSelectElement) node).setDisabled(!enabled);
66
67         //..HTMLStyleElement - set the "disabled" attribute
68
} else if (node instanceof HTMLStyleElement) {
69             ((HTMLStyleElement) node).setDisabled(!enabled);
70
71         //..HTMLTextAreaElement - set the "disabled" attribute
72
} else if (node instanceof HTMLTextAreaElement) {
73             ((HTMLTextAreaElement) node).setDisabled(!enabled);
74         }
75
76     }
77     
78 }
Popular Tags