01: /*
02: ItsNat Java Web Application Framework
03: Copyright (C) 2007 Innowhere Software Services S.L., Spanish Company
04: Author: Jose Maria Arranz Santamaria
05:
06: This program is free software: you can redistribute it and/or modify
07: it under the terms of the GNU Affero General Public License as published by
08: the Free Software Foundation, either version 3 of the License, or
09: (at your option) any later version. See the GNU Affero General Public
10: License for more details. See the copy of the GNU Affero General Public License
11: included in this program. If not, see <http://www.gnu.org/licenses/>.
12: */
13:
14: package org.itsnat.impl.comp.html.ui;
15:
16: import org.itsnat.comp.html.ItsNatHTMLElementComponent;
17: import org.itsnat.comp.html.ItsNatHTMLSelect;
18: import org.itsnat.comp.html.ui.ItsNatHTMLSelectUI;
19: import org.itsnat.impl.comp.html.ItsNatHTMLSelectImpl;
20: import org.itsnat.impl.comp.ui.ItsNatListUIImpl;
21: import org.itsnat.impl.core.domutil.ElementListBaseImpl;
22: import org.itsnat.impl.core.domutil.ElementListFreeMasterImpl;
23: import org.itsnat.impl.core.domutil.ElementListImpl;
24: import org.w3c.dom.Document;
25: import org.w3c.dom.Element;
26: import org.w3c.dom.html.HTMLElement;
27: import org.w3c.dom.html.HTMLOptionElement;
28: import org.w3c.dom.html.HTMLSelectElement;
29:
30: /**
31: *
32: * @author jmarranz
33: */
34: public abstract class ItsNatHTMLSelectUIImpl extends ItsNatListUIImpl
35: implements ItsNatHTMLSelectUI {
36: /**
37: * Creates a new instance of ItsNatHTMLSelectUIImpl
38: */
39: public ItsNatHTMLSelectUIImpl(ItsNatHTMLSelectImpl parentComp) {
40: super (parentComp);
41:
42: // Pasamos directamente el pattern para que no haya necesidad de poner un <option> pattern en el template
43: Document doc = getItsNatDocumentImpl().getDocument();
44: HTMLOptionElement newOption = (HTMLOptionElement) doc
45: .createElement("option"); // ItsNatDOMUtil.createElement("option","Option",doc);
46:
47: this .elementList = getItsNatDocumentImpl()
48: .createElementListInternal(getHTMLSelectElement(),
49: newOption, false, null, true, null, null);
50: }
51:
52: public ItsNatHTMLSelect getItsNatHTMLSelect() {
53: return (ItsNatHTMLSelect) parentComp;
54: }
55:
56: public HTMLSelectElement getHTMLSelectElement() {
57: return getItsNatHTMLSelect().getHTMLSelectElement();
58: }
59:
60: public Element getContentElementAt(int index, Element optionElem) {
61: return optionElem;
62: }
63:
64: public HTMLOptionElement getHTMLOptionElementAt(int index) {
65: return (HTMLOptionElement) getElementAt(index);
66: }
67:
68: public ItsNatHTMLElementComponent getItsNatHTMLElementComponent() {
69: return (ItsNatHTMLElementComponent) parentComp;
70: }
71:
72: public boolean isEnabled() {
73: HTMLSelectElement element = getHTMLSelectElement();
74: return !element.getDisabled();
75: }
76:
77: public void setEnabled(boolean b) {
78: HTMLSelectElement element = getHTMLSelectElement();
79: element.setDisabled(!b);
80: }
81: }
|